PARALLAX · parallax402.com

Settlement-graph observatory · Base · USDC

The x402 economy, measured.

Not quoted. Not estimated. Read from the settlement graph, stamped with frame and coverage, priced per fact for people and their agents.

Market pulsedata as of 2026-09-22 UTC · coverage 1.000
96,630
EIP-3009 transactions on the day
as of 2026-09-22 UTC · daily census · settler frame · daily scan
88.9%
submitted by a known settler
as of 2026-09-22 UTC · daily census · settler frame · daily scan
80,737
Coinbase purchases
as of 2026-09-22 UTC · daily census · settler frame · daily scan
5,784
distinct buyers in the frame
as of 2026-09-22 UTC · daily census · settler frame · daily scan
2,835
distinct sellers in the frame
as of 2026-09-22 UTC · daily census · settler frame · daily scan

What /v1/stats returns — the free market pulse, same numbers as the row above · as_of 2026-09-22 UTC · /v1/stats/index.json

{
  "as_of": "2026-09-22",
  "frame": "settler-eip3009-base",
  "coverage": {
    "ok": 44,
    "failed": 0,
    "ratio": 1
  },
  "enumeration": {
    "scan": {
      "claimed": 44,
      "served": 44,
      "cursor_depth": {
        "followed": 44,
        "unit": "chunk",
        "stopped": "exhausted"
      },
      "predicate": {
        "sent": {
          "method": "eth_getLogs",
          "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "topics": [
            "0x98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a5"
          ],
          "fromBlock": 51622927,
          "toBlock": 51666126,
          "span": 1000
        },
        "applied_client_side": {
          "settler": "receipt.from (eth_getTransactionReceipt)",
          "rows": "USDC Transfer logs of each settlement receipt"
        }
      }
    },
    "bazaar": {
      "claimed": 14885,
      "served": 14884,
      "cursor_depth": {
        "followed": 15,
        "unit": "page",
        "stopped": "exhausted",
        "cap": 64
      },
      "predicate": {
        "sent": {
          "method": "GET",
          "url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
          "query": {
            "limit": 1000,
            "offset": "stepped by limit from 0"
          }
        },
        "applied_client_side": {
          "network": [
            "base",
            "eip155:8453"
          ],
          "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "payTo": "0x + 40 hex"
        }
      }
    },
    "x402list_facilitators": {
      "claimed": 25,
      "served": 25,
      "cursor_depth": {
        "followed": 26,
        "unit": "page",
        "stopped": "exhausted"
      },
      "predicate": {
        "sent": {
          "method": "GET",
          "url": "https://x402-list.com/api/v1/facilitators",
          "query": {},
          "detail": "https://x402-list.com/api/v1/facilitators/<facilitator_id>"
        },
        "applied_client_side": {
          "enabled": true,
          "network_base": [
            "base"
          ]
        }
      }
    }
  },
  "method": "readings/2026-08-31-settler-frame/METHOD.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "totals": {
      "txs": 96630,
      "purchases": 102069,
      "usdc": 1551951.773749,
      "fees": 18036.578163,
      "buyers": 5784,
      "sellers": 2835
    },
    "attributed_share": {
      "txs": 0.88933,
      "usdc": 0.027039
    },
    "top_rail": {
      "facilitator": "coinbase",
      "purchases": 80737,
      "usdc": 33667.624093,
      "buyers": 2744,
      "sellers": 631
    }
  },
  "tier": "preview",
  "reading": "daily"
}
Reading PLX-002data as of 2026-09-01 UTC
$2,096.69
settled USDC, price-matched to listings
as of 2026-09-01 UTC · PLX-002 · Bazaar frame · 168h
123,687
purchases
as of 2026-09-01 UTC · PLX-002 · Bazaar frame · 168h
1,817
paying wallets (counted as wallets, not hosts)
as of 2026-09-01 UTC · PLX-002 · Bazaar frame · 168h
296
recurring wallets · 50 run on a clock
as of 2026-09-01 UTC · PLX-002 · Bazaar frame · 168h
22 · 84
facilitators · Base settler addresses
as of 2026-09-01 UTC · settlers.json · x402-list.com (CC BY 4.0)
Star atlas of x402 sellers in the Bazaar payTo frame40 sellers from Reading PLX-002 plotted as stars. Radius scales with settled USDC; each category occupies one horizontal band; thin lines chain each star to its nearest neighbour inside the same category.shared wallet (mixed)aggregatorsocial datachain datarewards gatewaytelegram scantravelothermarket signalsdata feedstest/echocommerce (gift cards)api.aidress.ai (+3 hosts)x402.twit.sh (+2 hosts)socialx402.com (+1 hosts)agent402.toolsapi.loyalspark.onlineapi.nansen.aiapi.cn402.com (+1 hosts)stabletravel.dev (+1 hosts)
Reading PLX-002 · Bazaar payTo frame · 2026-08-25 → 09-01stars = sellers · magnitude = settled USDC · position = category band

Both sides of every settlement

Two vantage points. One graph.

Buyers on one side: who pays, how often, what else they buy. Sellers on the other: who gets paid, through which facilitator, how much of it is organic. Parallax holds both sides of every settlement and publishes the shift between them.

For sellers

Know who actually pays you.

A payer list is not a customer list. See your buyers, organic share, retention, facilitator mix, and the gap between what the Bazaar catalogue says you served and what cleared.

For anyone quoting numbers

Get the denominators.

Operator-level counts. A named frame on every total. A coverage ratio computed from the scan, not asserted.

For agents

Same fact, as JSON.

One route, two renderings, chosen by Accept. Pay the 402, get the fact. No account, no key.

Seller workflow

Which of my payers returned, and what else did they buy?

Use the same seller identifier twice. /v1/seller measures your buyers and retention; /v1/basket measures how many also paid other sellers and ranks those co-sellers. Both accept a payTo address or one of its registered hostnames.

const seller = "api.example.com";
const sellerFact = await paidFetch(
  `https://parallax402.com/v1/seller?seller=${encodeURIComponent(seller)}`,
  { headers: { accept: "application/json" } }
).then(r => r.json());
const basketFact = await paidFetch(
  `https://parallax402.com/v1/basket?seller=${encodeURIComponent(seller)}`,
  { headers: { accept: "application/json" } }
).then(r => r.json());

console.log({
  recurring_buyers: sellerFact.fact.recurring_buyers,
  buyers: sellerFact.fact.buyers,
  multi_seller_share: basketFact.fact.multi_seller_share,
  co_sellers: basketFact.fact.co_sellers
});

paidFetch is the supported @x402/fetch wrapper with your funded signer and a spending policy. The routes cost $0.03 and $0.05 respectively; inspect each unpaid 402 before signing. Open the complete buyer setup and route contracts. Results carry as_of, frame, and coverage; the field names above come directly from the live API contracts.

The archive

Readings

Dated observations with catalogue numbers, stable URLs, and the data behind every number. Captures compound; snapshots don't.

PLX-002

x402 Buyer Census

2026-09-01
frame: Bazaar payTo frame, 168h

$2,096.69 settled across 123,687 purchases by 1,817 paying wallets in 168 hours. 296 wallets recur on 4 or more of 8 UTC dates; 50 run on a clock.

PLX-001

What paying agents actually do

2026-08-30
frame: provider wallet map (Bazaar 2026-08-27 + x402scan 2026-08-24 captures)

14,732 listings and 349 chain-tracked sellers resolve to 1,093 payout wallets behind 1,602 hosts. Ten wallets take 61.7% of 294,044 catalogued 30-day calls.

One honest reading a week.

Instruments

What we sell.

Facts from the settlement graph, per query, over x402. Never a dashboard. Free surfaces first: a total is a commodity, the interpretation isn't.

Pay for recency and granularity. Preview for free.

Two grades of one fact. Free gives last week's headline; paid gives the rows behind it. Numbers are exact in both.
gradePreview — freeFull — priced
cadence≥7 days old, refreshed with the weekly reading≤24h old, daily scan
fidelityhigh-level aggregates only — totals, counts, shares, exact as measured; no per-entity rows, lists, cohorts or derived statsgranular and derived — per-entity rows, full lists, cohorts, retention, baskets, facilitator splits, any UTC window
where servedinside the 402 body, the weekly reading, /v1/statsthe paid response

Agents pay for recency and granularity. The unpaid 402 carries last week's headline aggregates next to accepts[], so the preview is the lead-in.

Free surfaces first. Every price is unique on the sheet, so a settlement attributes to its endpoint by amount alone.
Priced in USDC on Base or Solana — same price on either rail.
routethe factfirst buyerpricestatus
GET /readingsEvery reading, its method, and its data at a stable URL.freelive
GET /v1/statsMarket pulse: newest daily census, headline aggregates, with frame and coverage.freesample published · 402 not live
GET /v1/settlersFacilitator → settler registry, plus the unattributed residual.freesample published · 402 not live
GET /v1/labels/infraThe infra-caller filter: monitor and prober UAs, and wallets that never pay.freedesigned
GET /v1/settlement/{txHash}Confirm an x402 settlement: facilitator, buyer, seller, amount, block, listing.Routers verifying delivery. Agents confirming payment. Arbitration.$0.005sample published · 402 not live
GET /v1/windowCensus any UTC window: per-facilitator purchases, USDC, buyers, sellers, residual, breadth, coverage.Anyone quoting agent-economy numbers.$0.01live
GET /v1/edge/parallax402Our own funnel: 402 challenges, crawlers, window shoppers and payers on parallax402.com, by day.Sellers benchmarking their funnel. Anyone sizing the never-pay layer.$0.015live
GET /v1/walletLabel a payer — organic, operator, infra-caller, self-test, unseen — with evidence, spend, cadence, basket.Routers. Sellers vetting a payer. Diligence.$0.02live
GET /v1/sellerYour funnel, honestly: purchases, buyers, organic share, retention, facilitator mix, and the gap to the Bazaar counter.Sellers. Investors.$0.03live
GET /v1/basketWhere your buyers' money goes next: co-sellers, shared buyers, lift, categories.Sellers positioning. Routers bundling.$0.05live

Statuses are real. designed: specified, unbuilt. sample: computed from a dated reading; 402 not live. live: answers and charges. A route goes live when a reading draws a request for it.

GET /v1/settlement/{txHash}$0.005sample published · 402 not live

Confirm an x402 settlement: facilitator, buyer, seller, amount, block, listing.

First buyer: Routers verifying delivery. Agents confirming payment. Arbitration.

curl -s https://parallax402.com/v1/settlement/0x2f7f6dd9b6ca726228111a0b444bdb06a0d6539c91451a47f4a6a3f59aa5af51 -H 'Accept: application/json'
Free preview — the 402 body

Week-old, headline aggregates of the same fact (exact numbers, preview_fields only), returned free in the 402 body. Numbers are exact in both tiers. The preview carries is_x402, facilitator, amount_usdc, block; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "5000",
      "resource": "https://parallax402.com/v1/settlement/0x2f7f6dd9b6ca726228111a0b444bdb06a0d6539c91451a47f4a6a3f59aa5af51",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "5000",
      "resource": "https://parallax402.com/v1/settlement/0x2f7f6dd9b6ca726228111a0b444bdb06a0d6539c91451a47f4a6a3f59aa5af51",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": "2026-09-01",
    "frame": "settler-eip3009-base",
    "coverage": {
      "ok": null,
      "failed": null,
      "ratio": null,
      "note": "single-transaction positive control, not a scan; no coverage ratio applies"
    },
    "method": "docs/settler-feasibility.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {
      "is_x402": true,
      "facilitator": "coinbase",
      "amount_usdc": 10.0,
      "block": 50481532
    },
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": "readings/2026-09-01-buyer-census/settlement-control.json",
      "reading": "PLX-002",
      "fields_pending": [],
      "note": "Block timestamp was not captured by the control. seller_listing carries listed_price_match but not the hosts array."
    }
  }
}
Paid response — full

Computed at build time from PLX-002. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": "2026-09-01",
  "frame": "settler-eip3009-base",
  "coverage": {
    "ok": null,
    "failed": null,
    "ratio": null,
    "note": "single-transaction positive control, not a scan; no coverage ratio applies"
  },
  "method": "docs/settler-feasibility.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "is_x402": true,
    "facilitator": "coinbase",
    "settler": "0x14fda13953fc30428938e6bf950d036e77214e52",
    "buyer": "0x908ee74710870b12ea873185d4828c52778b8d2e",
    "seller": "0x942bd3e3073543c674efc0c378d5bce20f9120c1",
    "amount_usdc": 10.0,
    "block": 50481532,
    "seller_listing": {
      "listed_price_match": true,
      "source": "selector-audit.json big[0], Bazaar frame 2026-09-01"
    }
  },
  "tier": "full",
  "_sample": {
    "computed_from": "readings/2026-09-01-buyer-census/settlement-control.json",
    "reading": "PLX-002",
    "fields_pending": [
      "timestamp"
    ],
    "note": "Block timestamp was not captured by the control. seller_listing carries listed_price_match but not the hosts array."
  }
}
GET /v1/window$0.01live

Census any UTC window: per-facilitator purchases, USDC, buyers, sellers, residual, breadth, coverage.

First buyer: Anyone quoting agent-economy numbers.

curl -s 'https://parallax402.com/v1/window?from=2026-08-25&to=2026-09-01' -H 'Accept: application/json'
Free preview — the 402 body

Week-old, headline aggregates of the same fact (exact numbers, preview_fields only), returned free in the 402 body. Numbers are exact in both tiers. The preview carries totals, attributed_share; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "10000",
      "resource": "https://parallax402.com/v1/window?from=2026-08-25&to=2026-09-01",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "10000",
      "resource": "https://parallax402.com/v1/window?from=2026-08-25&to=2026-09-01",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": "2026-08-31",
    "frame": "settler-eip3009-base",
    "coverage": {
      "ok": 44,
      "failed": 0,
      "ratio": 1.0
    },
    "method": "readings/2026-08-31-settler-frame/METHOD.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {
      "totals": {
        "txs": 99837,
        "purchases": 104159,
        "usdc": 1392820.311574,
        "fees": 2608.475556,
        "buyers": 4382,
        "sellers": 2272
      },
      "attributed_share": {
        "txs": 0.873844,
        "usdc": 0.022407
      }
    },
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": "readings/2026-08-31-settler-frame/settler-census.json",
      "reading": "PLX-003",
      "fields_pending": [],
      "note": "Fact taken verbatim from the settler-frame census; coverage is computed from that scan's persisted chunk manifest."
    }
  }
}
Paid response — full

Computed at build time from PLX-003. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": "2026-08-31",
  "frame": "settler-eip3009-base",
  "coverage": {
    "ok": 44,
    "failed": 0,
    "ratio": 1.0
  },
  "method": "readings/2026-08-31-settler-frame/METHOD.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "facilitators": {
      "agentdata": {
        "txs": 5,
        "purchases": 5,
        "usdc": 0.015,
        "fees": 0.0,
        "buyers": 1,
        "sellers": 1
      },
      "coinbase": {
        "txs": 72246,
        "purchases": 72246,
        "usdc": 8995.887533,
        "fees": 0.0,
        "buyers": 1574,
        "sellers": 716
      },
      "daydreams": {
        "txs": 22,
        "purchases": 22,
        "usdc": 0.32,
        "fees": 0.0,
        "buyers": 5,
        "sellers": 2
      },
      "fluxa": {
        "txs": 12655,
        "purchases": 12655,
        "usdc": 7450.306284,
        "fees": 0.0,
        "buyers": 623,
        "sellers": 418
      },
      "mogami": {
        "txs": 4,
        "purchases": 4,
        "usdc": 9.052516,
        "fees": 0.0,
        "buyers": 3,
        "sellers": 2
      },
      "mrdn": {
        "txs": 268,
        "purchases": 268,
        "usdc": 6760.234134,
        "fees": 67.60221,
        "buyers": 8,
        "sellers": 9
      },
      "openx402": {
        "txs": 17,
        "purchases": 17,
        "usdc": 15.015,
        "fees": 0.0,
        "buyers": 2,
        "sellers": 3
      },
      "payAI": {
        "txs": 1623,
        "purchases": 1623,
        "usdc": 7905.519304,
        "fees": 0.0,
        "buyers": 77,
        "sellers": 50
      },
      "polymer": {
        "txs": 190,
        "purchases": 190,
        "usdc": 19.0,
        "fees": 0.0,
        "buyers": 1,
        "sellers": 1
      },
      "primer": {
        "txs": 200,
        "purchases": 200,
        "usdc": 51.316641,
        "fees": 0.0,
        "buyers": 41,
        "sellers": 10
      },
      "solvador": {
        "txs": 1,
        "purchases": 1,
        "usdc": 1.0,
        "fees": 0.0,
        "buyers": 1,
        "sellers": 1
      },
      "thirdweb": {
        "txs": 3,
        "purchases": 6,
        "usdc": 1.19357,
        "fees": 0.00357,
        "buyers": 4,
        "sellers": 2
      },
      "ultravioletadao": {
        "txs": 8,
        "purchases": 8,
        "usdc": 0.17,
        "fees": 0.0,
        "buyers": 7,
        "sellers": 2
      }
    },
    "unattributed": {
      "txs": 12595,
      "purchases": 16914,
      "usdc": 1361611.281592,
      "fees": 2540.869776,
      "buyers": 2118,
      "sellers": 1067
    },
    "totals": {
      "txs": 99837,
      "purchases": 104159,
      "usdc": 1392820.311574,
      "fees": 2608.475556,
      "buyers": 4382,
      "sellers": 2272
    },
    "attributed_share": {
      "txs": 0.873844,
      "usdc": 0.022407
    },
    "breadth": {
      "buyers_ge2_sellers": 451,
      "buyers_ge2_facilitators": 29,
      "sellers_ge2_facilitators": 6
    },
    "top_sellers": [
      {
        "t": "0x47c5d3fc37f66f7cbf450bd3ea912b0765104fc3",
        "usdc": 191665.82,
        "purchases": 1830,
        "buyers": 481,
        "facilitators": []
      },
      {
        "t": "0xdedb92c76eb38c15b0fdca2b49a5ed56aec54455",
        "usdc": 144447.566234,
        "purchases": 5,
        "buyers": 3,
        "facilitators": []
      },
      {
        "t": "0xa54dc4425190570cb5c841adf445bbecf3b249f5",
        "usdc": 63754.953908,
        "purchases": 7,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0xbf91ea97b3e7307112e2d49421bf8afeaa5f7551",
        "usdc": 50941.406612,
        "purchases": 2,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0xdf629f54b7aca2044a22aab61e23b492187c30ee",
        "usdc": 49750.32,
        "purchases": 42,
        "buyers": 4,
        "facilitators": []
      },
      {
        "t": "0x8a474fd1b929306a6827630aefeade443128ec68",
        "usdc": 35675.655678,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x0bfa625da669398fef9654c9341b9aee1251b56c",
        "usdc": 33151.54,
        "purchases": 3,
        "buyers": 3,
        "facilitators": []
      },
      {
        "t": "0x3b6db380305e57076a25621d8de6b6a51a148976",
        "usdc": 31843.979517,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x2fc617e933a52713247ce25730f6695920b3befe",
        "usdc": 22445.37776,
        "purchases": 28,
        "buyers": 21,
        "facilitators": []
      },
      {
        "t": "0x7dbb4bdcfe614398d1a68ecc219f15280d0959e0",
        "usdc": 22215.693832,
        "purchases": 43,
        "buyers": 31,
        "facilitators": []
      },
      {
        "t": "0xc1483208e740f6fc70eb924e00708ab2e1ec3515",
        "usdc": 20552.320252,
        "purchases": 104,
        "buyers": 68,
        "facilitators": []
      },
      {
        "t": "0xee715613fd314c5c79994f34a9bac7c34184fb2b",
        "usdc": 20489.288106,
        "purchases": 3,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x388ee46831eae3ef13c5032fb3139b92c29956df",
        "usdc": 20000.0,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0xaaa19ef515ecfa261b316f971c3ff85b3fefb3e5",
        "usdc": 20000.0,
        "purchases": 2,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x679db66b8b7df32b0bb07e778229f01fbcc8a4e2",
        "usdc": 18500.0,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x47923a759cf333a95221cc91b36b7d1c6721d9ab",
        "usdc": 18078.409027,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x13314732ccd0268f694f09d66dbd2b2b078263c6",
        "usdc": 17761.796092,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x9f1aae2d78a7a3fb58a581e25f563a73b3b72292",
        "usdc": 16908.46,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      },
      {
        "t": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
        "usdc": 16895.680365,
        "purchases": 182,
        "buyers": 16,
        "facilitators": []
      },
      {
        "t": "0x9a32f27ff65dbbba4264e67d216465182fb54308",
        "usdc": 15100.0,
        "purchases": 1,
        "buyers": 1,
        "facilitators": []
      }
    ]
  },
  "tier": "full",
  "_sample": {
    "computed_from": "readings/2026-08-31-settler-frame/settler-census.json",
    "reading": "PLX-003",
    "fields_pending": [],
    "note": "Fact taken verbatim from the settler-frame census; coverage is computed from that scan's persisted chunk manifest."
  }
}
GET /v1/edge/parallax402$0.015live

Our own funnel: 402 challenges, crawlers, window shoppers and payers on parallax402.com, by day.

First buyer: Sellers benchmarking their funnel. Anyone sizing the never-pay layer.

curl -s 'https://parallax402.com/v1/edge/parallax402?day=2026-09-03' -H 'Accept: application/json'
Free preview — the 402 body

Week-old headline counts of the same funnel (challenges, paid, crawlers, window_shoppers), exact, returned free in the 402 body. The first complete UTC day is 2026-09-03: server-side capture began mid-day on 2026-09-02, so that partial day is never published.. Numbers are exact in both tiers. The preview carries challenges, paid, crawlers, window_shoppers; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "15000",
      "resource": "https://parallax402.com/v1/edge/parallax402",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "15000",
      "resource": "https://parallax402.com/v1/edge/parallax402",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": null,
    "frame": "parallax402-edge",
    "coverage": {
      "ok": null,
      "failed": null,
      "ratio": null,
      "note": "server-side capture on every request since 2026-09-02 05:20 UTC; no sampling"
    },
    "method": "docs/ENDPOINTS.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {},
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": null,
      "reading": null,
      "fields_pending": [
        "challenges",
        "paid",
        "crawlers",
        "window_shoppers"
      ],
      "note": "Live route, no dated fact yet: the daily cron publishes the first complete UTC day (2026-09-03) at 01:25 UTC on 2026-09-04. Counts only — never ids or addresses."
    }
  }
}
Paid response — full

Computed at build time from no reading yet. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": null,
  "frame": "parallax402-edge",
  "coverage": {
    "ok": null,
    "failed": null,
    "ratio": null,
    "note": "server-side capture on every request since 2026-09-02 05:20 UTC; no sampling"
  },
  "method": "docs/ENDPOINTS.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {},
  "tier": "preview",
  "_sample": {
    "computed_from": null,
    "reading": null,
    "fields_pending": [
      "day",
      "challenges",
      "paid",
      "paid_house",
      "crawlers",
      "window_shoppers",
      "by_ua_class",
      "by_route",
      "by_rail",
      "rejected",
      "free_requests",
      "requests_total",
      "ua_class_method"
    ],
    "note": "Live route, no dated fact yet: the daily cron publishes the first complete UTC day (2026-09-03) at 01:25 UTC on 2026-09-04. Counts only — never ids or addresses."
  }
}
GET /v1/wallet$0.02live

Label a payer — organic, operator, infra-caller, self-test, unseen — with evidence, spend, cadence, basket.

First buyer: Routers. Sellers vetting a payer. Diligence.

curl -s 'https://parallax402.com/v1/wallet?address=0x908ee74710870b12ea873185d4828c52778b8d2e' -H 'Accept: application/json'
Free preview — the 402 body

Week-old, headline aggregates of the same fact (exact numbers, preview_fields only), returned free in the 402 body. Numbers are exact in both tiers. The preview carries label, confidence, usdc, purchases, sellers_paid; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "20000",
      "resource": "https://parallax402.com/v1/wallet",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "20000",
      "resource": "https://parallax402.com/v1/wallet",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": "2026-09-01T17:14:00Z",
    "frame": "bazaar-payto",
    "coverage": {
      "ok": null,
      "failed": null,
      "ratio": null,
      "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
    },
    "method": "readings/2026-09-01-buyer-census/METHOD.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {
      "usdc": 164.081,
      "purchases": 27350,
      "sellers_paid": 1
    },
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
      "reading": "PLX-002",
      "fields_pending": [
        "label",
        "confidence"
      ],
      "note": "address_prefix is a TRUNCATED identifier: Reading #2 publishes an 8-hex-digit prefix, not the full address. The live route keys on the full address."
    }
  }
}
Paid response — full

Computed at build time from PLX-002. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": "2026-09-01T17:14:00Z",
  "frame": "bazaar-payto",
  "coverage": {
    "ok": null,
    "failed": null,
    "ratio": null,
    "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
  },
  "method": "readings/2026-09-01-buyer-census/METHOD.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "address_prefix": "0xa39c469c",
    "purchases": 27350,
    "sellers_paid": 1,
    "usdc": 164.081,
    "cadence": "loyal-worker",
    "active_days": 8
  },
  "tier": "full",
  "_sample": {
    "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
    "reading": "PLX-002",
    "fields_pending": [
      "label",
      "confidence",
      "evidence",
      "first_seen",
      "last_seen",
      "facilitators",
      "basket",
      "operator_cluster"
    ],
    "note": "address_prefix is a TRUNCATED identifier: Reading #2 publishes an 8-hex-digit prefix, not the full address. The live route keys on the full address."
  }
}
GET /v1/seller$0.03live

Your funnel, honestly: purchases, buyers, organic share, retention, facilitator mix, and the gap to the Bazaar counter.

First buyer: Sellers. Investors.

curl -s 'https://parallax402.com/v1/seller?seller=api.onesource.io' -H 'Accept: application/json'
Free preview — the 402 body

Week-old, headline aggregates of the same fact (exact numbers, preview_fields only), returned free in the 402 body. Numbers are exact in both tiers. The preview carries usdc, purchases, buyers; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "30000",
      "resource": "https://parallax402.com/v1/seller",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "30000",
      "resource": "https://parallax402.com/v1/seller",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": "2026-09-01T17:14:00Z",
    "frame": "bazaar-payto",
    "coverage": {
      "ok": null,
      "failed": null,
      "ratio": null,
      "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
    },
    "method": "readings/2026-09-01-buyer-census/METHOD.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {
      "usdc": 15.09,
      "purchases": 3740,
      "buyers": 444
    },
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
      "reading": "PLX-002",
      "fields_pending": [],
      "note": "Reading #2 aggregates by payTo wallet and labels shared wallets '+N hosts'; this row is a single-host wallet."
    }
  }
}
Paid response — full

Computed at build time from PLX-002. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": "2026-09-01T17:14:00Z",
  "frame": "bazaar-payto",
  "coverage": {
    "ok": null,
    "failed": null,
    "ratio": null,
    "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
  },
  "method": "readings/2026-09-01-buyer-census/METHOD.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "hosts": [
      "api.onesource.io"
    ],
    "usdc": 15.09,
    "purchases": 3740,
    "buyers": 444,
    "category": "chain data"
  },
  "tier": "full",
  "_sample": {
    "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
    "reading": "PLX-002",
    "fields_pending": [
      "payTo",
      "organic_share",
      "recurring_buyers",
      "half_life_days",
      "facilitators",
      "catalogue_delta"
    ],
    "note": "Reading #2 aggregates by payTo wallet and labels shared wallets '+N hosts'; this row is a single-host wallet."
  }
}
GET /v1/basket$0.05live

Where your buyers' money goes next: co-sellers, shared buyers, lift, categories.

First buyer: Sellers positioning. Routers bundling.

curl -s 'https://parallax402.com/v1/basket?seller=api.onesource.io' -H 'Accept: application/json'
Free preview — the 402 body

Week-old, headline aggregates of the same fact (exact numbers, preview_fields only), returned free in the 402 body. Numbers are exact in both tiers. The preview carries buyers, multi_seller_share; the paid response carries every field.

{
  "x402Version": 1,
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "maxAmountRequired": "50000",
      "resource": "https://parallax402.com/v1/basket",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x790fE337b89900028E16fE63Cc087112F7a2BA49",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "maxAmountRequired": "50000",
      "resource": "https://parallax402.com/v1/basket",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "payTo": "DMrJUdvmorbEXx8pA4R8yZ9kPfH3pUanCGxoG5AoPuTC",
      "outputSchema": {
        "input": {
          "discoverable": true
        }
      }
    }
  ],
  "preview": {
    "as_of": "2026-09-01T17:14:00Z",
    "frame": "bazaar-payto",
    "coverage": {
      "ok": null,
      "failed": null,
      "ratio": null,
      "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
    },
    "method": "readings/2026-09-01-buyer-census/METHOD.md",
    "attribution": [
      "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
      "CDP Bazaar discovery API (public)"
    ],
    "fact": {},
    "tier": "preview",
    "stale_by": "≥7 days at serve time",
    "_sample": {
      "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
      "reading": "PLX-002",
      "fields_pending": [
        "buyers",
        "multi_seller_share"
      ],
      "note": "Market-level only: Reading #2 holds NO per-seller co-purchase edges. The share is over the 400 wallets in the reading's scatter, a subset of its 1817 payers."
    }
  }
}
Paid response — full

Computed at build time from PLX-002. A field the reading cannot produce is listed under _sample.fields_pending, never guessed. The 402 is not live, so the call above returns nothing today.

{
  "as_of": "2026-09-01T17:14:00Z",
  "frame": "bazaar-payto",
  "coverage": {
    "ok": null,
    "failed": null,
    "ratio": null,
    "note": "Reading #2 predates the persisted manifest; coverage is computed from Reading #3 on"
  },
  "method": "readings/2026-09-01-buyer-census/METHOD.md",
  "attribution": [
    "x402-list.com facilitator settler lists and daily figures (CC BY 4.0)",
    "CDP Bazaar discovery API (public)"
  ],
  "fact": {
    "scope": "market",
    "wallets": 400,
    "multi_seller_share_market": 0.3975
  },
  "tier": "full",
  "_sample": {
    "computed_from": "readings/2026-09-01-buyer-census/market-data.json",
    "reading": "PLX-002",
    "fields_pending": [
      "buyers",
      "multi_seller_share",
      "co_sellers",
      "categories"
    ],
    "note": "Market-level only: Reading #2 holds NO per-seller co-purchase edges. The share is over the 400 wallets in the reading's scatter, a subset of its 1817 payers."
  }
}

The envelope

Every response names its frame and coverage.

{
  "as_of": "ISO-8601 of the reading or scan the fact was computed from",
  "frame": "bazaar-payto | settler-eip3009-base",
  "coverage": "{ok, failed, ratio} from the scan manifest",
  "method": "path to the METHOD.md the numbers follow",
  "attribution": "[strings] — x402-list CC BY 4.0 wherever its lists or figures are used",
  "fact": "the endpoint's fact_fields",
  "tier": "preview | full"
}

Rules

  • A number never ships without frame and coverage.
  • Every envelope says tier: preview or full. A preview is never served as the fact.
  • 'unseen' is a served fact and is charged; malformed input is not served and not charged.
  • No 'all' or 'every' over data with coverage ratio below 1.
  • Prices are unique on the sheet so a settlement attributes to its endpoint by amount alone.
  • An endpoint goes live when a published reading produces an inbound request for that fact, not before.

For agents

Discovery.

Free, static, generated from one catalogue, so they can't drift from the price table.

One object per route. text/html gets the page; JSON or wildcard gets the data. This static build serves JSON at /v1/stats/index.json and /v1/settlers/index.json; the Worker negotiates once paid routes go live.

Method & honesty

What we claim, and won't.

A frame is not the economy.

Every total names its frame. The Bazaar frame misses mid-window delistings; the settler frame misses unknown submitters. Neither is 'the x402 economy'. We never say it is.

Coverage is computed.

Rows are fsynced before a chunk is marked done, so coverage is a ratio of chunks retrieved. Reading #2 predates the manifest and says so. From #3 on, it's a number.

Corrections stay published.

A fail-closed audit caught a $3,000 plain transfer posing as a settlement. The audit exists because of it.

Attribution

x402-list.com settler lists and daily figures, CC BY 4.0. CDP Bazaar, public. Chain access read-only. No wallets or keys in the repo.