Base 上 x402 市場數據快照呈現索引規模、價格與使用情況
State of x402 on Base: a data snapshot (October 2026)
作者發布 CDP x402 Bazaar 的 2026-10-21 快照,共統計 28,087 條目。當中 27,803 條(99.0%)提供 Base USDC 支付選項;200 條隨機抽樣 GET 條目中,193 條返回 HTTP 402,首次回應延遲中位數為 216 ms。
Canonical version with full method and data: https://89-116-220-218.sslip.io/reports/state-of-x402-2026-10
If your agent pays for APIs over x402, what does the market it is paying into actually look like? We took a snapshot of the public CDP x402 Bazaar and are sharing the numbers, with the method and data behind each one. Thanks to the CDP team and every developer listing in the Bazaar; an open index is what makes this possible.
Snapshot: 2026-10-21 10:10 UTC (17:10 WIB) · Source: public CDP x402 Bazaar discovery API · Method: § Method · Data: aggregate_stats.csv, liveness_sample_200.csv
Every figure below carries its snapshot date, sample size (n) and method ID (M1–M4, defined in § Method).
1. Size of the index
Snapshot 2026-10-21 · n = 28,087 listings (full crawl) · Method M1 · data
| Metric | Value |
|---|---|
| Listings | 28,087 (28,086 unique resource URLs) |
| Distinct hosts | 2,681 |
| Listings with a USDC-on-Base (eip155:8453) payment option | 27,803 (99.0%) |
| x402 version | v2: 27,887 · v1: 200 |
| HTTP method (listing metadata) | GET 15,611 · POST 12,339 · unspecified 137 |
| Calls in the last 30 days (sum of listing counters) | 822,653 |
Scope note: the CDP Bazaar is a Base-centric index, so the 99% Base share describes this index, not all of x402.
2. Multi-chain options
Snapshot 2026-10-21 · n = 28,087 · Method M1 · data
- 14,081 of 28,087 listings offer more than one payment option; 1,233 offer 13.
- Accept entries by network (top): Base 30,690 · Solana 13,557 · Polygon 7,658 · Arbitrum 6,105 · XRPL 3,143 · Monad 1,847 · Base Sepolia 1,563.
- Network identifiers appear in several forms (
eip155:8453andbase— 230 entries;solana50;solana:mainnet11; shortened CAIP-2 strings). Client libraries that compare networks may want to normalise them.
3. Price on Base
Snapshot 2026-10-21 · n = 27,803 listings with a Base USDC option (cheapest Base option per listing) · Method M2 · data
| min | p25 | median | p75 | p90 | max | mean |
|---|---|---|---|---|---|---|
| $0.001 | $0.0048 | $0.01 | $0.02 | $0.06 | $1,000 | $0.139 |
| Bucket | Listings |
|---|---|
| ≤ $0.001 | 2,435 |
| $0.001 – $0.01 | 16,090 |
| $0.01 – $0.10 | 7,687 |
| $0.10 – $1.00 | 1,424 |
| > $1.00 | 167 |
Prices span six orders of magnitude, from $0.001 to $1,000. High prices can be entirely appropriate for the service; for buyer agents the practical point is to read the amount in the live challenge before signing.
4. Payout wallets (payTo) on Base
Snapshot 2026-10-21 · n = 27,803 listings with a Base option · Method M3 · data
- 1,706 distinct Base payTo addresses.
- 268 payTo addresses receive for listings on 2+ different hosts; 22 on 10+ hosts; the largest single payTo is shared by 101 hosts.
- The largest single payTo is attached to 1,630 listings.
Shared payout wallets are common and usually expected (platforms, marketplaces, operators running several domains). We publish counts only; no address is named, and wallet sharing is a fact to be aware of, not a signal about any operator.
5. Concentration of usage
Snapshot 2026-10-21 · n = 28,087 · Method M1 · data
- Median 30-day calls per listing: 2.
- Top 1% of listings: 84.1% of 30-day calls; top 10 listings: 55.4%.
- Last call within 24 h: 4,536 listings · within 7 days: 14,270.
- Hosts: median 2 listings per host; 1,117 hosts have exactly one listing; 47 hosts have 100+.
The market is early: most listings see light traffic, which is normal for a young ecosystem with many new services.
6. Live challenge sample
Snapshot 2026-10-21 · n = 200 randomly sampled GET listings (≈1.3% of GET listings) · Method M4 · data
| Result | Count (of 200) |
|---|---|
| HTTP 402 (payment challenge returned) | 193 |
| HTTP 400 (likely needs query parameters) | 5 |
| HTTP 404 | 2 |
| Timeout / connection error | 0 |
PAYMENT-REQUIRED header present |
191 |
| Base payTo in live challenge = payTo in listing | 185 |
| Base payTo in live challenge ≠ payTo in listing | 3 |
| Live challenge has no Base option | 3 |
Latency to first response: median 216 ms, p90 563 ms. With n = 200, percentages are indicative only.
The 3 differences have ordinary explanations as well (wallet rotation, an index entry not yet refreshed). We do not name them. The takeaway is simple: a directory listing is a snapshot, and the live 402 is what a buyer actually pays.
One mechanism that can help
Comparing the live challenge with the listing before signing is cheap, and anyone can do it. We built Pre-pay Check to package exactly these facts for agents: GET /x402/preflight?url=… ($0.01 USDC on Base) returns an Ed25519-signed JCS attestation with pass / fail / not_applicable checks (challenge validity, USDC on Base, payTo contract check, reachability and latency, payTo vs listing). It returns facts, not scores. Attestations can be verified offline with the published issuer key: https://89-116-220-218.sslip.io/reports/state-of-x402-2026-10/llms.txt
Method
-
M1 — Full crawl. Public CDP x402 Bazaar discovery API, paged
?limit=1000&offset=nuntil exhausted, 2026-10-21 10:10 UTC. Counts are taken directly from listing metadata (accepts,x402Version, call counters, last-called timestamps). -
M2 — Base price. For each listing, the cheapest option with network eip155:8453 and asset USDC (0x8335…2913); price =
amount/ 10^6. - M3 — payTo sharing. Lower-cased Base payTo addresses grouped by resource hostname. Only counts are published.
-
M4 — Live sample. 200 GET listings drawn at random; one unpaid HTTPS GET each, UA
x402-ecosystem-survey/0.1, 8 concurrent, 5 s timeout, no payment signatures sent. Live Base payTo compared with the listed payTo. -
Public files (https://89-116-220-218.sslip.io/reports/data):
aggregate_stats.csv(aggregate counts only) andliveness_sample_200.csv(sample index, status, latency, header present, match true/false). Neither contains payTo addresses, hosts, URLs or raw listings. Raw crawl data is not published. - Limits: one index, one point in time; call counters are as reported by the index; the live sample is small.
Questions or corrections are welcome in the comments. If a number looks off, tell us and we'll re-check it against the data.
來源:DEV Community · dev.to