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 27,681 resources: 770,183 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 ~$19,008 per 30 days — about $634 a day, and 66% of that goes to ten domains.
The median resource had 1 call. 54% had at most one; 91% had five
or fewer. 54 resources (0.2%) received 80% of all calls,
and the single busiest — ax1.vc — is 40.0% of the
market from 4,635 payer.
Supply is as concentrated as demand: 14 domains hold 15,955 listings (58%), one per
topic from a template, and six receiving addresses are payTo for 44% of all listed resources. 238 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-10-04 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://www.ax1.vc/api/dashboard/q-verdict/resource Send a Base token contract address, get an AI-written verdict: onchain metrics, a plain-la | 307,996 | 4,635 | $0.020 |
| https://blockrun.ai/api/v1/chat/completions AI chat completions API - pay per request with USDC on Base | 50,856 | 226 | $0.0020 |
| https://agents.chain.link/v1/operations/:workflowName Chainlink For Agents: execute a catalog workflow by workflow name. | 37,376 | 1 | $0.010 |
| https://stableenrich.dev/api/exa/search Exa Search - Neural search across the web | 24,600 | 186 | $0.010 |
| https://x402.sniperx.fun/api/v1/token/activities/smarttraders_smartmoney Get SmartMoney trading activities on token (sorted by time descending) | 22,934 | 9 | $0.020 |
| https://agents.chain.link/v1/operations/:operationId/submit Chainlink For Agents: submit a signed operation payload. | 16,591 | 1 | $0.0020 |
| https://win.oneshotagent.com/v1/tools/web-read Read a web page and extract content as markdown with screenshot | 11,868 | 9 | $0.0020 |
| https://win.oneshotagent.com/v1/tools/verify/email Email deliverability verification | 9,179 | 14 | $0.0010 |
| https://keyring-agent.blockchhub.link/api/send-token Pay the send-token execution fee (ERC-20 transfer) | 8,768 | 59 | $0.050 |
| https://keyring-agent.blockchhub.link/api/send-native Pay the send-native execution fee (native coin transfer) | 8,707 | 54 | $0.050 |
| https://api.exa.ai/search Exa /search endpoint | 6,109 | 87 | $0.0070 |
| https://blockrun.ai/api/v1/messages Anthropic-compatible Messages API — pay per token with USDC on Base | 5,903 | 10 | $0.011 |
| https://x402.sniperx.fun/api/v1/token/activities/smarttraders_kol Get KOL trading activities on token (sorted by time descending) | 5,738 | 3 | $0.020 |
| https://x402.sniperx.fun/api/v1/token/activities/smarttraders_whale Get Whale trading activities on token (sorted by time descending) | 5,734 | 2 | $0.020 |
| https://stableenrich.dev/api/exa/contents Exa Contents - Retrieve content from URLs | 5,034 | 72 | $0.0020 |
46 resources with more than 50 calls report almost exactly one unique payer per call
(https://api.onesource.io/api/chain/erc20-balance (823 calls, 815 payers); https://api.onesource.io/api/chain/live-balance (723 calls, 718 payers); https://api.onesource.io/api/chain/erc20-transfers (596 calls, 567 payers); https://api.onesource.io/api/chain/ens/:input (595 calls, 592 payers); https://api.onesource.io/api/chain/contract/:address (581 calls, 578 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) |
|---|---|---|---|---|
| ax1.vc | 1 | 307,996 | 40.0% | 4,635 |
| blockrun.ai | 91 | 65,639 | 8.5% | 875 |
| chain.link | 3 | 53,968 | 7.0% | 3 |
| oneshotagent.com | 17 | 41,787 | 5.4% | 100 |
| stableenrich.dev | 15 | 36,796 | 4.8% | 483 |
| sniperx.fun | 10 | 34,440 | 4.5% | 30 |
| api-xpay.com | 14 | 25,402 | 3.3% | 488 |
| blockchhub.link | 6 | 17,501 | 2.3% | 127 |
| onesource.io | 70 | 16,098 | 2.1% | 15,003 |
| svm402.com | 15 | 12,575 | 1.6% | 34 |
| agent402.tools | 602 | 7,251 | 0.9% | 1,276 |
| exa.ai | 2 | 6,314 | 0.8% | 122 |
46 of 1,024 domains had more than 1,000 calls; 173 had more than 100. 7,150 resources were called in the 24 hours before the fetch, 19,565 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 (174 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 |
|---|---|---|
| ax1.vc | $6,160 | 32.4% |
| laso.finance | $1,255 | 6.6% |
| stableenrich.dev | $963 | 5.1% |
| blockchhub.link | $884 | 4.7% |
| mudko.com | $745 | 3.9% |
| sniperx.fun | $689 | 3.6% |
| api-xpay.com | $647 | 3.4% |
| govparse.io | $454 | 2.4% |
| cheaptokens.ai | $410 | 2.2% |
| chain.link | $407 | 2.1% |
Total $19,008. 21 resources clear $100 in the window; 165 clear $10. Median listed price $0.010; p90 $0.050.
What is for sale
Price per call (minimum listed)
| Bucket | Resources | Share |
|---|---|---|
| ≤$0.001 | 2,346 | 8.5% |
| $0.001–0.01 | 19,769 | 71.5% |
| $0.01–0.10 | 4,397 | 15.9% |
| $0.10–1 | 905 | 3.3% |
| $1–10 | 187 | 0.7% |
| >$10 | 35 | 0.1% |
Networks (payment options)
| Network | Options | Share |
|---|---|---|
| eip155:8453 Base | 28,655 | 53.2% |
| solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp Solana | 7,947 | 14.8% |
| eip155:137 Polygon | 3,462 | 6.4% |
| eip155:42161 Arbitrum | 2,694 | 5.0% |
| eip155:84532 Base Sepolia | 2,342 | 4.3% |
| eip155:10 Optimism | 1,163 | 2.2% |
| eip155:143 Monad | 881 | 1.6% |
| eip155:5042 | 751 | 1.4% |
| eip155:4663 Sui EVM? | 736 | 1.4% |
| xrpl:0 XRPL | 696 | 1.3% |
53,845 payment options across 27,681 resources. Schemes: exact 52,934 · upto 776 · batch-settlement 52 · exact_cosmos_authz 49 · eip3009 13 · long-events-stable-txhash 6. 27,401 resources accept on Base, 7,099 on Solana.
The template farms
| Domain | Resources | Calls / 30d | Calls per resource |
|---|---|---|---|
| datapackvibe.com | 6,879 | 5,579 | 0.8 |
| rallylive.ca | 2,084 | 2,394 | 1.1 |
| syntexa.ch | 1,182 | 1,183 | 1.0 |
| vextorium.com | 1,004 | 593 | 0.6 |
| magentlab.com | 844 | 884 | 1.0 |
| agent402.tools | 602 | 7,251 | 12.0 |
| workers.dev | 588 | 3,597 | 6.1 |
| edge-agents.ai | 586 | 1,295 | 2.2 |
| openverbs.com | 390 | 1,601 | 4.1 |
| halowerk.com | 390 | 528 | 1.4 |
| saylorinnovations.com | 378 | 1,109 | 2.9 |
| x402node.dev | 363 | 3,126 | 8.6 |
Who gets paid
| payTo | Resources | Domains |
|---|---|---|
| 0x8bc2aecdd86097f74a1a5fa17764108d9a683c8c | 6,879 | datapackvibe.com |
| 0xfc24fd34da9e49a0110dcaee3ad30ec54175ebb3 | 1,264 | rallylive.ca |
| 0x1d61faa032d3f40d9c470d2bf3a3f53de0e55a38 | 1,182 | syntexa.ch |
| 0xb9f06d2734b7e9d7b21b64c4d8b95bd774b71acf | 1,004 | vextorium.com |
| hcjfmzlgwrzzwj4deeis7pewc4kbysw39mw5ntyt3pz2 | 1,003 | vextorium.com |
| 0x836be278f1739fb4308091cd1852f7971bc19ee2 | 844 | magentlab.com |
1,807 distinct receiving addresses for 27,681 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): 238 resources declare a different domain — GatewayWalletBatched v1 (215), USDC v2 (12), USDC vNone (10), USD Coin v2 (1).
Nearly all of them are on apexfaucet.xyz 75, theaslangroupllc.com 45, trycorpus.ai 29, craigmbrown.com 26, coil.trade 23, edifiedlab.com 11. 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 | 14,759 | 53.3% | 402 with a parseable x402 challenge — live and payable |
405-method | 8,045 | 29.1% | alive, but the resource is POST-only (or similar) |
404 | 2,392 | 8.6% | nothing at the listed path |
2xx-no-paywall | 1,417 | 5.1% | served content to a bare GET without a challenge |
5xx | 425 | 1.5% | server error |
http-429 | 257 | 0.9% | |
auth-required | 168 | 0.6% | 401/403 — wants a key or auth before any 402 |
http-400 | 100 | 0.4% | |
timeout | 72 | 0.3% | no response within 10 s |
402-not-x402 | 17 | 0.1% | 402, but the body/header is not an x402 challenge |
http-410 | 13 | 0.0% | |
x402-body-on-405 | 7 | 0.0% | |
http-415 | 3 | 0.0% | |
dead | 3 | 0.0% | hostname no longer resolves |
x402-body-on-200 | 2 | 0.0% | |
error | 1 | 0.0% | TLS / connection error |
Among resources with more than 100 calls in the window: x402-402 191 · 404 52 · 405-method 17 · http-429 7 · 2xx-no-paywall 5 · auth-required 4 · 5xx 1 · http-400 1 · timeout 1. Live challenge versions:
v2 14,558, v1 201; challenge found in
header 14,551, body 208.
Listed vs. live minimum price where both were readable: 14,030 identical, 706 different.
Facilitators
The 21 facilitators in the registry, asked GET /supported on 2026-10-04. 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 | 35 | 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-10-04.resources.jsonl
jq -c 'select(.probe.outcome=="x402-402" and .calls30d>100)|.resource' \
x402-bazaar-audit-2026-10-04.resources.jsonl
Full registry — $15
The x402 Services & Facilitator Registry, 2026-10-04 edition: all 27,681 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.
One full row from the paid file (the busiest Twitter-search endpoint)
{
"resource": "https://x402.twit.sh/tweets/search",
"host": "x402.twit.sh",
"domain": "twit.sh",
"type": "http",
"x402Version": 2,
"description": "Search Twitter/X tweets with advanced filters. Returns up to 20 tweets per page, most recent first, with pagination. At least one filter req",
"listedAt": "2026-08-22T11:12:17.949Z",
"calls30d": 27745,
"uniquePayers30d": 27,
"lastCalledAt": "2026-08-27T10:51:24.014Z",
"accepts": 1,
"networks": [
"eip155:8453"
],
"schemes": [
"exact"
],
"minPriceUsd": 0.006,
"maxPriceUsd": 0.006,
"payTo": [
"0x9dba414637c611a16bea6f0796bfcbcbdc410df8"
],
"eip712UsdcCheck": "ok",
"revenueProxy30dUsd": 166.47,
"probe": {
"outcome": "x402-402",
"status": 402,
"isX402": true,
"liveX402Version": 2,
"challengeSource": "header",
"liveMinPriceUsd": 0.006,
"seconds": 0.75,
"error": "Payment required",
"probedAt": "2026-08-28T21:50:28.121576+00:00"
}
}Team licence, recurring re-probe, or a custom cut (one category, your competitors’ listings, a weekly diff, a CSV your analysts can open)? Email support@fetchgate.dev with what you need — quoted within a day.
Method, and what this does not show
- Source:
api.cdp.coinbase.com/platform/v2/x402/discovery/resources, all 149 pages, fetched 2026-10-03 22:54 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; 27,676 URLs were probed once.
So what?
If you are pricing an x402 product: the market that exists clears roughly $634 a day through the dominant facilitator, at a median of $0.010 a call, and 54% 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 238-resource domain mistake in one request) and read the x402 vs. Stripe comparison before betting the pricing model on it.