mechawallet_
Your agent's wallet

Connect Claude#

mechawallet speaks MCP, so Claude can pay from your wallet by asking. Connect it once and your agent buys x402 endpoints with one call, never touching a key, a chain or gas. Claude Code, the Claude apps, and every other MCP client work the same way; plain HTTP is the same API.

Which key#

Every wallet has its own key (mw_wallet_…) that pays from that wallet and nothing else. A branch has a key (mw_branch_…) that pays through the branch's rule and may open more wallets in it. An account key (mw_live_…) pays from any wallet and can open and burn them. Pick the narrowest one the job needs. Keys in the dashboard lists all three kinds, one section each: every wallet key, every branch key, and the account keys minted there. A wallet's card and a branch's row show their own key as well, so the key you need is never far from the thing it opens.

Claude (claude.ai)#

Settings, Connectors, Add custom connector, then paste:

https://api.mechawallet.com/mcp

Claude sends you to a consent screen with two doors:

  • Start without an account. The connection is made at once, with no email. Claude can search and inspect endpoints straight away, and the first time it needs a wallet it opens one for itself (spending_signup); the connection then acts for that new account, no key to paste. Nobody owns it yet: when you want the dashboard, the statement or the money out, ask Claude to hand it to you (spending_claim with your email) and sign in with that address.
  • Sign in with email. A magic link, then the same screen shows Connect as: your own account, or any organization you belong to, with your role. Tick the not-storage line if this account has not yet, and approve.

Later, whoami says which account the connection acts for and lists your organizations; switch_account("acme") moves the whole connection to one, switch_account("") brings it back to your own account, and account="acme" on any single call does it once. There is nothing to pre-register and no secret to paste: the server supports dynamic client registration and PKCE, and Claude discovers the endpoints itself. The connection renews itself; if it ever asks again, approve again.

Claude Code#

One command, in any repository:

claude mcp add --transport http mechawallet https://api.mechawallet.com/mcp \
  --header "Authorization: Bearer mw_wallet_…"

--transport http matters. Without it the CLI assumes stdio and tries to run the URL as a local program. Without the header, the first tool call opens a browser to approve, the same consent as the Claude apps; the header form is for anything headless (CI, a container, a scheduled job).

Any MCP client#

Cursor, Windsurf, Claude Desktop and your own client take the same JSON, a streamable HTTP server with the key in the Authorization header. The dashboard's Connect your agent page prints it filled in for each client, and the wallet card's MCP configuration tab prints it with the key:

{"mcpServers": {"mechawallet": {
  "type": "streamable-http",
  "url": "https://api.mechawallet.com/mcp",
  "headers": {"Authorization": "Bearer mw_wallet_…"}}}}

GitHub Copilot in VS Code reads .vscode/mcp.json instead, with a servers map and "type": "http"; the Connect page's GitHub Copilot tab prints that block. Start the server from the file's inline button and Copilot's agent mode lists the tools and asks you to sign in once.

{"servers": {"mechawallet": {
  "type": "http",
  "url": "https://api.mechawallet.com/mcp"}}}

What Claude can then do#

Spending tools first: spending_budget says which wallet this key pays from, whether it is ready, its rules, the fee rule and the free payments left; pay_x402(url) pays any x402 URL and returns the goods with a receipt; search_endpoints(query) lists what it can buy with verified prices and reviews. Then the wallet's life: spending_open_wallet, branches, funding links, transfers, spending_burn, stats and costs, and support_open_thread when something needs a person. The full list is in MCP tools.

Try it with the rehearsal line the dashboard shows after funding, then ask for anything real:

Buy this for me from my research wallet, up to $0.10: https://api.mechawallet.com/c/chk_…/test

Find a weather endpoint under five cents and get me Lisbon's forecast.

What Claude cannot do#

Reveal a key or a phrase, set a burn address, or take money out. Those are yours alone, in the dashboard; when a tool needs one it answers needs_person with the step and the link, and Claude should relay it and stop. A frozen account's payments are refused with the reason and a pointer at support.

tools/list needs no auth

Claude can see what the server offers before you connect. Only calls that touch your account need a key or a token.

No Claude? Same API#

Every MCP tool is a thin wrapper over the REST API. curl and the mw CLI reach exactly the same endpoints; see Automate spending and the API reference.

ChatGPT and other MCP clients#

ChatGPT, Cursor, Windsurf and any client that speaks MCP over HTTP connect the same way: add an MCP server at https://api.mechawallet.com/mcp. In ChatGPT it is a connector under Settings, Connectors (developer mode has to be on for a custom server); sign in when it asks and approve the wallet's tools once. Clients that cannot sign in take a wallet key instead: paste it as the Authorization: Bearer header. Either way the assistant gets the tools, never the key, and pays from the wallet the credential names.