Insert coin.
Receive response.
Solana’s x402 payment rail for machine-to-machine per-call APIs.
Listening for live settlements…
Agents can't reach for a wallet.
Software is starting to call software on its own. An agent can plan, fetch, and pay, except there is no human in the loop to click subscribe or paste a card. Most APIs still gate access behind keys, seats, and monthly invoices. None of that fits a caller that lives for a single request. Solana already settles value in about 400 milliseconds. What is missing is a shared way to price one call and settle it inline.
API key sprawl
Every provider hands out another key, dashboard, and end-of-month invoice to reconcile. Access and billing become two brittle systems that never quite line up.
Agents have no card
An autonomous caller can sign a transaction, but it can't click "subscribe" or type a card number. Paying for a single request has nowhere to go.
No settlement rail
Solana settles value in about 400ms, yet there is no shared x402 standard to price one call and settle it inline. That finality sits unused.
Callers pay. Sellers get paid.
The same handshake serves both ends of the rail. An autonomous caller settles a request inline; a seller prices a route and collects at a payout address.
Pay for a call without a card.
- Decode a 402 challenge and settle it inline with one signed Solana transaction.
- Stay inside a budget and allowlist the wallet cannot exceed.
- Every paid call returns an on-chain settlement signature.
Price a URL in one line.
- Wrap any Express, Next, or Hono route with per-call pricing.
- The facilitator verifies and settles to your payout address.
- No keys to issue, no seats to manage, no invoices to reconcile.
One rail. Six moving parts.
The protocol is small on purpose. Six composable parts turn any URL into a paid, machine-callable endpoint.
x402 Facilitator
Spec-compliant verify and settle for the exact scheme.
LearnOne-line middleware
Drop into Express, Next, or Hono and price any route.
LearnPayment Channel
Off-chain checks, batched into one on-chain settlement.
LearnEscrow & Settlement
On-chain escrow and payout, written in Anchor.
LearnAgent Wallet Kit
Budget and allowlist spend policy for autonomous callers.
LearnReceipt Registry
Every settled call leaves an on-chain receipt.
Learn402 → pay → 200 OK.
One HTTP round trip, settled on Solana. The 402 carries the price; the retry carries the payment.
- 1Request
GET /x/:id
The client hits a priced resource with no payment attached.
402 Payment Required - 2Challenge
Decode PAYMENT-REQUIRED
Read amount, asset, payTo, and nonce from the challenge header.
- 3Sign
Send PAYMENT-SIGNATURE
Sign a partially-signed Solana tx and replay the request.
- 4Settle
Facilitator verify + settle
Spec-compliant verify, then settle on-chain in about 400ms.
- 5Response
200 OK + PAYMENT-RESPONSE
The resource returns with the settlement signature attached.
200 OK
$ curl -i https://api.otomat.fun/x/ep_9f3a2c
HTTP/1.1 402 Payment Required
content-type: application/json
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJwYXltZW50X3JlcXVpcmVkIiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QifV19
{
"x402Version": 2,
"error": "payment_required",
"resource": { "url": "https://api.otomat.fun/x/ep_9f3a2c", "mimeType": "application/json" },
"accepts": [
{
"scheme": "exact",
"network": "solana:mainnet",
"amount": "1000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"payTo": "7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2",
"maxTimeoutSeconds": 60
}
]
}$ curl -i https://api.otomat.fun/x/ep_9f3a2c \
-H "PAYMENT-SIGNATURE: AQAB3nF6mE0Rd2pQ4sV8Kk1cZ7yWpL9tGmXhBvNjUoI5aRfCw2eS0dHqYbTz6xMrJ7uP3AoD1lKe4gN8vC6bXsQ=="HTTP/1.1 200 OK
content-type: application/json
PAYMENT-RESPONSE: eyJzdWNjZXNzIjp0cnVlLCJuZXR3b3JrIjoic29sYW5hOm1haW5uZXQiLCJ0cmFuc2FjdGlvbiI6IjVOcTd5THBUOWMycjhLZjNXanNBOWtIRHZ4In0=
{
"data": { "temperature": 21.4, "unit": "C", "city": "Lisbon" }
}- x402 version 2
- Challenge and response follow the current header schema.
- exact scheme
- Amount, asset, and payTo verified before settle.
- solana:mainnet
- SPL settlement with an on-chain receipt.
See the rail in motion.
Two ways to look before you build: the wall of priced endpoints, and a calculator for what a route settles.
What you can build.
Primitives you can wire together today, from budgeted agents to streaming channels.
Agent Wallet Kit
Give an autonomous agent a budget, an allowlist, and per-call spend limits it cannot exceed.
PreviewPayment Channel streaming
Meter high-frequency calls off-chain, then batch them into a single on-chain settlement.
PreviewFacilitator Bond
Operators bond $OTOMAT to settle payments and are slashed for non-settlement.
PreviewWhat the rail is, and isn't.
A per-call payment standard for software that calls software. Not a subscription, not a marketplace.
Is this a subscription?
No. Otomat prices a single HTTP request. There are no seats, plans, or recurring billing. A caller pays for exactly the call it makes, and settlement happens inline.
How is it different from Solana Pay?
Solana Pay moves a person to a merchant through a QR code. Otomat is a machine-to-machine rail: software pays software per call over HTTP 402, with no human in the loop.
What is x402?
x402 revives the reserved HTTP 402 Payment Required status as a payment protocol. The server answers 402 with a price, the client retries with a signed payment, and the facilitator verifies and settles.
What settles the payment?
A spec-compliant facilitator verifies the exact scheme and settles on Solana in about 400ms. The seller receives funds at their payout address with an on-chain receipt.
$OTOMAT
The rail's fee, bond, and staking token. Every mechanism is tied to real settlement, not emissions.
Protocol fee
A portion of every per-call fee is burned, tying supply to real settlement volume.
Facilitator bond
Operators stake $OTOMAT to settle payments, and are slashed if they fail to settle.
Seller staking tiers
Sellers stake for lower protocol fees and priority routing on the rail.