The index about machine commerce is bought by machines. Every query is a Nanopayment.
Sold the way it is made, machine to machine. Software pays a fraction of a cent a question, no account, no API key.
The resource in the challenge below is the live API endpoint a machine pays for. It is a different domain from this dashboard by design.
The resource in the paywall notice below is the live address a robot pays to use. It is a different domain from this dashboard on purpose.
On the dev gate the console pays a mock header; on the circle gate, Settle for real signs EIP-3009 and settles through Circle Gateway.
In practice mode the console pays a stand-in token; on the real paywall, Settle for real and real money moves.
Free, like every other tape read. What stands in front of it is proof that one person is asking, which is what makes it safe to union a whole fleet of wallets into a single bill.
Free to use, but you have to prove you are one real person before it will answer.
An agent names itself with a signed card and the gate believes the key, not a registry: nobody is enrolled and there is no list to run. The card carries its own audience and a short lifetime in place of a contract address, and may claim a human the chain can confirm.
A robot shows an ID card it made itself, no sign-up. It names the service it is for, expires fast, and can name the person behind it.
9 read-only tools at one URL any MCP client can add, no install. Put your own agent's wallet and bill in below and run them live; what you see is what your client gets.questions an AI assistant can ask ACR. Try them below with your own wallet and bill.
Run this once in a terminal; the server is then available in every Claude Code session.
Run this once in a terminal and Claude Code can ask ACR.
claude mcp add --transport http acr-tca "https://arc-compute-rate.vercel.app/api/mcp?chain=mainnet"
Hosted is read-only and keyless: nothing is stored, nothing is paid. The local package (npx -y acr-mcpThe hosted version only reads. To let it pay, run the local version (npx -y acr-mcp 0.3.3) adds paying with your own key and a spend ledger on your machine. The repo's mcp/README.md is the long form.with your own wallet.
Readers trade from Circle user-controlled wallets: the key lives behind a PIN, never with us.You trade from your own wallet. The key sits behind your PIN, never with us.
The estimator, the signature and the on-chain print are real. The settlement flow underneath is simulated.The rate, its signature and the blockchain record are real. The money moving underneath is pretend.
Every address above reaches you through our press. This asks the registry contract itself and reports the block it answered at. Press twice: the block moves.The list above comes through our server. This asks the blockchain itself. Press twice and the block number moves.
This deployment carries no funded demo buyer, so there is no deposit to watch draw down. The balances above are real.This copy of the site has no demo shopper with money in it, so there is nothing to watch spend. The amounts above are real.
The revenue feed has not answered, so no receipt is shown. An unread feed is not an empty one.We could not read the payments feed, so nothing is shown here yet.
No events yet. Point a Circle Programmable Wallets webhook at POST /webhooks/circle (expose it: cloudflared tunnel --url http://127.0.0.1:8000); deliveries print here, signature-verified.No pings yet. Point a Circle webhook at POST /webhooks/circle (expose it: cloudflared tunnel --url http://127.0.0.1:8000); each one prints here after its signature check.
| Method | Path | GateCost | Returns | TryTry |
|---|---|---|---|---|
| Paid · the index itselfPaid · the rates themselves | ||||
| GET | /prints | 402 · $0.0001$0.0001 to ask | All latest prints + CI + attack costEvery current rate, its wiggle room, and the cost to bend it | console ↑try it ↑ |
| GET | /prints/{index_id} | 402 · $0.0001$0.0001 to ask | One index, with diagnosticsOne rate, with its health checks | console ↑try it ↑ |
| GET | /curve/{index_id} | 402 · $0.0001$0.0001 to ask | Term structure (A-S mids by tenor)Forward prices, week by week | console ↑try it ↑ |
| GET | /vol/{index_id} | 402 · $0.0001$0.0001 to ask | Realized annualized volHow jumpy the price has been (yearly figure) | console ↑try it ↑ |
| GET | /seller-scores/{index_id} | 402 · $0.0001$0.0001 to ask | Seller reliabilityWhich sellers to trust | console ↑try it ↑ |
| The venue · free to readThe market · free to read | ||||
| GET | / | publicfree | Service card · indices, pricing, marketplace pointersThe menu · what is sold here and for how much | |
| GET | /onchain/{index_id} | publicfree | Settlement-grade print from ACROracleThe official rate, read off the blockchain | |
| GET | /futures | publicfree | The whole venue · every desk and the on-chain fill tapeThe trading desk and every recent trade | |
| GET | /futures/{index_id} | publicfree | One index's live series, read from ACRFuturesOne market's trading desk, read off the blockchain | |
| GET | /hedger | publicfree | The autonomous hedger's standing: mandate, position, fills, and spendHow the automatic trader is doing: what it may do, what it holds, what it has spent | |
| The marketplace · free to readThe shop · free to read | ||||
| GET | /marketplace/catalog | publicfree | Machine-readable listings (Bazaar-shaped)The shop's listings, in a shape robots can read | |
| GET | /marketplace/receipts | publicfree | The settlement tape · recent receiptsThe receipt roll · who paid for what | |
| GET | /terminal/data | publicfree | The human terminal feed (this site)Everything this website shows, as data | |
| GET | /tca/{payer} | publicfree | What one wallet paid, against the rate it could have seenWhat one wallet paid, next to the fair rate at the time | 0xc290…6999 exampleexample |
| GET | /par | publicfree | Price one bill against what the market is actually payingSee if a bill is more than the going rate | exampleexample |
| GET | /tca/human | publicfree | One bill across every wallet a verified human ownsOne bill covering all the accounts that belong to the same person | needs a proof of personhoodneeds proof you are a real person |
| GET | /rating/{seller} | publicfree | A seller's grade, its parts, and how much of the scoring it coversA seller's score, what went into it, and how complete it is | 0xefe0…DF19 exampleexample |
| GET | /operator/businesses | publicfree | Every business the agent runs for, and the counts derived from themEvery business using the money agent, and how many that is | |
| GET | /operator/traction | publicfree | Every traction figure, computed from the rows that justify itHow much the money agent is really doing, counted from the records | |
| GET | /operator/statement/{business} | publicfree | One business's spend · what the agent decided, and what awaits the ownerWhat the money agent did for one business, and what needs your approval | needs a business slug in the pathneeds the name of a business |
| GET | /operator/ledger/{business} | publicfree | One business's decisions as a double-entry ledger fileOne business's money, as a file an accountant can open | needs a business slug in the pathneeds the name of a business |
| GET | /operator/audit/{business} | publicfree | The six errors a trial balance cannot see, searched for by nameThe six money mistakes that still add up correctly, each one looked for | needs a business slug in the pathneeds the name of a business |
| GET | /graph/operations | publicfree | The named reads the tape proxy will runThe list of questions you may ask the record | |
| POST | /graph/query | publicfree | Run one named read against the indexed tapeAsk the record one of those questions | POST · needs a bodyneeds a form filled in |
| GET | /fleet | publicfree | The seller listings, each with its own price and payeeWho is selling, at what price, paid to which wallet | |
| The demosThe demos | ||||
| POST | /demo/attack/start | publicfree | Kick a live wash-attack run (Attack Lab)Start a live cheating attempt (the lab) | POST · needs a bodyneeds a form filled in |
| GET | /demo/attack/status | publicfree | Attack run progress + verdictHow the cheating attempt is going | |
| POST | /demo/buyer/start | publicfree | Release the floor buyer (Exchange demo)Let the robot shopper loose (shop demo) | POST · needs a bodyneeds a form filled in |
| GET | /demo/buyer/status | publicfree | Floor-buyer run progressHow the robot shopper is doing | |
| The public desk · session requiredYour own wallet · needs a session | ||||
| POST | /desk/session | publicfree | Open/resume a Circle user-controlled wallet sessionStart your own wallet on the trading desk | needs a sessionneeds a session |
| POST | /desk/wallet | publicfree | That session's SCA + its USDC stakeYour desk wallet and what's in it | needs a sessionneeds a session |
| POST | /desk/faucet | publicfree | Drip the one-per-wallet testnet stakeGet the 50-cent test stake, once per wallet | needs a sessionneeds a session |
| POST | /desk/limits | publicfree | Live per-direction size caps (both margin checks)The biggest trade you could place right now | needs a sessionneeds a session |
| POST | /desk/withdrawable | publicfree | What this wallet can take back out, per seriesHow much of your money you can take back | needs a sessionneeds a session |
| POST | /desk/challenge | publicfree | Mint a PIN challenge: approve / collateral / trade / withdrawAsk for the PIN prompt that authorizes one action | needs a sessionneeds a session |
| POST | /desk/pass/status | publicfree | What a feed pass costs, and whether this wallet holds one (read from the chain)The price of a pass, and whether your wallet already has one | needs a sessionneeds a session |
| POST | /desk/pass/claim | publicfree | Turn a mined USDC transfer into a pass: verified on chain, attested by the pressAfter you pay, this turns the payment into your pass | needs a sessionneeds a session |
| OperationsHousekeeping | ||||
| GET | /revenue | publicfree | Paid queries + revenue (the dogfood metric)Questions paid for + money earned | |
| GET | /x402/info | publicfree | The payment gate, describedHow the paywall works, in plain data | |
| GET | /humanid/info | publicfree | The human-proof gate, described by the service itselfHow we check someone is a real person, in the service's own words | |
| GET | /agent/info | publicfree | The agent-card gate, described by the service itselfHow we check which robot is calling, in the service's own words | |
| GET | /agent/challenge | publicfree | Everything an agent needs to mint a card: domain, roles, and the lifetime boundThe instructions a robot needs to make itself an ID card | |
| GET | /agent/whoami | publicfree | What the gate made of the card you presented, and which of the three tiers it reachedWho we think you are, and whether we could confirm a real person behind it | |
| GET | /armor/info | publicfree | The screen on agent-to-agent traffic: which backend answered, and where it is appliedThe filter on robot-to-robot messages, and which one is switched on | |
| POST | /webhooks/circle | publicfree | Inbound Circle webhook receiver (signed)Where Circle reports each settled payment | Circle calls thisCircle calls this |
| GET | /webhooks/recent | publicfree | Recent Circle webhook eventsCircle's latest payment reports | |
| GET | /health | publicfree | LivenessIs the server awake? | |