It holds the response until settlement. The order is verify, run the handler, settle, then respond. The handler's output is buffered while settle runs: if settlement fails the buyer gets an error and no data, and if the handler throws nothing is settled.
One caveat on my numbers: 713 ms and 2.7 s were the two facilitator calls measured on their own, no API in between. A real request pays both plus the handler, so about 3.4 s through that path.
You could answer on verify and settle in the background, but then the seller has delivered before being paid. For sub-cent calls I'd rather be slow than unpaid.
Two fresh addresses, funded with 1 USDC each on Arc. Each one deposited into Circle Gateway, about $0.003 of gas, once. Then each bought an endpoint:
0x4F8C…49A3 → /v1/paid/fees/forecast, $0.001, 200 in 3.4s
0x8f58…7ad3 → /v1/paid/deploys/history, $0.002, 200 in 1.2s
Two different buyers, one settlement transaction:
0x340cfbac3829f75c265da4822501be84c56a7f282536bb5cf1133e68a3a8ee0c
Gas paid by the facilitator, $0.0013 per payment. The answer came back at once, the batch landed on chain eight minutes later.
It also found a bug. The first deposit died on a dropped RPC connection. Fixed the same day, and the fix had to be fixed again after review. Both are in the repo.
Agentic payments are live on Arc.
Our Facilitator Service gives x402 builders a hosted way to accept Circle-issued USDC on Arc, Base, and Polygon without running their own relayer or funding separate gas wallets.
You build the service. Agents pay for it.
Proof it still works, three days in.
Two payments on Arc mainnet just now, from our own agent. Mine, not a customer's: same payer address as day one, so you can check it.
$0.0005 → /v1/paid/rpc/health, 200 in 1.98s
$0.001 → /v1/paid/fx/execution, 200 in 5.60s
Both settled in the same transaction:
0xa6fc188758ea1b72a78f242381b80bcef443c6be9c7e63972c617176afae133c
That is the batch doing its job. Two days ago one payment sat alone in a settlement that burned $0.0255 of gas. This one carried two for $0.0018 total, $0.0009 each. Twenty-eight times cheaper, partly the batch, partly a base fee back at the floor.
What is coming next, and what it depends on.
Ready on our side, waiting on the chain:
- Escrow for bigger jobs, money held until the work is accepted. Built and tested against ERC-8183, which has no bytecode on Arc mainnet yet.
- Agent identity through ERC-8004, same story: the registry is live on testnet, empty on mainnet.
Ready and ours to switch on:
- Direct settlement without a Gateway deposit. Tested on mainnet yesterday for $0.0005 through Circle's new Facilitator Service. It removes the one step that stops a buyer today.
- More pairs in the price feed. If your token trades on Arc and you want it priced from real swaps, send us the address.
Looking at, not promising: writing the price on chain so contracts can read it, not just apps and agents. That one costs gas on every update.
Why we built this on Arc and not somewhere else.
On Arc the money and the gas are the same asset. An agent holds USDC and nothing else: no second token to top up, no bridge, no "your call failed because you ran out of gas". Our accounting layer only ever speaks USDC, in both the 6-decimal and the 18-decimal form the chain uses.
Blocks land in about half a second and finality is deterministic, so a paid API call finishes inside the request instead of a block later. Yesterday a settlement came back in 2.7 seconds end to end, hash included.
And the chain is honest about what it did. Every transfer shows up as a log we can read, which is why our prices come from executed swaps rather than someone's quote.
A payment rail for agents is a strange product on a chain where gas is a different coin. Here it is the obvious one.
Morning, Arc builders.
While you were asleep our collector read another 265,000 blocks. It sits at 740,762 blocks and 10.9M transactions now, with 13,699 contracts deployed on the chain since we started watching.
Zero blocks behind as I write this. Coffee first, then the rest of the thread.
We shipped a price oracle for Arc. It reads trades, not quotes.
Every block, we pull the swaps out and work out what was actually paid for a token against USDC. Any token the collector watches, one parameter:
api.cra-agent.tech/v1/fx?symbol=E…
EURC/USDC: 1.1481, 1,509 trades, $1.0M of volume in 24h
CRA/USDC: 0.00014661, 92 trades, $14.7k
Getting it right took three fixes nobody warns you about. A token that taxes transfers splits the USDC leg in two, and pricing one leg reports a hundredth of the real price. A router hands the tokens through three addresses, and every hop looks like a trade. Whatever survives that still needs a running median to drop legs that priced nothing a trader could have got.
Free: the rate and the window. $0.001 over x402: the rate by trade size, where the volume traded, and the five-minute series.
Arc could have made history here by making its chain an x402 chain
> Curates top onchain AI use cases wrapped in x402 endpoints
> Supports x402 facilitators with batching & up to payment schemes to save $$$ for projects
> Onboard onchain inference players
> Subsidizes credits
We put our own numbers on the home page, including the one we would rather not show.
cra-agent.tech carries a live strip now: blocks collected, transactions read, swaps priced in the last day and what they were worth, contracts seen, endpoints on sale.
The first thing it told us was that we were 11,000 blocks behind the chain. Our RPC provider's free monthly quota had run out that morning, and the collector had sat still for two hours before we caught it. It closed the gap on its own, at roughly four blocks for every one the chain made.
We could have left that line out of the design. A panel that only shows the good numbers isn't a panel, it's a poster.
In the shot: 475,225 blocks, 7,032,740 transactions, 2,259 swaps priced in 24h, worth $1.7M.
Every quote answers two questions, not one. How much, and how to pay it.
Under five dollars, with a seller that batches, it's a nanopayment: sign, get the data, the settlement follows in a batch, no gas on our side. A job with a deliverable, or anything above the threshold, isn't a nanopayment. Different risk, different rail: money into escrow, released when the work is accepted.
The threshold is ours and you can move it. Either way the choice ends up in the receipt, so months later you can see why a given call went the way it did.
None of this is limited to our own endpoints. It buys from any seller that speaks x402.
$CRA
Our endpoints are now discoverable by agents, not just by people.
Five of our paid routes are listed in PayAI's x402 discovery catalogue, one of the lists an agent queries to find and pay for data: Arc base fee forecasts, deploy history, RPC health, and executed FX prices. From $0.0005 a call.
The sixth route is missing, and that is the part I like. /v1/paid/selftest/fail always answers 500, and a catalogue only lists what a facilitator has actually settled. A route that never charges anyone never gets listed. The rule enforces itself.
Getting listed cost $0.005 in USDC across five real payments, with the gas paid by the facilitator, not by us.
The Arc rail is untouched and our own agent still pays on Arc. Machine-readable catalogue: api.cra-agent.tech/openapi.json
We measure Arc. It would be odd not to measure ourselves.
cra-agent.tech/token reads the chain directly: every buyback burn, every USDC payout, each with the transaction that did it, and the CRA price taken from real executed swaps.
6,141,933 CRA burned across 15 buybacks. $3,518 paid out in USDC over 56 transfers. 201 swaps and $29k of volume in the last 24h.
Same collector, same method as the FX endpoint. No aggregator, no quoted price, nothing you cannot check on the explorer yourself.
$CRA
We shipped an endpoint that fails on purpose. It costs $0.001 and it always returns 500.
Pay it and nothing leaves your balance. x402 verifies the payment, runs the handler, and settles only if the handler succeeded. A broken API earns nothing.
We ran it on Arc mainnet twice. HTTP 500 both times, Gateway balance still 0.999 USDC, receipt reads not_charged.
Try it yourself:
api.cra-agent.tech/v1/paid/selfte…
npm i -g @cra-agent/mcp
cra-agent pay api.cra-agent.tech/v1/paid/selfte…cra-agent.tech
Every chain needs someone who measures it.
We have just shipped execution-grade FX for Arc: EURC/USDC as actually traded, by size. Not a quote.
Live, free, no signup: api.cra-agent.tech/v1/fx
Full data: $0.001 per call over x402, paid by the agent itself.
Built for teams like @PulsarMoneyApp bringing real EUR and USD accounts to Arc.
We're building the complete data layer for Arc, endpoint by endpoint.
$CRA.
Proof of the first payment on Arc mainnet.
Agent: 0xe5a6…cF2B → Seller: 0x33b3…Ea74
Amount: 0.001 USDC for one call to /v1/paid/fees/forecast
Response: 200 OK in 2,134 ms
Gateway balances now: agent 0.999, seller 0.001
Deposit on chain (Arc, block 21160913):
0xa4d5ce4df1370f3936758b24d35fd60612e4b201a0774efd7a40b202f7785441
Reproduce it yourself:
npm i -g @cra-agent/mcp
cra-agent quote api.cra-agent.tech/v1/paid/fees/f…
FIRST MAINNET PAYMENT CRA AGENT
network Arc mainnet, chain 5042
buyer 0xe5a67b7ddf06A6e63A8e0423195aA3b76002cF2B
seller 0x33b37c6d7a98b58da3Ccb3F36A4b578053d0Ea74
resource api.cra-agent.tech/v1/paid/fees/f…
price 0.001 USDC (x402, scheme "exact")
settlement Circle Gateway, batched · id a6736922-d6fd-42b9-95b2-f8d626a419dd
result HTTP 402 → paid → HTTP 200 in 2,134 ms
ledger entry #5, status settled
gas paid 0 by the buyer (deposit tx cost 0.013 USDC, one time)
verifiable now
deposit tx 0xa4d5ce4df1370f3936758b24d35fd60612e4b201a0774efd7a40b202f7785441
block 21160913 · 2026-09-16 12:59:36 UTC → GatewayWallet 0x77777777…00eE
gateway buyer 0.999 USDC available · seller 0.001 USDC available
explorer explorer.arc.io/tx/0xa4d5ce4df…cra-agent.tech
CRA AGENT just made its first real payment on Arc mainnet.
An agent asked for a paid endpoint, got a 402, checked its spending policy, signed a USDC payment through Circle Gateway and got the data back. 0.001 USDC, settled in 2.1 seconds, no gas for the buyer. The receipt is in
Excited to keep building between these giants and to share the same bigger vision.
The architects of Arc are building for the economic agents.
$CRA is still early in its mission. Everything here is still to be built.
If you're only on @arc for the memes/launchpads, you're missing the BIG picture.
Arc's native token is USDC, payments will be another utility.
Speaking of payments, we're excited to announce: You can now top-up your Bitget Wallet Card with USDC on Arc.
3K Followers 2K FollowingHR & Talent Specialist ✧ I give Jobs ✧ Creator & Growth Manager ✧ Building @TheFirstCircle ✧I ❤️DeFi & AI ✧ KOL @Alphamind_labs ✧ Always have the greatest ego🫵
112 Followers 349 FollowingLet's make a change together...
Collector of the finest retro games
80s and 90s nostalgia
$SRXH holder 💎
$GME holder 🕹️
$OPEN holder 🏠
$DVLT holder 🌐
301K Followers 467 FollowingThe full-stack platform for the internet financial system. Making the economy open to all. Disclosure: https://t.co/7L62d1qjty