Payperwork Get started
Get started

Up and running in three steps.

About ten minutes the first time. The wallet is the signup: there is no account to create here.

1

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.

remote MCP server URL
https://wallet-mcp.coinbase.com

In 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.

terminal
npx @coinbase/payments-mcp

For 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.

terminal
npx awal auth login you@example.com
npx awal auth verify <flowId> <code>
npx awal address

Put 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.

2

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:

prompt · Agentic Wallet
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:

prompt · Wallet MCP
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:

mcp.json · only for clients that can pay x402 tools
{ "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.

3

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.

terminal
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.

Alternatives

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.

Read more

Coinbase's setup guides for the wallet: MCP and CLI. The protocol: x402.org.

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.