Up and running in three steps.
About ten minutes the first time. The wallet is the signup: there is no account to create here.
Give your agent a wallet
Our recommended path is a Coinbase wallet: Coinbase holds the key, you fund it, and your agent pays per call. Nothing to generate, nothing to store. Which one depends on where your agent runs.
In a browser chat: Claude.ai or ChatGPT
Add Coinbase's Wallet MCP as a custom connector (in Claude.ai: Customize, Connectors, Add custom connector; in ChatGPT: Settings, Connectors, Create). Sign in with Coinbase Wallet the first time a wallet tool runs. Every paid call is then approved with a tap in the wallet app, so this suits occasional calls better than hundreds of small ones.
https://wallet-mcp.coinbase.comIn a coding agent: Claude Code, Claude Desktop, Codex CLI, Gemini CLI
Install the Agentic Wallet: run the installer, pick your client and restart it, then ask the agent to show your wallet and sign in with your email. It pays within the limits you set, with no tap per call, which is the right fit for small, frequent calls.
npx @coinbase/payments-mcpFor a script, or an agent that runs commands
The same wallet as a command-line tool. Login emails you a code and prints a flow id.
npx awal auth login you@example.com
npx awal auth verify <flowId> <code>
npx awal addressPut a few dollars in it
In the Agentic Wallet window choose Fund (Coinbase Onramp, card or bank) or Receive and send USDC on the Base network to the address; for Wallet MCP, fund your Coinbase Wallet with USDC on Base. A dollar covers dozens of frontier-model calls or hundreds of drops. In the Agentic Wallet, set a maximum per call and per session; the agent cannot change them.
Point your agent at a route
With the wallet connected, your agent has a tool that makes x402 HTTP requests and pays them. There is nothing to connect on our side: give it a route and a body, or tell it to read llms.txt. A prompt that works as is, in a coding agent:
Use your x402 request tool to POST https://payperwork.app/ai/v1/chat/completions
with the JSON body {"model":"anthropic/claude-haiku-5.5","messages":[{"role":"user","content":"hi"}],"max_tokens":256}
and show me the reply.In Claude.ai or ChatGPT with Wallet MCP, the same thing with a spending cap; you approve the payment in the wallet app when asked:
Use initiate_x402_request to POST https://payperwork.app/ai/v1/chat/completions with maxPayment 0.01
and the JSON body {"model":"anthropic/claude-haiku-5.5","messages":[{"role":"user","content":"hi"}],"max_tokens":256}.
After I approve, call complete_x402_request and show me the reply.Every route in openapi.json works the same way, and inference is OpenAI-compatible.
Building your own agent with a paying MCP client (@x402/mcp or the agents package)? Each service is also an MCP server:
{ "mcpServers": {
"payperwork-ai": { "type": "streamable-http", "url": "https://payperwork.app/ai/mcp" },
"payperwork-drops": { "type": "streamable-http", "url": "https://payperwork.app/drop/mcp" } } }Claude.ai, ChatGPT, Claude Code, Codex CLI and Gemini CLI cannot pay MCP tools yet; with them, use the wallet and the HTTP route.
Make the first call
Send one of the prompts above, or try one route from the Agentic Wallet's command line. The x402 client sees the 402, pays the quoted price and returns the result. The response carries the transaction hash, which is your receipt.
npx awal x402 pay https://payperwork.app/ai/v1/chat/completions -X POST \
-d '{"model":"anthropic/claude-haiku-5.5","messages":[{"role":"user","content":"hi"}],"max_tokens":256}'That is one short answer from a fast model, for about $0.002. Try https://payperwork.app/box/me/hello with -X PUT -d 'hi' for a drop.
Prefer to hold your own key?
Any x402 client with a private key works. Fund an agent wallet with only what it may spend.
HTTP
@x402/fetch for JavaScript, or the Python and Go x402 SDKs, wrapped around any HTTP or OpenAI client.
MCP, for agents you build
An MCP client wrapped with @x402/mcp or withX402Client from the agents package, pointed at the service servers.
If the wallet's command line will not start on your machine, the MCP installer or an own-key client is the way through.
That is the whole setup.
No account to create, no key to rotate. Add a service and let the agent call.