Why Separate Wallets?
- Blast radius containment — a misbehaving role can only burn its own wallet, not others
- Clear audit trail — every transaction is attributed to a specific wallet address and role
- Per-role budgets — fund each wallet according to its purpose and risk
- Independent control — pause, drain, or shut down one wallet without touching the rest
Architecture Patterns
By Role
Different wallets for different purposes. Each wallet is funded and monitored independently.By Responsibility
One workflow, multiple wallets scoped by what each part of the workflow needs to do.By Scale
Many identical instances doing the same task in parallel, each with its own wallet.Setting Up Multiple Wallets
Each wallet requires its own District Pass account. A single CLI or MCP session authenticates one account at a time, so each wallet runs in a separate instance — a separate container, process, or machine.MCP Configuration
Every instance uses the same MCP server URL but authenticates with its own District Pass via OAuth PKCE:Budget Management
Apply the pocket money philosophy per wallet:
Fund individually. Each wallet gets only what its role needs.
Refill rather than pre-fund. Keep balances low and refill when needed. Each refill is a checkpoint to review activity.
Monitor on-chain. Check each wallet address on a block explorer to review spending patterns.
Monitoring
Each wallet has its own on-chain address, making monitoring straightforward:- Per-wallet activity — look up each address on the relevant block explorer
- Balance tracking — check balances via MCP, CLI, or block explorer
- Spending patterns — review transaction history to verify each role is operating within expectations