The finding: Coinbase’s index is the closest thing the agent-payments world has to a ledger — a resource appears in it once the CDP facilitator has settled at least one payment for it, and every row carries a 30-day call count. Summed over all 14,820 resources: 289,401 paid calls in 30 days. Multiply each resource’s calls by its listed minimum price and the entire CDP-facilitated x402 market is at most ~$9,416 per 30 days — about $314 a day, and 54% of that goes to ten domains.
The median resource had 1 call. 51% had at most one; 86% had five
or fewer. 34 resources (0.2%) received 60% of all calls,
and the single busiest — chain.link — is 12.6% of the
market from 1 payer.
Supply is as concentrated as demand: 10 domains hold 5,702 listings (38%), one per
topic from a template, and six receiving addresses are payTo for 38% of all listed resources. 898 resources
declare a USDC-on-Base signing domain a standard x402 client cannot sign for.
Look up an endpoint
Paste an x402 resource URL or hostname. Shows what the index recorded on 2026-08-28 and what our probe got back; the “inspect now” link fetches the live 402 with the x402 Endpoint Inspector.
Where the calls go
| Resource | Calls / 30d | Unique payers | Min price |
|---|---|---|---|
| https://agents.chain.link/v1/operations/:workflowName Chainlink For Agents: execute a catalog workflow by workflow name. | 36,335 | 1 | $0.010 |
| https://x402.twit.sh/tweets/search Search Twitter/X tweets with advanced filters. Returns up to 20 tweets per page, most rece | 27,745 | 27 | $0.0060 |
| https://stableenrich.dev/api/exa/search Exa Search - Neural search across the web | 21,022 | 243 | $0.010 |
| https://agents.chain.link/v1/operations/:operationId/submit Chainlink For Agents: submit a signed operation payload. | 16,083 | 1 | $0.0020 |
| https://stabletravel.dev/api/seats-aero/search Search cached Seats.aero award availability by origin, destination, dates, cabin, carriers | 6,954 | 8 | $0.020 |
| https://x402.tavily.com/search Tavily Search - advanced mode | 4,856 | 161 | $0.010 |
| https://enrichx402.com/api/exa/contents Exa Contents - Retrieve content from URLs | 4,477 | 2 | $0.0020 |
| https://stableenrich.dev/api/exa/contents Exa Contents - Retrieve content from URLs | 4,289 | 90 | $0.0020 |
| https://glim.sh/api/v1/twitter/search Search tweets with advanced operators (recommended). Body param is `query` (not q), e.g. { | 4,014 | 14 | $0.0050 |
| https://enrichx402.com/api/exa/search Exa Search - Neural search across the web | 3,848 | 2 | $0.010 |
| https://api.deepnets.ai/api/token-safety Token safety analysis for a Solana mint: overall risk level, wallet-network concentration, | 3,471 | 4 | $0.010 |
| https://api.exa.ai/search Exa /search endpoint | 3,231 | 87 | $0.0070 |
| https://token4u.ai/v1/chat/completions gpt-4o-mini API call (~128 tokens) | 2,850 | 3 | — |
| https://x402.ottoai.services/tweet-search Search X/Twitter for any query and get the actual matching tweets — keyword, $CASHTAG, fro | 2,831 | 13 | $0.0050 |
| https://stableenrich.dev/api/firecrawl/search Firecrawl Search - Search the web | 2,566 | 74 | $0.025 |
25 resources with more than 50 calls report almost exactly one unique payer per call
(https://api.onesource.io/api/chain/erc20-balance (1,045 calls, 1,042 payers); https://api.onesource.io/api/chain/ens/:input (1,017 calls, 1,009 payers); https://api.onesource.io/api/chain/live-balance (930 calls, 925 payers); https://api.onesource.io/api/chain/tx/:hash (923 calls, 869 payers); https://api.onesource.io/api/chain/nonce/:address (709 calls, 706 payers)) — a fresh wallet for every request, which is either wallet-per-task agents or someone farming the “unique payers” column.
By domain
| Domain | Resources | Calls / 30d | Share | Payers (sum) |
|---|---|---|---|---|
| chain.link | 3 | 52,427 | 18.1% | 3 |
| stableenrich.dev | 15 | 32,288 | 11.2% | 727 |
| twit.sh | 13 | 28,150 | 9.7% | 108 |
| onesource.io | 25 | 14,741 | 5.1% | 14,365 |
| stabletravel.dev | 21 | 8,729 | 3.0% | 49 |
| enrichx402.com | 2 | 8,325 | 2.9% | 4 |
| deepnets.ai | 20 | 8,296 | 2.9% | 44 |
| blockrun.ai | 132 | 6,128 | 2.1% | 400 |
| loyalspark.online | 27 | 6,106 | 2.1% | 877 |
| ottoai.services | 66 | 5,759 | 2.0% | 756 |
| vercel.app | 233 | 5,243 | 1.8% | 1,360 |
| glim.sh | 29 | 5,107 | 1.8% | 102 |
36 of 789 domains had more than 1,000 calls; 152 had more than 100. 1,516 resources were called in the 24 hours before the fetch, 5,356 in the last 7 days.
The revenue proxy
Each resource’s 30-day calls × its minimum listed exact-scheme price. upto-style ceilings and listed amounts of
$1,000 or more are placeholders, not prices, and are excluded (1,051 resources list one). It assumes every settled call paid the listed minimum, so it is an
upper bound on CDP-facilitated revenue — and a lower bound on the market, because other facilitators are invisible to this index.
| Domain | ≤ USD / 30d | Share |
|---|---|---|
| stableenrich.dev | $1,160 | 12.3% |
| laso.finance | $772 | 8.2% |
| govparse.io | $658 | 7.0% |
| mudko.com | $645 | 6.8% |
| arkm.com | $443 | 4.7% |
| chain.link | $396 | 4.2% |
| apify.com | $375 | 4.0% |
| theaslangroupllc.com | $214 | 2.3% |
| stabletravel.dev | $206 | 2.2% |
| m2mcent.com | $203 | 2.2% |
Total $9,416. 14 resources clear $100 in the window; 109 clear $10. Median listed price $0.010; p90 $0.150.
What is for sale
Price per call (minimum listed)
| Bucket | Resources | Share |
|---|---|---|
| ≤$0.001 | 1,913 | 13.0% |
| $0.001–0.01 | 6,497 | 44.1% |
| $0.01–0.10 | 4,388 | 29.8% |
| $0.10–1 | 1,762 | 12.0% |
| $1–10 | 131 | 0.9% |
| >$10 | 28 | 0.2% |
Networks (payment options)
| Network | Options | Share |
|---|---|---|
| eip155:8453 Base | 16,669 | 47.3% |
| solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp Solana | 5,425 | 15.4% |
| eip155:137 Polygon | 1,843 | 5.2% |
| xrpl:0 XRPL | 1,752 | 5.0% |
| eip155:42161 Arbitrum | 1,740 | 4.9% |
| eip155:480 World Chain | 1,179 | 3.3% |
| eip155:56 BNB Chain | 1,084 | 3.1% |
| eip155:143 Monad | 1,066 | 3.0% |
| eip155:196 X Layer | 957 | 2.7% |
| algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73k Algorand | 876 | 2.5% |
35,263 payment options across 14,820 resources. Schemes: exact 34,842 · upto 283 · exact_cosmos_authz 45 · batch-settlement 43 · onchain 28 · exact-amount-onchain 12. 14,586 resources accept on Base, 5,374 on Solana.
The template farms
| Domain | Resources | Calls / 30d | Calls per resource |
|---|---|---|---|
| delx.ai | 996 | 1,664 | 1.7 |
| m2mcent.com | 965 | 1,020 | 1.1 |
| theaslangroupllc.com | 875 | 1,741 | 2.0 |
| workers.dev | 479 | 4,016 | 8.4 |
| forgemesh.io | 461 | 786 | 1.7 |
| orthogonal.com | 431 | 765 | 1.8 |
| magentlab.com | 424 | 702 | 1.7 |
| halowerk.com | 373 | 510 | 1.4 |
| x402node.dev | 351 | 3,972 | 11.3 |
| agentstools.dev | 347 | 727 | 2.1 |
| vercel.app | 233 | 5,243 | 22.5 |
| onrender.com | 208 | 753 | 3.6 |
Who gets paid
| payTo | Resources | Domains |
|---|---|---|
| 0x9f8bd9875b3e0b632a24a3a7c73f7787175e73a2 | 996 | delx.ai |
| 28heampfkeujsl7o7apik4ojwzwq2fuhinrwbgyysemg | 996 | delx.ai |
| 0xb04994fbca786ae03ce3354fed2435c2e04020ec | 965 | m2mcent.com |
| 0x50ab2018c06c6e4eaa9ba52057eb55ed284912fc | 875 | theaslangroupllc.com |
| 985ifjbngq3djcwxnfrcmsrh4jnc3kw1n6msr64b5kx1 | 875 | theaslangroupllc.com |
| 62a253ypatfnjcprkid3fkd77myjfntvryrp4b4jwg36eglpy7uxfwgi7i | 854 | theaslangroupllc.com |
1,323 distinct receiving addresses for 14,820 resources.
The signing-domain check
An exact-scheme option on USDC-on-Base is paid with an EIP-3009 authorization signed over the token’s EIP-712 domain,
which for Base USDC is name: "USD Coin", version: "2". Every option is checked against that reference (the same check the
inspector runs): 898 resources declare a different domain — GatewayWalletBatched v1 (891), USDC v2 (7).
Nearly all of them are on theaslangroupllc.com 845, coil.trade 22, aitrailblazer.net 14, zenvault.eu 6, watchevelive.com 4, locus.report 3. A stock x402 client signs with the wrong domain, the facilitator rejects the signature, and the
resource shows up as “listed, never paid” unless the seller runs a non-standard settlement path.
What answered the probe
One GET per unique URL, no payment header, 10-second timeout, identifying User-Agent. A 402 whose body (v1) or
PAYMENT-REQUIRED header (v2) parses as an x402 challenge counts as live. Many listed resources are POST-only or need
parameters, so a 405 or 400 means “alive, wants a different request”, not dead.
| Outcome | URLs | Share | Meaning |
|---|---|---|---|
x402-402 | 11,488 | 77.5% | 402 with a parseable x402 challenge — live and payable |
405-method | 1,063 | 7.2% | alive, but the resource is POST-only (or similar) |
404 | 1,031 | 7.0% | nothing at the listed path |
2xx-no-paywall | 431 | 2.9% | served content to a bare GET without a challenge |
timeout | 302 | 2.0% | no response within 10 s |
http-429 | 195 | 1.3% | |
auth-required | 112 | 0.8% | 401/403 — wants a key or auth before any 402 |
http-400 | 99 | 0.7% | |
5xx | 37 | 0.2% | server error |
402-not-x402 | 23 | 0.2% | 402, but the body/header is not an x402 challenge |
x402-body-on-405 | 18 | 0.1% | |
http-410 | 11 | 0.1% | |
dead | 6 | 0.0% | hostname no longer resolves |
http-422 | 2 | 0.0% | |
error | 1 | 0.0% | TLS / connection error |
x402-body-on-200 | 1 | 0.0% |
Among resources with more than 100 calls in the window: x402-402 193 · 404 30 · 405-method 17 · http-429 5 · 2xx-no-paywall 5 · auth-required 1 · http-400 1. Live challenge versions:
v2 11,317, v1 171; challenge found in
header 11,266, body 222.
Listed vs. live minimum price where both were readable: 11,187 identical, 280 different.
Facilitators
The 21 facilitators in the registry, asked GET /supported on 2026-08-28. 10 of 21 answered with a
kinds[] list.
| Facilitator | Status | Kinds | Networks claimed |
|---|---|---|---|
| Coinbase CDP Facilitator https://facilitator.cdp.coinbase.com | error | — | |
| Polygon Facilitator https://x402.polygon.technology | supported-ok | 2 | eip155:137, polygon |
| Questflow — | no-api-url | — | |
| Heurist https://facilitator.heurist.xyz | supported-ok | 6 | base, eip155:196, eip155:8453, eip155:988, stable, xlayer |
| X402rs https://facilitator.x402.rs | supported-ok | 31 | base-sepolia, eip155:10143, eip155:11155111, eip155:1328, eip155:16602, eip155:324705682, eip155:421614, eip155:6343 … |
| PayAI https://facilitator.payai.network | supported-ok | 32 | arbitrum, arbitrum-sepolia, avalanche, avalanche-fuji, base, base-sepolia, eip155:1187947933, eip155:1329 … |
| CodeNut https://facilitator.codenut.ai | error | — | |
| AurraCloud — | no-api-url | — | |
| OpenX402 https://open.x402.host | error | — | |
| KAMIYO https://kamiyo.ai/api/v1/x402 | http-503 | — | |
| Thirdweb https://api.thirdweb.com/v1/payments/x402 | http-404 | — | |
| Daydreams https://facilitator.daydreams.systems | supported-ok | 16 | base, base-sepolia, eip155:1, eip155:8453, eip155:84532, solana, solana-devnet, solana-testnet … |
| Ultravioleta DAO — | no-api-url | — | |
| Corbits https://facilitator.corbits.dev | error | — | |
| Dexter https://facilitator.dexter.cash | supported-ok | 44 | arbitrum, avalanche, base, base-sepolia, bsc, eip155:10, eip155:1187947933, eip155:137 … |
| Mogami https://facilitator.mogami.tech | supported-ok | 2 | base, base-sepolia |
| 402104 https://x402.load.network | supported-ok | 3 | base, base-sepolia, polygon-amoy |
| xEcho https://www.xechoai.xyz | http-402 | — | |
| Virtuals Protocol https://acpx.virtuals.io | http-404 | — | |
| x402.org Community/Dev Facilitator https://x402.org/facilitator | supported-ok | 11 | algorand:SGO1GKSzyE7IEPItTxCByw9x8FmnrCDe, aptos:2, base-sepolia, eip155:84532, hedera:testnet, solana-devnet, solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1, stellar:testnet … |
| xpay https://facilitator.xpay.sh | supported-ok | 4 | base, base-sepolia, eip155:8453, eip155:84532 |
Get the data
Free — CC BY 4.0
One row per Bazaar resource: URL, domain, index counters (calls, payers, last call), networks, schemes, minimum price, EIP-712 check, probe outcome. No descriptions, no payTo, no revenue proxy.
curl -sO https://fetchgate.dev/data/x402-bazaar-audit-2026-08-28.resources.jsonl
jq -c 'select(.probe.outcome=="x402-402" and .calls30d>100)|.resource' \
x402-bazaar-audit-2026-08-28.resources.jsonl
Full registry — $15
The x402 Services & Facilitator Registry, 2026-08-28 edition: all 14,820 resources with descriptions, every payment option’s networks/schemes/prices/payTo,
the per-resource revenue proxy, full probe detail (status, live version, live price, timing), the 21 facilitators with live /supported results, the curated 118-service table, schema and README.
Method, and what this does not show
- Source:
api.cdp.coinbase.com/platform/v2/x402/discovery/resources, all 149 pages, fetched 2026-08-28 21:35 UTC. Thequalitycounters are Coinbase’s. - CDP only. The index sees what the CDP facilitator settles. Resources settling through PayAI, x402.rs, Daydreams and the rest are undercounted or absent — Fetchgate’s own endpoints are not in it. The market is bigger than this number; how much bigger, nobody publishes.
- Calls are not revenue. The proxy uses the listed minimum price and assumes every call paid it. Treat it as a ceiling on CDP-facilitated revenue.
- The probe is one unauthenticated GET. A resource that needs POST, a body, or auth reads as 405/400/401, not as dead.
2xx-no-paywallmeans the URL served content without a challenge to a bare GET, nothing more. - EIP-712 “wrong-domain” is measured against the standard USDC domain. A seller with a bespoke settlement path may work fine; a stock client will not.
- “Farms” are domains with more than 300 listings. That is a size threshold, not a judgement.
- A snapshot. Counters are trailing 30-day windows at fetch time; 14,819 URLs were probed once.
So what?
If you are pricing an x402 product: the market that exists clears roughly $314 a day through the dominant facilitator, at a median of $0.010 a call, and 51% of listed resources sold at most once in a month. Discovery is solved — being indexed is automatic once one payment settles — and demand is the whole problem, same as the crawler census found from the other side. Before you build for agents, check that your seller-side integration would actually verify (the inspector catches the 898-resource domain mistake in one request) and read the x402 vs. Stripe comparison before betting the pricing model on it.