How we rate
Score = 0.45·availability + 0.20·price integrity + 0.15·latency +
0.10·protocol quality + 0.10·consistency. Availability enters as the 95% Wilson
lower bound of the measured valid share, cubed: an agent-facing service that answers
only 75% of probes is close to useless, and a perfect day on thin evidence can't outrank a
proven week. Availability is our hourly probe success rate, not a guarantee of uptime
between probes.
Dynamic pricing (oracle-pegged, ≥5 observed changes) is never punished per probe;
we compare the catalog price to the median live price instead. A persistent gap
between the advertised price and the live price we observe collapses the price score toward zero.
Every domain is probed with its declared method and schema, one request per run,
never with destructive methods. No payments are made yet, so we verify that a service
returns a valid payment challenge, not that it delivers correct content after payment;
paid output verification is the next stage.
Coverage. Our universe is the public x402 catalog (Coinbase's CDP Bazaar
discovery API). A service not listed there is not graded — it is simply not yet
visible to us. "Every service" means every service in that catalog, not every x402
endpoint that exists.
Which endpoint represents a domain. A domain may list many paths; we probe one of
them, once per run, and every report card names the exact path its grade is based on. We
prefer a concrete address over a URI template (a listed path such as
/v1/company/:number is a schema, not an address, and some servers
answer it 403 or 404 however healthy they are), then a GET, then the busier path. The choice
uses catalog metadata only, never measured availability, so what we measure can never be
selected to flatter a grade. Once chosen, a representative is kept for as long as it
stays listed, so a service's history describes one endpoint over time.
Method changes. We date and describe every change to how we measure, and we never
silently restate past numbers.
2026-09-09: representative selection, above (in effect).
Before this, ranking ties were settled by the order the upstream catalog happened to return,
and that order changes between pulls, so a domain's representative could switch every few
hours and its availability blended probes of different endpoints. Where the winner was a URI
template, the domain was graded on an address that cannot be paid. Affected domains are
re-measured from their new path; probe records collected before the change are unaltered and
still carry the URL each one used, so every figure we have published stays reconstructible.
78 domains have a template representative, which is the only kind of path they list.
2026-07-20: a network-failure probe is retried once before being
recorded, removing false negatives from transient blips.
Not rated
180 provisional (fewer than 60 probes, typically new listings)
9 unratable (no valid 402 in the whole window)
28 unaddressable (every path they list is a URI template such as
/v1/company/:number, so we cannot build a payable URL to test. That is
a limit of our measurement, not a verdict on the service)
2 not publishable (a hostname we cannot put in a per-service URL,
such as one carrying a port)
6 broken metering (returned content with HTTP 200 and no 402 challenge on our probes; may be free, moved, or a probing artifact)
Independence: who pays for this
Rated parties never pay us, and never will. That rule is the product: a rating
you can pay for is worth nothing to the buyer. Today the probing is self-funded:
the unpaid probes cost close to nothing and run on our own hardware. If this becomes a business,
revenue comes from the buyer side only: paid score lookups for agents and routing
referrals. Never from the services being rated.
Methodology, weights and raw definitions are public.
*Call volume is the catalog's own popularity metric, shown for contrast; its
tie-corrected rank correlation with our quality score is a weak −0.01. It is not an input.