# Wallet MCP tools

The wallet MCP tools an agent sees.

The hosted wallet MCP and the local (stdio) wallet share these tools. Within this tool set, `pay_intent` executes service payment intents. Service servers can also charge within an approved mandate; SDK transfers use a separate flow.

**Source**
Generated from agent-pay `2d37041`.

| Tool | Arguments | Description |
|---|---|---|
| `wallet_login` | - | Sign up or sign in and connect Pouchi. The user finishes on the approval screen. |
| `wallet_status` | - | Wallet address, balance, and the mandates the user approved. |
| `pay_intent` | `intent_url`: string | Runs an intent (intent_url) built by a registered service. The first time, the user approves its mandate once; later runs inside it need no prompt. |
| `change_mandate` | `intent_url`: string | Applies a mandate change intent (extend, raise a limit) after the user approves. The scope does not change. |
| `my_budget` | - | Mandates the user approved: service, remaining limit and runs, period, history. |
| `my_payments` | - | Recent payments (agent runs and service charges, with receipts). |
| `revoke_mandate` | `mandate_id`?: string, `mandate_key`?: string | Revokes a mandate. Agent and service payments stop at once; it turns off on chain once the user approves. |
| `wallet_disconnect` | - | Disconnects the Pouchi wallet: the connection is revoked, so agents connected to this wallet can no longer pay (other agents connected to the same wallet are disconnected too). Permissions the user already approved stay on chain (unused while disconnected) until the user turns them off in Payment history and permissions. Connect again to use them again. |
| `payment_status` | `job_id`?: string, `payment_id`?: string | Waits up to 50 s for a pending job (payment, mandate, connection). Call again if it is still pending. |

## Result states

| State | Meaning | Agent should |
|---|---|---|
| `waiting_for_user` | Waiting for the user. Comes with `approval_url` | Show the link, then wait with `payment_status(job_id)` |
| `paid` | Done. Includes `receipt` | Report the result |
| `mandate_active` | Mandate approved (charges come later) | Say the service will charge on its schedule |
| `rejected_by_user`, `expired` | Declined or timed out | Do not retry on its own |
