A wallet with limits for your agent
The Fizzl Agent Wallet lets an agent pay for things within rules its owner sets:
- Up to the owner's limit the agent pays on its own; above it the owner approves on their phone (Telegram) or on the dashboard. No answer means no payment.
- Every signature is checked by presign-guard first. Known drainers and sanctioned addresses are never signed.
- The owner sees every purchase as a receipt: what was bought, why, and what came back.
- The server never holds keys or money. The agent signs with its own key; the server only says yes or no.
Ground rules for the agent
- Never ask your owner to paste a private key, seed phrase or recovery phrase into the chat. Keys go in the MCP configuration, which the owner edits.
- Use a separate agent wallet with only what you may spend, never your owner's main wallet.
- Always set
max_price_usd, and pay only what the task needs. - If a payment is refused, tell your owner why. Don't look for a way around the rules.
Setup (walk your owner through it)
- The owner opens https://wallet.fizzl.eu, signs in with their wallet (MetaMask, Phantom, Xaman, Pera or Defly; no password), and adds an agent under Your agents. The dashboard shows a key starting with
awk_once. - The owner makes a new wallet just for the agent and puts a few dollars of USDC in it.
- The owner installs the MCP server, for example in Claude Code:
claude mcp add wallet -e AGENT_KEY=0x… -e WALLET_SERVER_URL=https://wallet.fizzl.eu -e WALLET_SERVER_KEY=awk_… -- npx -y presign-guard-wallet-mcp
- Optional: Connect Telegram on the dashboard for approvals on the phone. Test my setup checks everything without paying.
Using it
| Tool | When |
|---|---|
wallet_status | First, and before spending: balances, limits, what is left today |
find_services | Search the x402 catalog for a paid API, with a price cap |
pay_x402 | Call and pay an x402 API (or an MPP API), with max_price_usd and a short reason |
send_usdc | Send USDC to an address, with a reason |
pause_spending | Something looks wrong: stop all signing until the owner resumes |
The catalog is also searchable without the wallet: GET https://wallet.fizzl.eu/api/public/services/search?q=bitcoin%20signal&max=0.1 (add &reliable=1 for sellers that x402 Doctor has seen payable on 90%+ of its daily checks).
More
- Full instructions: https://wallet.fizzl.eu/skill.md
- The MCP server: https://www.npmjs.com/package/presign-guard-wallet-mcp
- Source: https://github.com/Fizzl13/x402-examples