Live on Arc · settled in USDC
The payment rail forautonomous AI agents. Your agent pays per request in USDC on Arc — metered, capped, settled and verified on-chain. No subscriptions, no API keys, no humans in the loop.
agent.ts
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.
Run it → 1 Request
GET /premium
The agent hits a paywalled resource.
2 Pay
router.pay(invoice, service)
Agent's Circle wallet pays the invoice in native USDC.
3 Unlock
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.
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.
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. Agent
paid for /premium
+0.01 USDC
20d ago
invoice 0x8bba9dcdf2fba2e3bbb5d002253b519fb1b31ee952d7f89bb8e6131c4a8d08ba
agent —
status verified on-chain · settled in USDC
You 0xfC61…114e
paid for /premium
+0.01 USDC
23d ago
invoice 0x229a9f2019c21d18d3b35e524641d45231921fd47b4a159d28c75bff215b9366
status verified on-chain · settled in USDC
Agent
paid for /premium
+0.01 USDC
23d ago
invoice 0xa4e88d3e76e0b7339a8e127ff0778a2504ca5dd2e95782e2edfce7f815c3efe3
agent —
status verified on-chain · settled in USDC
Agent
paid for /premium
+0.01 USDC
25d ago
invoice 0x156f9df1f171c620cf29ab2b43fa91f97906d5a715f19de0ed6f3867eeece3b6
agent —
status verified on-chain · settled in USDC
Agent
paid for /premium
+0.01 USDC
26d ago
invoice 0x8a1be4a23caad28232af5d946f320ef01c3fa61aecae2f3e0b3907d3e8b8a32c
agent —
status verified on-chain · settled in USDC
Agent
paid for /premium
+0.01 USDC
26d ago
invoice 0xebb8d9d470c443475d95dd240798343026886a1014b624750385615a7e903dfd
agent —
status verified on-chain · settled in USDC
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>
Open the demo service →