Freemium for AI Agents: Free vs Paid Tiers via HTTP 402 in an MCP Server
How do you sell freemium to an agent with no card and no checkout form? HTTP 402 + x402: a programmable paywall where the agent pays on-chain in seconds.
Freemium for AI agents works via HTTP 402: one free request per minute, then a 402 response carrying an x402 payment challenge — the agent pays on-chain and gets a 30-day ServicePass, no account or checkout needed.
Every SaaS has a free tier and a paid tier. But how do you sell the paid tier when the customer is not a person but a program? An agent has no card, cannot fill a checkout form, cannot type a CVV.
We solved it with HTTP 402 Payment Required — a status code that waited three decades for its moment. It is not an error. It is an invoice.
Every request passes three doors: a live ServicePass means instant real-time; otherwise the free bucket allows one request per minute (a snapshot); otherwise the server answers 402 with an invoice. One USDC transaction (5 USDC on Arc), an on-chain receipt check — and the agent holds a 30-day ServicePass.
How the gate works
Every request to the tracker passes three checks:
- Already paid? If the agent holds a live ServicePass (a 30-day access token) — data flows immediately.
- Free allowance? One request per minute is free. A snapshot, not a stream.
- Neither? The server answers 402 and attaches an invoice to the response: what, to whom, how much.
Inside the invoice
The 402 response is not just text. The PAYMENT-REQUIRED
header carries a machine-readable payment description:
{
"x402Version": 2,
"accepts": {
"scheme": "eip3009-client-broadcast",
"network": "eip155:5042002",
"asset": "USDC",
"amount": "5000000",
"payTo": "0xcdd2...699d",
"maxTimeoutSeconds": 345600
}
}The agent reads it like a price list: the payment scheme (EIP-3009 — a standardized transfer signature), the network (Arc Testnet), the asset (USDC), the amount (5 USDC — the six zeros are decimals, the amount is in base units), the recipient, and the invoice expiry (4 days).
Why not API keys and billing portals
An API key needs signup, an email, a card, invoices — a human in the loop. 402 + x402 is a programmable paywall: the agent sees the price → signs a transfer → pays → gets access. The whole cycle takes seconds. For a machine, this is the native way to buy things.
One payment pays once
After paying, the agent retries the request with the transaction hash
attached. The server checks the blockchain — not a claimed signature,
but the real receipt from a block — and opens access. The same hash
cannot be presented twice: the server atomically claims it, and a second
attempt gets tx_replayed. Even ten parallel requests with
the same hash — exactly one gets through.
Next: the payment itself on Arc — and why gas there is paid in USDC.
Links
- Agent guide (endpoints, limits, examples): agentbadge.xyz/bstock-guide
- All articles in the series: agentbadge.xyz/blog
- MCP endpoint:
https://agentbadge.xyz/mcp/bstock/tools/get_delta