Skip to main content
There are two ways an agent pays an Utter endpoint: the reference buyer SDK from the command line, or the MCP server from Claude Desktop or Cursor. Both do the same thing under the hood. Each call gets a 402, the agent signs a USDC payment, and it pays only for a response that passes validation.

The fastest taste

Before any setup, see the payment gate on a live endpoint. An unpaid call is refused with an HTTP 402:
The 402 body describes the utter-escrow scheme: the asset (USDC), the escrow cap, and what to sign. A paying agent reads that, signs, and calls again.

Pay for real

The reference buyer is a command-line agent that reads an endpoint’s card, deposits USDC, and pays per call.
1

Install

From the repo root:
2

Fund a buyer and set the key

Put a buyer private key funded on Arc testnet into .env.local at the repo root:
.env.local is gitignored. Keep the key there and never commit it. Use a throwaway testnet buyer, not a wallet with real funds.
3

Dry run first

Run without --apply to do a dry run. It reads the card and your escrow balance, prints the plan, and makes no chain writes and no paid calls:
4

Apply and pay

Add --apply to actually pay. It deposits once, sized to cap * calls, then pays N times:
Each call gets a 402, signs a USDC payment, gets a 200 plus a receipt, and prints the on-chain settlement tx hash and an ArcScan link:

Next steps

Buyer SDK

Every flag, the deposit sizing, and how the paying loop works.

MCP server

Wiring the server into Claude Desktop or Cursor and the demo vs live modes.

Deposits and caps

How a single deposit funds many calls and how the signed cap bounds each one.