x402 settlement census
What conformant x402 hosts do when an ordinary buyer actually pays them — round by round, and diffed.
2026-09-06Both numbers are read from index.json, which is produced from the round’s own rows and re-checked in CI. This page types no count of its own.
Buyer's-eye x402 settlement census as a time series: the same population paid once per round, the outcome recorded per host, the rounds diffed. Measurement, not certification.
Rounds
| round | as_of | probed | DELIVERED | REFUSED | MISMATCH | NO_CHALLENGE | took & refused | USDC spent | leaves staged |
|---|---|---|---|---|---|---|---|---|---|
2026-09-06 | 2026-09-06T06:46:22Z | 316 | 100 | 213 | 1 | 2 | 13 | 1.339794 | none staged |
took & refused = the host reported a settlement transaction in its own PAYMENT-RESPONSE and answered the retried request 402/4xx anyway. Every tx hash is in the rows, so a reader checks the chain rather than taking our word. USDC spent is our cost; nothing on this surface is revenue, and our own hosts are excluded from the population.
What changed
No delta yet: 1 round on file and a delta needs two. An empty table here would read as “nothing changed”, which is a different claim from “nothing has been compared”. The next round is what makes this a series.
The ladder — why nothing here says MEASURED
a host's series stays UNMEASURED until it has 30 paid observations; one observation per round. Observations accrue one per host per round, so at weekly cadence the first host reaches the threshold in about 30 rounds. Today 1 round(s) exist and 0 hosts are at or above n=30.
| paid observations | hosts |
|---|---|
| 1 | 314 |
At one round a week the first host reaches n=30 after ~30 weeks. Nothing on this surface is a per-host verdict before then; the deltas are what a reader gets in the meantime.
What this is not
- REFUSED is not proof of bad faith: a host may rate-limit, require an account, or have changed terms between the challenge and the retry.
- One purchase per host, one moment. A single refusal is not a pattern; the second round next week is what makes it one.
- Self excluded: our own hosts are never in the population; paying ourselves would be a self-settlement.
- No host was contacted, ranked or recommended. A row says what happened; the chain says whether it happened.
- Not a ranking, a recommendation, a certification or an accusation. No host was contacted.
Check it yourself
curl -s https://councilof.ai/interop/x402-census/index.json | jq .
curl -s https://councilof.ai/interop/x402-census/rounds/2026-09-06.json | jq .outcome
# recompute every number from the committed rows
git clone https://github.com/CSOAI-ORG/councilof-ai && cd councilof-ai
python3 scripts/grants/x402_census_round.py --check
python3 scripts/grants/x402_census_delta.py --check
python3 harness/x402-census/build_cards.py --check
The rows also live on Hugging Face at csoai/x402-settlement-census. Subscribe to changes: /feeds/x402-census.xml. Verify a signed leaf without trusting us: HOW-TO-VERIFY-ROOT.md. Machine-readable: this page with accept: application/json.