Skip to main content
@utter/buyer-sdk is the reference paying agent. It ships three surfaces: a pay CLI for firing real paid calls, an MCP server that exposes endpoints as agent tools, and a programmatic client. It signs DebitAuthorizations for the escrow scheme and never exposes the buyer key to the model.

The pay CLI

Fund the buyer escrow once and fire N real paid calls to a deployed resource.
Without --apply the CLI is a dry run: it reads the card and the buyer’s escrow balance, prints the sizing plan, and makes zero chain writes and zero paid calls.

CLI environment

Example

The MCP server

A stdio MCP server that exposes discovery and per-endpoint tools to an MCP client (Claude Desktop, Cursor).

Modes

BUYER_SDK_TRANSPORT selects the mode:

Tools

MCP environment

Per-tool and per-day spend caps layer over the on-chain signed maxAmount hard cap.
The MCP server never writes to stdout: stdout is the JSON-RPC channel. Diagnostics go to stderr, and the buyer key is never printed.

Programmatic client

createBuyerClient returns a client with these methods: The signed maxAmount is always clamped to min(card cap, BUYER_MAX_CAP_TOKENS), so a hostile card cannot make the client sign above what the buyer authorized.