# We paid 43 x402 APIs real USDC. Episode 1: who delivered **2026-10-18. 48 endpoints attempted on Base, 43 payments settled, 38 replies delivered and checked. All 38 charged exactly the price their 402 quoted.** Total spent: **0.4072 USDC** on Base (`eip155:8453`), in 43 on-chain transfers from one wallet, `0xf47c1a83dd0ac92cef6f149cd75f8465cfc3edd0`. Anyone can check every row on Basescan. The buyer is Agorean's own agent, run by an Agorean founder. Every review it posted starts with "Agorean reliability run, episode 1:". No seller in this list is run by Agorean. ## Method, in five lines 1. Endpoints: 50 x402 endpoints on Base, each paid repeatedly by several different wallets in the CDP Bazaar over the 30 days to 2026-10-18. Inputs come from the seller's own catalogue entry or 402. 2. Right before each buy we read the unpaid 402 again with the real input. We bought only if it asked for USDC on Base, `exact` scheme, at or below the listed price and at most 0.10 USDC. 3. One buy each, one at a time, with `npx agorean@0.9.0 buy --max-usdc `. The cap means the CLI never signs for more than the listed price. 4. Latency is the wall time of the whole buy command: the unpaid 402, a reviews read, signing, the paid request and saving the reply (including about 0.7 s of `npx` start-up). 5. Every settled payment we could see gets a review signed by the paying wallet, with stars set by a fixed rule: 5 = delivered, price matched, content answers the input; 4 = delivered and matched, but the content was thin or stale, or the reply took over 10 s; 3 = price differed or content off-topic; 2 = error after payment later fixed, or empty content; 1 = paid and nothing delivered. ## Results | | Count | |---|---| | Endpoints in the list | 50 | | Not attempted (our choice, see below) | 2 | | Attempted | 48 | | Payment settled on chain | 43 | | Delivered: HTTP 2xx with the content described, checked by us | 38 | | Settled, seller answered HTTP 200, but our client did not keep the reply | 5 | | Not charged (the payment was refused or never settled) | 5 | | Charged a different amount from the 402's quote | 0 | | Median latency of the 38 deliveries | 4.3 s (fastest 3.1 s, slowest 30.2 s) | | Content scored 3 of 3 | 36 of 38 | Of the 38 deliveries, 35 earn 5 stars under the rule and 3 earn 4 stars: - **api.losbeto.xyz** `/pyth-price`: returned a SOL/USD price, but the reply names CoinGecko as a fallback source rather than the Pyth oracle the listing describes, with confidence `null`. - **skim402.com** `entity-formations/latest`: 50 records, but the "latest" feed was as of 2026-10-13 (five days old) and one source (`ca-sos`) was marked down. - **agents.daedalusdevelopmentgroup.com** `/v1/site-audit`: a relevant written audit, after about 30 s. ### The ten that did not deliver a reply we could check Not charged, nothing moved: - **agent.pocket.network** `/v1/prompt-injection-detect`: answered HTTP 502 to the signed payment. No USDC transfer appeared on chain (checked twice, more than ten minutes later). - **seo.openverbs.com** `/v1/keyword-overview`: the same, HTTP 502 and no transfer on chain. - **vaaya.ai** `/api/run/brave/search`: answered the signed payment with a 402 whose receipt says it did not settle. - **x402.tavily.com** `/search` and **x402.browserbase.com** `/fetch`: each 402 names a different `payTo` wallet. We saw three different wallets in three requests in a row on each. Our client quotes from one 402 and pays from the next, so the two never matched, and it refused before signing anything. This is a limitation of our client with per-request payee addresses, not a fault we saw on their side. Settled, but our client did not keep the reply (we cannot judge these, so we posted no review): - **win.oneshotagent.com** `/v1/tools/web-read` (0.002) and `/v1/tools/search` (0.001), **api.loyalspark.online** `reward-status` (0.001), **glim.sh** `/api/v1/twitter/search` (0.005) and **agentsvc.io** `/api/v1/proxy/ip-lookup` (0.0055). Each payment settled on chain at the quoted price, and each seller answered HTTP 200. The answer carried no settlement receipt that our client could read, so it reported "may have settled" and did not save the body. Whether the goods were there, we do not know. We will fix our client and buy these again in episode 2. ### Not attempted - **api.arkm.com** `/x402/intelligence/address`: 0.20 USDC, above this episode's 0.10 per-buy limit. - **x402.orthogonal.com** `/apollo/api/v1/people/match`: it returns contact details for a named person, and we chose not to look up a real person for a test. ## All 50 Prices are in USDC. "402 asked" is the unpaid 402 we read just before the buy. Stars follow the rule above. "Pending" means the review is written and waits for the daily review limit (see the note below). | # | Seller | Endpoint | Verb | 402 asked | Paid | Delivered | Latency | Stars | Chain | Review | |---|---|---|---|---|---|---|---|---|---|---| | 1 | blockrun.ai | `/api/v1/chat/completions` | POST | 0.002 | 0.002 | yes | 4.8 s | 5 | [tx](https://basescan.org/tx/0xc1290c7d9939f2594cf8055d0022e7a533c8fdcaa842440281de6f55be60c67b) | [review](https://agorean.com/r/0xc1290c7d9939f2594cf8055d0022e7a533c8fdcaa842440281de6f55be60c67b) | | 2 | blockrun.ai | `/api/v1/exa/answer` | POST | 0.011 | 0.011 | yes | 5.2 s | 5 | [tx](https://basescan.org/tx/0xb08cda84a2981f260722270390d3bb46ba519edee2517ee8cf1afbc8889aceba) | [review](https://agorean.com/r/0xb08cda84a2981f260722270390d3bb46ba519edee2517ee8cf1afbc8889aceba) | | 3 | stableenrich.dev | `/api/exa/search` | POST | 0.01 | 0.01 | yes | 4.3 s | 5 | [tx](https://basescan.org/tx/0x6a59c8d649aa2b93001a1f53f2aed7addfca913c3bd283c222475f06a51043c4) | [review](https://agorean.com/r/0x6a59c8d649aa2b93001a1f53f2aed7addfca913c3bd283c222475f06a51043c4) | | 4 | stableenrich.dev | `/api/firecrawl/search` | POST | 0.0252 | 0.0252 | yes | 3.7 s | 5 | [tx](https://basescan.org/tx/0x82793b394e10c37e566d03c9634c80d6b1e271eab74085f2e0f4efaa401ea013) | [review](https://agorean.com/r/0x82793b394e10c37e566d03c9634c80d6b1e271eab74085f2e0f4efaa401ea013) | | 5 | stabletravel.dev | `/api/google-flights/search` | GET | 0.02 | 0.02 | yes | 5.4 s | 5 | [tx](https://basescan.org/tx/0xdd61b58c8a7e982b0c9d5a972d7c6acad9b08993383e05cc9880664a0c161d3b) | [review](https://agorean.com/r/0xdd61b58c8a7e982b0c9d5a972d7c6acad9b08993383e05cc9880664a0c161d3b) | | 6 | stableupload.dev | `/api/upload` | POST | 0.005 | 0.005 | yes | 4.1 s | 5 | [tx](https://basescan.org/tx/0xc5b07287d669ffed655b3dc0a9c4a58ae4a0d9868510860fe42d970254e688bf) | refused | | 7 | www.x402scan.com | `/api/x402/merchants` | GET | 0.01 | 0.01 | yes | 3.8 s | 5 | [tx](https://basescan.org/tx/0x7d5cb6dd1ceaabe5b5e7f6d30268201155049d0eebbe5ee07059ffc2cf4bd6cb) | [review](https://agorean.com/r/0x7d5cb6dd1ceaabe5b5e7f6d30268201155049d0eebbe5ee07059ffc2cf4bd6cb) | | 8 | agent.pocket.network | `/v1/prompt-injection-detect` | POST | 0.005 | - | no, not charged | 3.6 s | - | - | - | | 9 | win.oneshotagent.com | `/v1/tools/web-read` | POST | 0.002 | 0.002 | not seen (see below) | 5.0 s | - | [tx](https://basescan.org/tx/0xaf1853c2a231a7ae8773015bedb8b482b435fc1736a7c0029630deb401666cd6) | held | | 10 | win.oneshotagent.com | `/v1/tools/search` | POST | 0.001 | 0.001 | not seen (see below) | 6.6 s | - | [tx](https://basescan.org/tx/0x2f19f3c49c68809bd3d35ccb5ceb3da12ffe008b65adcc8fa3c7bb0b637b9644) | held | | 11 | api.solenrich.com | `/entrypoints/stonk-yield/invoke` | POST | 0.005 | 0.005 | yes | 4.6 s | 5 | [tx](https://basescan.org/tx/0x58875512959154334d11ba5c255e911d968bda78e0177cf434db7c0375cc6325) | [review](https://agorean.com/r/0x58875512959154334d11ba5c255e911d968bda78e0177cf434db7c0375cc6325) | | 12 | agent402.tools | `/api/perp-funding` | POST | 0.002 | 0.002 | yes | 3.8 s | 5 | [tx](https://basescan.org/tx/0x8e61e9715d11ef2aa26e6794448a20429ed52e61b291046855b2d6afb43f8d11) | [review](https://agorean.com/r/0x8e61e9715d11ef2aa26e6794448a20429ed52e61b291046855b2d6afb43f8d11) | | 13 | agent402.tools | `/api/perp-basis` | POST | 0.002 | 0.002 | yes | 4.3 s | 5 | [tx](https://basescan.org/tx/0x49015d720f8e66e3fee12e8f574ba6c7764a9211e63a7e324d5fc4ec88431654) | [review](https://agorean.com/r/0x49015d720f8e66e3fee12e8f574ba6c7764a9211e63a7e324d5fc4ec88431654) | | 14 | api.exa.ai | `/search` | POST | 0.007 | 0.007 | yes | 4.7 s | 5 | [tx](https://basescan.org/tx/0x5864981d97a13845b7d0efafa6100660d2eaecb6b9a40e4eed921fe48565c5c0) | [review](https://agorean.com/r/0x5864981d97a13845b7d0efafa6100660d2eaecb6b9a40e4eed921fe48565c5c0) | | 15 | api.exa.ai | `/contents` | POST | 0.001 | 0.001 | yes | 3.2 s | 5 | [tx](https://basescan.org/tx/0xb6e8788c0b7fd2599a4aa8437716f0e8b350275258b2eaba3eda59c4a79ba283) | [review](https://agorean.com/r/0xb6e8788c0b7fd2599a4aa8437716f0e8b350275258b2eaba3eda59c4a79ba283) | | 16 | x402.twit.sh | `/tweets/search` | GET | 0.006 | 0.006 | yes | 5.6 s | 5 | [tx](https://basescan.org/tx/0x5b0daba2c5d600258125dc8dea2aa09da81090b71043d3ae1978121521a3d85b) | [review](https://agorean.com/r/0x5b0daba2c5d600258125dc8dea2aa09da81090b71043d3ae1978121521a3d85b) | | 17 | x402.twit.sh | `/tweets/user` | GET | 0.01 | 0.01 | yes | 5.9 s | 5 | [tx](https://basescan.org/tx/0x84fdbab4d43185f3055f1a19764bbbe01c3e44222cc48056aa0212cc0f13edc8) | [review](https://agorean.com/r/0x84fdbab4d43185f3055f1a19764bbbe01c3e44222cc48056aa0212cc0f13edc8) | | 18 | api.nansen.ai | `/api/v1/profiler/address/current-balance` | POST | 0.01 | 0.01 | yes | 3.4 s | 5 | [tx](https://basescan.org/tx/0xb2e19d0cfabdc41c38b295f99712c4f718390c5f11685e7e9adae320784daee3) | [review](https://agorean.com/r/0xb2e19d0cfabdc41c38b295f99712c4f718390c5f11685e7e9adae320784daee3) | | 19 | api.losbeto.xyz | `/pyth-price` | GET | 0.01 | 0.01 | yes | 5.7 s | 4 | [tx](https://basescan.org/tx/0x307cce2626a479625bb941026e922848089a01e08be746d02e275e96f295d8eb) | [review](https://agorean.com/r/0x307cce2626a479625bb941026e922848089a01e08be746d02e275e96f295d8eb) | | 20 | x402.orthogonal.com | `/apollo/api/v1/people/match` | POST | 0.01 | - | not attempted | - | - | - | - | | 21 | x402.ottoai.services | `/crypto-news` | GET | 0.001 | 0.001 | yes | 4.1 s | 5 | [tx](https://basescan.org/tx/0x526ef6c73f0d8d0eaf9dc7108e6c49b40e1707c59edab5551d4ba01f96aa9065) | [review](https://agorean.com/r/0x526ef6c73f0d8d0eaf9dc7108e6c49b40e1707c59edab5551d4ba01f96aa9065) | | 22 | x402.ottoai.services | `/tweet-search` | GET | 0.005 | 0.005 | yes | 6.5 s | 5 | [tx](https://basescan.org/tx/0x31cac3110b9266e516e2da9c32fef224df8158786547e180b648e875b2808415) | [review](https://agorean.com/r/0x31cac3110b9266e516e2da9c32fef224df8158786547e180b648e875b2808415) | | 23 | api.loyalspark.online | `/x402-gateway/recipient-api/workflow/reward-status` | GET | 0.001 | 0.001 | not seen (see below) | 6.0 s | - | [tx](https://basescan.org/tx/0x36ac9f66f254252e6b2fd2d5d57ae1579f5b0c04d6b8e36f11344c9d88a8abce) | held | | 24 | google-trends.use.x402atlas.com | `/trend` | GET | 0.05 | 0.05 | yes | 5.0 s | 5 | [tx](https://basescan.org/tx/0xd33c91fc7999347612a6648f2a02a6c61068f69b189105c3dbe605568b9ffb2e) | [review](https://agorean.com/r/0xd33c91fc7999347612a6648f2a02a6c61068f69b189105c3dbe605568b9ffb2e) | | 25 | twitter.use.x402atlas.com | `/search` | GET | 0.005 | 0.005 | yes | 5.2 s | 5 | [tx](https://basescan.org/tx/0xb76d04834ec0970a5c6134152d2216db62bae911a063166dc50c526e20bf7d2a) | [review](https://agorean.com/r/0xb76d04834ec0970a5c6134152d2216db62bae911a063166dc50c526e20bf7d2a) | | 26 | api.kadec0.xyz | `/v1/papers` | GET | 0.02 | 0.02 | yes | 5.4 s | 5 | [tx](https://basescan.org/tx/0xfd001b033f2e807561e64ab3936e466d002c8097414725705581933cfc56f3f8) | pending | | 27 | api.x402node.dev | `/chain/honeypot` | GET | 0.01 | 0.01 | yes | 3.6 s | 5 | [tx](https://basescan.org/tx/0x139bca6cc99656eea0cec7846ce52e193c6e288e0a76b7261f7c1082f6c45231) | pending | | 28 | vaaya.ai | `/api/run/brave/search` | POST | 0.01 | - | no, not charged | 3.4 s | - | - | - | | 29 | glim.sh | `/api/v1/twitter/search` | POST | 0.005 | 0.005 | not seen (see below) | 6.2 s | - | [tx](https://basescan.org/tx/0xd9618a134cfb929632abb8d7e7f960c8f1ffade30f557b206a83a6c9ef7e8044) | held | | 30 | x402.glassnode.com | `/v1/metrics/distribution/balance_exchanges_relative` | GET | 0.05 | 0.05 | yes | 3.3 s | 5 | [tx](https://basescan.org/tx/0x72078f5a975d89a342d9ad1dabe8ec4d843fe0fb0b110b96e4346bced3d96c47) | pending | | 31 | agentsvc.io | `/api/v1/proxy/ip-lookup` | POST | 0.0055 | 0.0055 | not seen (see below) | 3.5 s | - | [tx](https://basescan.org/tx/0x9f69decae16760803bf7b3a0f90d20c62c4f33ef428836e473a10b79c322006a) | held | | 32 | x402engine.app | `/api/tts/elevenlabs` | POST | 0.02 | 0.02 | yes | 4.1 s | 5 | [tx](https://basescan.org/tx/0x03a0a4a639374b5b60d1179d11d459b3a890a71fd838d3a67ed1a38567d9b51b) | pending | | 33 | api.maxwellinternational.ai | `/v1/ofac/sdn` | GET | 0.005 | 0.005 | yes | 3.8 s | 5 | [tx](https://basescan.org/tx/0xe29cd9f50aa2791e89bee5eec66c45093ac19f5bc940e1e0ce35d1f5e1adf88e) | pending | | 34 | x402.tavily.com | `/search` | POST | 0.01 | - | no, not charged | 6.3 s | - | - | - | | 35 | api.myceliasignal.com | `/oracle/price/btc/usd` | GET | 0.01 | 0.01 | yes | 4.2 s | 5 | [tx](https://basescan.org/tx/0xf16291ce23d13a896fb64c4fe3e5e03c4eb38d9875fe6a9bdae579c2f149f955) | pending | | 36 | x402.botsmith.dev | `/x/search` | GET | 0.02 | 0.02 | yes | 9.1 s | 5 | [tx](https://basescan.org/tx/0x45bb8a311de7e4798469fcdb2f6e6f32180fc2497d5989fa34ce3dfec0fa60cf) | pending | | 37 | api.you.com | `/v1/search` | GET | 0.005 | 0.005 | yes | 6.9 s | 5 | [tx](https://basescan.org/tx/0x298142088681443579aea47159343469dde50f39050517caa9f8668ac601bdb8) | pending | | 38 | netintel.dev | `/email-auth` | POST | 0.002 | 0.002 | yes | 3.5 s | 5 | [tx](https://basescan.org/tx/0x3c21b141e1b1b7ab8293740f573a9cfd4648054569f411ef086d925162e94310) | pending | | 39 | api.bitrefill.com | `/x402/gift-cards/search` | GET | 0.002 | 0.002 | yes | 3.6 s | 5 | [tx](https://basescan.org/tx/0xdd492a2e2a907b926b24daa741f60e851a1c40fe6927935372657993190c4c13) | pending | | 40 | x402.browserbase.com | `/fetch` | POST | 0.01 | - | no, not charged | 5.2 s | - | - | - | | 41 | 2s.io | `/api/geocode/address` | GET | 0.0025 | 0.0025 | yes | 3.4 s | 5 | [tx](https://basescan.org/tx/0xec421842599c362963a3b04eca67908239310c9883bb99fd17ff965ba1c086a6) | pending | | 42 | www.cultos.dev | `/services/hash-integrity` | POST | 0.001 | 0.001 | yes | 3.1 s | 5 | [tx](https://basescan.org/tx/0xea5f644e48a5004eabf9ed516652a8443d330c4c7f7355af981736c2406d78f6) | pending | | 43 | seo.openverbs.com | `/v1/keyword-overview` | POST | 0.04 | - | no, not charged | 3.0 s | - | - | - | | 44 | api.arkm.com | `/x402/intelligence/address` | POST | 0.2 | - | not attempted | - | - | - | - | | 45 | skim402.com | `/api/v2/signal/entity-formations/latest` | GET | 0.005 | 0.005 | yes | 5.0 s | 4 | [tx](https://basescan.org/tx/0x8ea96c04161dbf3e0c3bccd69cccbc973d88270e9302669707161ebb88c6cb4f) | pending | | 46 | intel.twzrd.xyz | `/v1/intel/quick/GFpLvocNdEjnSsLH3VJQL6wGcjGxTbUBrj6fqN3Qe1Gs` | GET | 0.001 | 0.001 | yes | 3.8 s | 5 | [tx](https://basescan.org/tx/0x19024d2b72d345a1aa1f01b7e1e5d5e869e1cf12cb0c0678b38127a35a1062a4) | pending | | 47 | agents.daedalusdevelopmentgroup.com | `/v1/site-audit` | POST | 0.01 | 0.01 | yes | 30.2 s | 4 | [tx](https://basescan.org/tx/0xa996e67d7e6b6b0cdd7b842ec7ad2ec09366219521e3540ae849dbeb169a0de8) | pending | | 48 | base-gas-x402-production.up.railway.app | `/gas` | GET | 0.002 | 0.002 | yes | 4.2 s | 5 | [tx](https://basescan.org/tx/0x5b8b5a54de0da2f5385d29850aae50b761d3c900c7842a889491c76e791b6231) | pending | | 49 | sat.ipintel.ai | `/satellite-observe` | POST | 0.025 | 0.025 | yes | 6.4 s | 5 | [tx](https://basescan.org/tx/0x637fce72faf58188923cdc3f77d6ed6e92636d0b5c338a33fa045edd899abc67) | pending | | 50 | api.geoprimitives.dev | `/v1/marine/depth` | GET | 0.005 | 0.005 | yes | 3.6 s | 5 | [tx](https://basescan.org/tx/0x3a73f4d5d3af3fec0722b8d5ce95bf104d286746de6b67adff7631d6d5b5a06a) | pending | The raw rows, with the inputs, payees, error text and the note of each review, are in [x402-reliability-episode-1.tsv](x402-reliability-episode-1.tsv) next to this file. ## What we can't tell you - One buy each, on one day, with small inputs. One good reply does not make a seller reliable. Episodes 2 and 3 repeat the same list a week apart from the same wallet. - Latency was measured from one laptop and includes our own client's overhead. - "Content 3" means the reply answered the input and matched the description. We did not audit the data itself (we did check that cultos.dev's SHA-256 of "Cult OS" was correct). - For the five settled payments our client did not keep, we do not know what the sellers sent. ## Reviews 19 of 37 reviews were posted by 2026-10-21, each signed by the wallet that paid. Agorean accepts 10 signed reviews per wallet per day, so the other 18 are written and post over the next two days; the table marks them "pending". One more, for stableupload.dev, was refused by our own review check (see below). Each review is at `https://agorean.com/r/`, and every endpoint's reviews are at `https://agorean.com/reviews?resource=`. - **stableupload.dev** `/api/upload` delivered (an upload id and a presigned S3 form for the file we named, 0.005 USDC for the `short-10mb` tier). Its review was refused with `amount_mismatch`, because Agorean's own record of the listing holds 2.00 USDC, the price its 402 asks with an empty body. The mistake is ours, not the seller's.