const payer = createPayer({ walletId, maxPerCall: 0.05, budget: 1 })
const { data } = await payer.payAndFetch("https://api.example.com/premium")
// → 402 Payment Required → pays 0.01 USDC on Arc → 200 + data
Interactive · real on-chain
Don’t take our word for it.
Run the flow — for real.
Click once. A real AI agent pays 0.01 USDC on Arc to unlock the resource. You watch every step + the on-chain tx.
1Request
GET /premium
The agent hits a paywalled resource.
2Pay
router.pay(invoice, service)
Agent's Circle wallet pays the invoice in native USDC.
3Unlock
GET /premium?invoice=…
Service verifies the payment on-chain, then serves the data.
Sponsored demo · rate-limited · real testnet USDC on Arc. In production your own agent pays with its own wallet + budget.
Or pay with your own wallet.
Connect a wallet and pay the invoice yourself — your address (not the sponsor’s) settles it on-chain.
Connect above to pay from your own address.
Needs Arc testnet + a little test USDC in your wallet. Most visitors won’t have it — that’s what the sponsored demo above is for.
The flow · x402-style
Pay-per-call, in three steps.
01
Request
Agent calls a paid resource. The service replies 402 Payment Required with an invoice — price, invoice id, and where to pay.
02
Pay
The agent's Circle wallet pays the invoice through the on-chain PaymentRouter in native USDC — within its per-call and budget caps.
03
Unlock
The service verifies the payment on-chain (bound to the invoice and recipient), then serves the response. One payment, one call.
Guardrails · try the knobs
Autonomous, never unbounded.
Every agent runs under a per-call cap and a total budget. Drag the sliders — see how many calls it gets, and when it refuses to pay.
Price per call0.010 USDC
Per-call cap0.050 USDC
Agent budget1.00 USDC
100
calls before the budget runs out · 1 USDC total. After that, the agent stops paying — automatically.
bar = price vs. cap · headroom before a single call is rejected
Live ledger
Agents paying for what they use.
29
Paid calls
0.29
USDC settled
2
Agents
No purchases yet — hit “Run it” above.
Why Arc
USDC is native
On Arc, USDC is the native gas/value token — payments are plain value transfers, final in ~1 second.
Signed by MPC
Agents sign through Circle Programmable Wallets. No raw private key sits on a server.
Verifiable, bounded
Every call is on-chain, tied to an invoice and recipient, and capped per-call and per-budget.
For developers
Or hit the paywall from your terminal.
# 1) get an invoice
curl https://agentpay-service.arcpump2403.workers.dev/premium# 2) pay it via the PaymentRouter on Arc, then retry
curl https://agentpay-service.arcpump2403.workers.dev/premium?invoice=<id>