# Freemium for AI Agents: Free vs Paid Tiers via HTTP 402 in an MCP Server

> Source: <https://agentbadge.xyz/blog/bstock-freemium-402>
> Published: 2026-09-23 00:00:00+00:00

# 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:

1. **Already paid?** If the agent holds a live ServicePass
(a 30-day access token) — data flows immediately.
2. **Free allowance?** One request per minute is free. A
snapshot, not a stream.
3. **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](https://agentbadge.xyz/bstock-guide)
- All articles in the series: [agentbadge.xyz/blog](https://agentbadge.xyz/blog)
- MCP endpoint:
`https://agentbadge.xyz/mcp/bstock/tools/get_delta`
