6 whitelist services we bought with real USDC — each with the exact call and the real response. Plus how to make your first payment, what to avoid, the market this week, and exactly how we test.
No account, no API key, no subscription. You need a wallet that can pay USDC on Base, and a client that speaks x402.
Coinbase Wallet or MetaMask on the Base network. Buy 5–10 USDC. Most services have a facilitator pay gas, so you can run on 0 ETH.
For a human at a terminal — the official CLI:
For an agent in code — the @x402/fetch library wraps fetch to pay automatically.
request → 402 Payment Required → wallet pays USDC → retry → 200 + data. The client does pay-and-retry for you; it settles in seconds.
eip155:8453 network format, and older client libraries silently reject it and fail to pay.
Use a current client (@x402/* v2.11+ or latest awal), not the old x402-fetch package.
Keep your x402 wallet separate from your main funds — most services don't refund, so try a cheap endpoint first.
6 services that clear our strictest bar — we paid, captured the response, and verified the content is real (signature checks, on-chain forensics, a live database we wrote to and read back), then a human signed off. Picked to show what x402 actually unlocks for your agent — things it genuinely cannot do alone, not "look up a number you could Google in a second." Every entry shows the exact endpoint and the real body it returned.
POST stablephone.dev/api/call · body {phone_number, task} · $0.54
Receipt0xd7c5…c5d6c ↗ · Base · USDC
GET globalapi.dev/compliance/counterparty/0x098B…2f96 · $0.01
Receipt0x5cd2…dea7b ↗ · Base · USDC
GET api.myceliasignal.com/oracle/price/btc/usd · $0.01
Receipt0x05a3…b70e7 ↗ · Base · USDC
GET api.myceliasignal.com/oracle/price/eur/usd · $0.01
Receipt0x15ee…bb379 ↗ · Base · USDC
POST stablebase.dev/api/stablebase/projects/* · $1 + $0.02 + $0.05
Receipt0x376c…76900 ↗ · Base · USDC
Everything above is a service that worked. This section is the other half: what you run into on a service nobody has checked.
These are all real purchases we made, with the on-chain receipt and the exact amount we lost on each. We don't name the services. The point is not to shame anyone — services get fixed, and a name published today is wrong next month. The point is that these failure modes are common enough that we hit every one of them, and that an agent paying automatically will not notice any of them. Every receipt below is public: click it.
A. It takes your money and hands back its own error
The payment settled fine. What came back was the service telling us its own database was unreachable. Nothing was fabricated — it was simply broken, and it charged us anyway. Your agent gets a string where it expected data.
B. It returns a well-formed answer that is empty
HTTP 200, valid JSON, correct shape — and no content. Every meta field was null, including the ones that would have told us the backend was disconnected. This is the dangerous one: a schema check passes, so your agent proceeds as if it got an answer.
Same shape as above, different disguise: every number present, every number zero, including a counter saying zero records were analysed. We re-tested it a month later and got the same zeros.
C. It answers with something that is not the real thing — and says so, quietly
We paid for a live central-bank rate. We got a number — and, buried in the same response, the service's own admission that its upstream source was unavailable and this was a fallback estimate. An agent reading only the number treats a placeholder as live data. This is the failure mode we think is most under-appreciated in this market.
No detective work needed on this one: the payload contained a note, written by the service, saying the data was mock. It still charged.
D. It contradicts its own payment challenge
A service's 402 challenge declares what it will return. This one declared JSON and then served a rendered web page. Your client pays on the strength of that challenge, so a mismatch here means the thing you agreed to buy is not the thing you got.
E. You cannot pay it at all — and it still looks open for business
These have no receipt, for the obvious reason: no money ever moved. All four were listed and advertising a price. One only demanded payment when the request was malformed — send a correct request and it answers for free, so a paying client never pays. One returned real content on every call and never settled on-chain. One took payment on an endpoint that returns only a stub, with the real service sitting elsewhere for free. One published a payment challenge that a spec-conforming client mathematically cannot sign.
We spent $0 on these and got nothing, which sounds harmless until you notice the cost is your agent's retry loop and your engineer's afternoon. Listed and priced is not the same as payable.
In a market where a large share of volume is wash — services paying themselves to look busy — a high transaction count is not a quality signal, and is often the opposite. Don't pick services off a volume leaderboard. A pattern warning, not an accusation against any named service.
You don't have to take "most of this market's volume isn't real" on faith. Here's the current state in numbers, what's actually usable today, and the one mistake to avoid when picking services.
Dates on everything: the numbers below refresh weekly and carry their own date.
The six services in section ② are the strictest cut of the verified set — the ones we'd point our own agent at first.
Most catalogs rank services by how much money flows through them on-chain. In this market that surfaces exactly the wrong things:
That's why Atlas doesn't rank by volume. We pay to call a service and report what came back. Volume is only ever a per-service anomaly flag — never a recommendation.
Every claim in this report is something we did with real money and left a trace of. Here's the method.
Keeping the corrections visible is the point. An auditor that hides its errors is just another black box.
verdict, the seller's payment address, on-chain tx + amount, the captured response, and the exact request that produced it (495+ paid tests went
into it, every one on-chain) — is one paid call for your agent: GET https://402atlas.com/api/verified — $0.10 USDC over x402, no API key, no signup.