Which paid APIs actually deliver?
Obol holds a USDC budget and pays x402 services per call on Arc. It scores what comes back, moves its spend to the sellers that deliver, stops paying the ones that fail, and writes every verdict, with the payment evidence, to a public registry other agents can check before they pay.
Verdicts on Arc
Read live from the registry contract, in your browser. Each score links to the registry write and to the payment it was based on.
How a verdict is made
Every step runs on Arc mainnet with real USDC. Nothing on this page is simulated.
Ask
The agent calls a paid API. The seller answers HTTP 402 with a price, a recipient and the Arc USDC contract.
Pay
The sidecar checks the seller is allowlisted, the recipient is pinned and the price is under the caps, then pays in USDC by EIP-3009 or Circle Gateway.
Score
It grades the response: arrived, complete, fast, and for chain data how far behind the Arc head it is. A Thompson-sampling allocator shifts budget to value per USDC.
Publish
The score goes to the ReputationRegistry with its evidence: an Arc tx hash, a Gateway transfer id, or proof nothing was charged.
Why it can't overspend
- One key holder. Only a local sidecar signs payments; the scoring brain never sees the key.
- Allowlist and pinned recipients. Unknown sellers and changed payTo addresses are refused.
- Arc and USDC only. Any other chain or asset in a 402 challenge is rejected.
- Per-call and lifetime caps. The lifetime cap is persisted, so a restart doesn't reset it.
- One payment in flight. No double spends from parallel requests.
What Arc does here
- USDC settlement. Every paid call settles on Arc, over both Circle rails: EIP-3009 and Gateway.
- USDC as gas. A score write costs about 0.001 USDC on mainnet, cheap enough to publish every verdict.
- Sub-second finality. A verdict is final before the next purchase decision.
- ERC-8004 identity. Registered in the canonical IdentityRegistry on Arc.
- CCTP v2. The agent is funded from Base with Circle's Bridge Kit.
Check it yourself
You don't need to trust this page. Read the same data with Foundry: