mechawallet_
Your agent's wallet

Funding and burning#

In the dashboard the button says Close: what is left goes to your address and the wallet stops. Over the API and in the events it is burn; both words mean the same thing.

A wallet opens empty and closes by burning. Between the two, money goes in through one door, Send money to, and comes out one of three ways: your agent spends it, you move it to another of your wallets, or you burn the wallet and the rest goes to your burn address.

What this costs

Sending money to a wallet through its link costs one cent on top of the amount, paid by the sender; the wallet receives the amount whole. Moving money between your own wallets costs one cent. Burning is free. The numbers on this page come from the price list, which is also GET /v1/costs.

Send money to#

Every wallet has a funding link per amount. It is an ordinary checkout whose payee is the wallet, so anything that can pay a checkout can fund a wallet:

  • A browser wallet on this desktop. Open the link; the pay page fills the transfer in and you confirm. MetaMask on Base, Phantom on Solana.
  • A phone. Scan the QR from a laptop, or open the link on the phone and press the wallet app's button.
  • An agent. pay_x402(url) on the funding link pays it from another of your wallets or from anyone's agent wallet. This is how a colleague's agent tops up yours.
  • A plain transfer. The address is on the sheet and on the page. USDC only, on the wallet's own chain; anything else sent there is lost.
  • A card, where the deployment names a card provider. The sheet's card door opens the provider with this wallet, the chain and the amount filled in; the provider's fee is the provider's, and not every country is served. Without one, an exchange that withdraws USDC to Base or Solana is the way in.

The links live on the wallet's card, on its public page at /fund/{address} (no sign-in needed, so you can send the page to whoever pays), and over the API:

GET /v1/spending-wallets/{wallet}/funding?amount=5.00

Over MCP the same answer is spending_funding_link. It returns the checkout URL, the QR, the plain address and the app links, and a fresh link is made the first time an amount is asked for. Funding links never show in the directory, in your catalogue or on your profile; they are yours to hand out.

When the wallet wakes#

A new wallet can receive money and rehearse on /test checkouts, but its key pays only once the wallet has held one dollar. Below that line it sleeps. The line is on the card, in spending_budget and in every refusal, so an agent knows why a call was declined and what would change it. Your first three wallets are free; from the fourth on, the opening fee is taken from the wallet itself the first time it holds a dollar, and the card says so before you fund it.

Moving money between your wallets#

Move to on the card, spending_transfer over MCP, or:

POST /v1/spending-wallets/{wallet}/transfer
{"to": "<wallet id, label or address>", "amount_usd": "1.00"}

The source wallet pays the target's funding link, so a transfer is a settlement like any other, with its own receipt. It is recorded as transferred on the source and received on the target, never as a purchase, and it does not touch your free payments. Both wallets must be on the same chain.

Burning#

When the job is done, Burn on the card. Burning does three things, in order:

  1. Collects what the wallet owes. An opening fee or payment fees not yet collected are taken first, so the service is paid before the money moves.
  2. Sends the rest to the burn address. The wallet's own if you gave it one, else its branch's, else your account's default for that chain. Gas is ours. From the dashboard you may name another address for that one burn; an agent never chooses the destination.
  3. Closes the wallet. Its key stops working, its funding links close, and it moves to the archive with its history and receipts intact.

Over MCP an agent may burn a wallet with spending_burn once a burn address exists, and a whole branch with spending_burn_branch. The API is POST /v1/spending-wallets/{wallet}/burn. A wallet that never reached a dollar is burned whole; it owes nothing.

Set the default burn address per chain under Account, Profile and page. It is an address you control, on that chain, and we never hold a key for it.

Reveal key and phrase#

The escape hatch. Reveal on the card shows the wallet's private key and, for wallets opened since phrases were stored, its recovery phrase. Import either into MetaMask or Phantom and move the money yourself. Reveal is session-only, never available to a key or an agent, and recorded on the wallet.

What is recorded#

Every wallet keeps its own stream: created, funded, activated, opening_fee, spent, refused, dormant_refused, transferred, moved, received, funding_checkout, burned, revealed, each with who did it. The dashboard shows it under Activity and Archive; GET /v1/spending-wallets/{wallet}/events and spending_wallet_events return the same list, and /events.csv exports it.