DOCS / GIVE YOUR AGENT HANDS
Give your agent hands
Every agent framework is bolting on a wallet. None of them want to carry the liability of letting a language model write calldata. Pantessa already solved that — so connect your agent over MCP and it gets money-hands that can't steal: it plans in plain sentences, deterministic guarded builders write every transaction, and a human (or the agent's own key, under caps) is the only signer. Nothing this surface hands your agent can execute by itself.
▍
Two doors
Both talk in sentences and links — never calldata, typed data, or deposit addresses. Pick by whether your agent needs to hear back.
- The hands MCP — fire-and-forget. Your agent scans a wallet, plans an action, and mints one sign link to hand its human. Free, no key, instant. Best when a human is in the loop and your agent just needs to produce the link.
- The desk MCP — stateful. Your agent opens an intent, negotiates funding routes, hands off, and then polls back (
broker_status) to learn whether its human actually signed — the feedback loop the fire-and-forget hands lacks. It also carries the agent-signed path (broker_execute) for sequenced flows the agent drives with its own key, andbroker_sendto address an intent straight to a wallet or@handle's inbox (they open it and sign — no link to pass, they never had to ask).
Connect in five minutes
The hands MCP — one line in Claude Code (or any MCP client that speaks Streamable HTTP):
claude mcp add --transport http pantessa-hands https://hands-mcp.yeetful.com/mcp
The desk MCP — the stateful sibling:
claude mcp add --transport http pantessa-desk https://www.pantessa.com/api/broker/mcp
Any MCP client works — point it at the same URLs. Start by calling what_pantessa_can_do (hands) or broker_capabilities (desk): each returns the capability map and the handoff contract before you do anything else.
The loop
- Scan —
scan_walletreads a wallet's movable money across Base, Arbitrum, and Ethereum (gas-reserve aware), so your plan is grounded in what the human actually holds. - Plan — decide what should happen and phrase it as one plain sentence (“Buy $12 of AAPL”, “Swap $5 of ETH to USDC on Base”, “Protect my HYPE long with a 5% stop”). See what Pantessa can build.
- Hand off —
prepare_handoff(hands) orbroker_handoff(desk) mints a/i/<slug>sign link. Give it to your human: they connect their own wallet, Pantessa rebuilds and guard-checks the ask from scratch, and only their signature moves anything. - Hear back (desk only) — poll
broker_statusfor the server-truth funnel: opened → connected → built → signed → settled, with the signed USD. Or skip the poll: pass acallback_urltobroker_openand Pantessa POSTs you a signed webhook the moment your human signs or the move settles (X-Pantessa-Signature= HMAC-SHA256 of the body under a secret returned once at open).broker_statusstays the fallback.
The agent-signed path
When your agent holds the funds and the key, broker_execute compiles a sequenced ask (fund → wait for settlement → act) into a job the agent drives leg by leg: it fetches each leg from the job API as the runner builds it (guarded, policy-checked, one at a time), signs and broadcasts with its own key, and posts completion — wait legs verify on-chain arrival before the next leg builds. No transaction material ever travels through the MCP surface.
Because this path has no human in the loop, it runs under a tighter fence: it requires a bound identity (agent_key, refused by name without one), a per-intent notional cap, and a desk-level kill switch. The agent-signed path is rolling out — the human-handoff loop above is the front door, and it is live today.
What it costs
The desk is free to call by default — Pantessa earns the link-tier fee on the signed volume it clears, not on the calls. When an operator turns on the paid door, the value tools (broker_open, broker_execute, broker_send, broker_tile) cost a few cents in USDC per call over x402, while capabilities, status, and close stay free. broker_capabilities always advertises the current price, so an agent knows before it calls. Your x402 payer address is your desk identity — the same address that carries your caps and your track record.
The safety contract
This is the whole point, so it is mechanical, not a promise: the desk re-checks that no reply carries transaction bytes, and the deterministic guarded builders — not any model — write every transaction on the sign side. Read the trust model for how a build is guarded, priced, capped, and receipted before anyone signs.