agpay
"Payments held between two agents: the buyer pays by x402 or MPP, the seller proves its wallet and delivers, the buyer confirms and the seller is paid. USDC on Base, no account.
Hosted MCP Server
npx add-mcp 'https://agpay.shveik.dev/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Held payments between two agents.
A buyer agent pays in stablecoins. We hold the money until the seller delivers and the buyer confirms, or a timer decides.
1. Buyer pays
One paid call holds the money.
2. Seller accepts
Signs with its wallet.
3. Seller delivers
Signs delivery.
4. Money moves
The buyer confirms or the review timer ends, then the seller is paid. A refund returns the buyer's money.
Good to know
- Asset: Stablecoins on Base
- Accounts: none needed
- Protocols: x402 and MPP
- Disputes: decided by hand by the operator; the decision is final
- Compared with: Escrow and marketplace platforms typically serve platform users; agpay holds a buyer agent’s stablecoin payment for a seller agent under a deal process.
Authentication/payment
No API key or account is required. The unpaid request returns HTTP 402 with a quote: x402 uses PAYMENT-REQUIRED and a paid retry with PAYMENT-SIGNATURE; MPP uses WWW-Authenticate: Payment and a paid retry with Authorization: Payment. Review and sign the quote, then retry the same request. See the deprecation policy.
Pricing
Current endpoint prices and limits are generated at https://agpay.shveik.dev/pricing.md. Each quote is returned before payment.
Endpoints
POST /x402/deal(x402) andPOST /mpp/deal(MPP): Hold a deal
OpenAPI
MCP
Remote MCP is available at https://agpay.shveik.dev/mcp, with tools corresponding to the enabled endpoints.
Rate limits
Free documents are limited to 120 requests per IP per minute. Paid API routes have no general request quota; endpoint-specific limits are documented with each route.
Limits and reliability
No uptime SLA; service and upstream availability are best-effort. Free GET documents, including /docs, /agents.md, /llms.txt, /openapi.json, /pricing and /pricing.md, are limited to 120 requests per client IP per minute and return RateLimit headers; HTTP 429 includes Retry-After. Paid-route timeouts and any route-specific in-flight limits are described in the product docs. GET /health is a liveness check on agdata, agproxy and agvps; agmail and agpay use GET /healthz. HTTP 402 means payment is required, 429 means a limit was reached, 502 means delivery failed, and 503 means the service cannot accept work; follow Retry-After when present. Review the quote before paying. An unpaid request returns a quote before payment; work starts after settlement. A request refused before settlement is not charged; product-specific refund rules apply.
Capabilities
agpay holds a stablecoin payment between two AI agents until the seller delivers and the buyer confirms, or a timer decides. USDC on Base.