The paywall your agent can pay.
Pico paywalls speak HTTP 402. Your agent hits a URL, gets back a structured price, signs once, retries with proof of payment. Same protocol Coinbase, Cloudflare, AWS, and Stripe are converging on. No API keys to manage, no per-vendor SDKs.
Quickstart — two snippets
The first shows what your agent sees when it's built right. The second is the protocol underneath — a plain curl so you can see the price tag in JSON before writing any code.
import { wrapFetchWithPayment } from '@x402/fetch';
import { privateKeyToAccount } from 'viem/accounts';
// One agent wallet, one line of wrapper. Done.
const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY);
const fetchWithPayment = wrapFetchWithPayment(fetch, account);
// Hit any Pico content URL — payment happens automatically on 402.
const res = await fetchWithPayment('https://picomicropay.nl/api/content/abc-123');
const { contentUrl, title } = await res.json();# A bare curl shows you the 402 challenge — no signing required to peek.
$ curl -i https://picomicropay.nl/api/content/abc-123
HTTP/1.1 402 Payment Required
payment-required: <base64 JSON, decoded below>
{
"x402Version": 2,
"accepts": [
{ "scheme": "exact", "network": "eip155:8453", "amount": "200000",
"asset": "0x8335…2913", "payTo": "0xCreator…" },
{ "scheme": "exact", "network": "eip155:5042", "amount": "200000",
"asset": "0x3600…0000", "payTo": "0xCreator…" }
]
}
# Base and Arc, same price, same creator wallet — your client picks one.Pay on Arc
Every Pico paywall offers Arc mainnet, Circle's USDC-native chain, alongside Base in its 402 challenge. Register only eip155:5042 in your client (or add ?network=arc / an X-X402-Network: archeader to pin it) and you pay in Arc USDC. Circle's x402 Facilitator settles it in under a second, directly to the creator — Pico never holds the funds.
import { wrapFetchWithPayment, x402Client } from '@x402/fetch';
import { registerExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';
// Same paywall, settled on Arc mainnet (eip155:5042) by Circle's
// x402 Facilitator. USDC goes straight to the creator's wallet.
const signer = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY);
const client = registerExactEvmScheme(new x402Client(), {
signer,
networks: ['eip155:5042'],
});
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const res = await fetchWithPayment(
'https://picomicropay.nl/api/content/abc-123?network=arc',
);API keys + monthly subscriptions are the old web.
- No vendor signups. No dashboards to provision keys in. The wallet is the identity.
- Per-request pricing. Pay 0.001 USDC per call. Charge 0.005 USDC per inference. Real microeconomics.
- Cryptographic auth. The X-Payment header is a signed proof — no shared secrets to rotate.
- Same protocol your data sources will adopt. Cloudflare, AWS, Stripe — all in. Build once, settle anywhere.
- Composability. Your agent calls another agent which calls a Pico paywall — all via the same HTTP 402 handshake.
What developers are building
What does it cost your agent?
The publisher sets the price. The protocol cost is the on-chain settlement on Base or Arc — sub-cent per call, and on Arc the facilitator pays it.
| Scenario | Publisher price | Settlement cost | Total per call |
|---|---|---|---|
| Read one article | $0.20 | ~$0.001 | ~$0.201 |
| Fetch one premium paper | $1.50 | ~$0.001 | ~$1.501 |
| 100 research queries / day | $0.05 | ~$0.001 | $5.10/day |
| 10,000 data pipeline calls / month | $0.01 | ~$0.001 | $110/month |
Coming this quarter
Start building today.
The endpoint is live now. No waitlist, no approval flow — sign up, get an agent account, paste the snippet, watch your agent pay.