You give an agent Coinbase’s Agentic Wallet, through the awal CLI or through the payments MCP
server in Claude Desktop or another MCP client, and you want a dollar limit per payment and per
day on what it sends and pays. npx walletcap awal and npx walletcap awal-mcp run the wallet’s
CLI and MCP server through walletcap. Every send and x402 payment is checked against the
wallet’s budget before the wallet signs anything, and counted, whichever process, session or
machine makes it.
awal$ npm install walletcap awal
$ npx walletcap set --wallet 0xYourAgentWallet --per-payment 0.05 --per-day 0.15
$ npx walletcap awal x402 pay https://api.example.com/data # instead of: npx awal x402 pay …
$ npx walletcap awal send 0.05 0xRecipient --chain base # instead of: npx awal send …
send and x402 pay are checked and counted by walletcap. Every other command is the wallet’s
own.
Install Coinbase’s server once. It goes to ~/.payments-mcp, and walletcap runs
~/.payments-mcp/bundle.js from there. Run on its own, npx @coinbase/payments-mcp is the
installer:
$ npx @coinbase/payments-mcp install --client other --no-auto-config
Then start the server behind walletcap from the MCP client, Claude Desktop for example:
{ "mcpServers": { "payments": { "command": "npx", "args": ["walletcap", "awal-mcp", "--wallet", "0xYourAgentWallet"] } } }
send and make_http_request_with_x402 are checked against the wallet’s budget before the
wallet signs anything, and counted.trade or one the server adds later, is refused and left out of
the tool list, because walletcap can’t count it. --allow-tool <name> lets one through,
uncounted.--.npx walletcap release <id>.awal out of the agent’s reach.walletcap awal and walletcap awal-mcpThe test suite drives both commands against stand-ins for Coinbase’s wallet and MCP server. Among them:
npx walletcap awal: payments are counted, everything else is awal;npx walletcap awal-mcp: the MCP server answers, and payments past the cap never reach it.walletcap status, set, freeze, history and release