-
Notifications
You must be signed in to change notification settings - Fork 1
Paying with x402
x402 is an open HTTP payment standard (the 402 Payment Required status, finally used). Settlement infrastructure exists from Coinbase (CDP facilitator — what this service uses) and Stripe.
- Client calls a paid endpoint.
- Server replies
402with a machine-readable quote: price, asset (USDC), network (eip155:8453= Base mainnet), and the pay-to address. - Client signs a USDC
transferWithAuthorizationfrom its own wallet (no gas needed — the facilitator sponsors it) and retries with the payment header. - Facilitator verifies + settles on-chain; the server serves the result. End-to-end this is seconds.
The payer needs only USDC on Base — no ETH, no account, no API key.
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.AGENT_KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/extract", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ url: "https://example.com/article" }),
});
console.log(await res.json());Stripe's open-source purl ("curl for paid endpoints") works against Agent402 out of the box — our CI proves it on demand with a real settled payment:
purl wallet add --name me --type evm -k 0xYOUR_KEY -p yourpass --set-active=true
purl --dry-run "https://agent402.tools/api/convert/kilometers-to-miles?value=42" # see the quote
purl "https://agent402.tools/api/convert/kilometers-to-miles?value=42" # pay + get resultClient-side caps belong on the buyer:
-
purl:
PURL_MAX_AMOUNT(atomic units; 1000 = $0.001 USDC). -
agent402-mcp:
AGENT402_MAX_PER_CALL(refuse any single call above this USD price) andAGENT402_BUDGET(hard session cap) — both enforced before a payment is signed, so a confused model cannot drain the wallet.
Every settled call is an on-chain USDC transfer to the public revenue wallet — auditable by anyone at Basescan. The service also publishes served-call counters at /api/stats; the chain, not the counter, is the source of truth.
agent402.tools · synced from wiki/ in the main repo — edit there, not here.
Using it (for agents / buyers)
- Getting Started
- Paying with x402
- Paying with Compute
- MCP Connector
- Adapters
- AWS Bedrock AgentCore
- Tool Catalog
- x402 Index and Router
- x402 Leaderboard
- Payments and x402
- Memory and Coordination
Tollbooth (for site owners)
- Pay-per-crawl — what it is, install, modes
- Pay-per-crawl Walkthrough — 5-min hands-on
- Tollbooth for Agencies — many-site playbook
- Try Tollbooth Cloud (managed)
Under the hood