What Machine Payments Protocol (MPP) is
The Machine Payments Protocol (MPP) is an open standard for machine-to-machine payments over HTTP 402. A resource that costs money answers 402 with a WWW-Authenticate: Payment challenge naming an id, a realm, a payment method, an intent and a base64url-encoded request; the client answers with a credential in the Authorization: Payment header; a successful payment returns a Payment-Receipt header. This surface implements the challenge, credential and receipt shapes as the specification read on 2026-09-19.
The same /api path keeps the x402 offer, so an x402 client keeps working here unchanged. The MPP challenge header is added only when a method on it can settle. The methods this surface will settle through are card methods in test mode; until the office's Stripe test keys are placed no challenge is advertised and a credential is answered with a typed refusal, not a charge.
How an agent pays here
- 1 — GET /api with no payment: 402 with the x402 offer; the WWW-Authenticate: Payment challenge appears beside it once a method can settle.
- 2 — Answer the challenge with Authorization: Payment <credential> (challenge · source · payload).
- 3 — The door verifies the credential against its own challenge, charges in test mode and answers with Payment-Receipt.
- 4 — The receipt resolves at /x402/receipt/{nonce} in the office's receipt shape.
Two offers, both placeholder prices
- One metered call on the office door — $0.01 · x402 — USDC on Base mainnet · placeholder price
- A block of 100 calls on the office door — $1.00 · the card rails, test mode, once the office's Stripe test keys are placed · placeholder price — card processors do not take a one-cent charge
- Product — the office door: the statement of record at agent-kg.ai/facts.json, read at the call, never copied.
- Machine copy — /offers.json
The receipt contract
Every receipt carries the payer, the transaction, the amount and asset, the resource, the rail, the host that issued it and the notice; the jwt verifies against /x402/jwks.json (kid fc-x402-2026-09) and the receipt resolves forever at /x402/receipt/{nonce}. A card-rail receipt, when those rails settle, carries the test-mode charge reference in the same shape.
This surface implements the rail it is named after. Nothing here is endorsed by any protocol's owner. Prices are placeholders set by the office.
- Key — /x402/jwks.json · kid fc-x402-2026-09 · private half held by the office
- Register — /x402/settled.json (this host, with the four-host total beside it)
The other three
- agent-x402.ai — x402
- agent-ucp.ai — Universal Commerce Protocol (UCP)
- agent-acp.ai — Agentic Commerce Protocol (ACP)
- Every .ai host answers all four rails; each site explains the rail it is named after. Beta runs at the office first; working things move to the companies after.