{"version":"2.0","description":"Measured attributes of x402 facilitators. No composite score is published. Each attribute is either measured or explicitly pending; a pending attribute is never shown as zero. No LLM in the loop.","attributes":[{"name":"deployment_age_days","source":"Days since the address's first on-chain transaction (Etherscan, Blockscout fallback). Refreshed weekly.","pending_when":"No first transaction was found."},{"name":"transaction_count","source":"Cumulative transaction count for the address, captured manually from Blockscout. There is no automated refresh, and the capture date is not recorded per facilitator.","pending_when":"No count has been captured."},{"name":"supported_endpoint","source":"GET {supported_url}/supported every 6 hours, following redirects (see uptime_7d.request_rules). True only when the final response is 2xx and the body is a JSON object with a `kinds` list (an x402 /supported document).","pending_when":"Not yet probed."},{"name":"uptime_7d","source":"GET {supported_url}/supported every 60 minutes (5s timeout), following redirects. A ping counts as up on 2xx, or on a 4xx served without a redirect (the server answered). A redirect counts as up only if its final target returns 2xx. 5xx, timeouts and connection errors count as down. Percentage of up pings over the last 7 days; `pings` is the sample size. Uptime measures liveness only: whether the endpoint serves a valid x402 document is the separate supported_endpoint attribute, so a facilitator answering 404 or 401 is up but not conformant.","request_rules":"Every hop, including each redirect, must be https and must resolve only to public addresses (private, loopback, link-local, shared, reserved and multicast ranges are refused). At most 3 redirects are followed. A refused hop counts as down.","control":"Before each round we fetch reference endpoints (https://www.cloudflare.com/cdn-cgi/trace, https://www.google.com/generate_204, https://www.apple.com/library/test/success.html). If none answers 2xx the round is skipped and nothing is recorded, so an outage on our side is never counted against a facilitator.","pending_when":"Fewer than 24 pings in the last 7 days."},{"name":"kyt_declared","source":"Seeded from the facilitator's documentation, or set when its /supported document declares KYT. Once true it is not reset by the prober.","pending_when":"Never; false means no declaration was found."},{"name":"ofac_declared","source":"Seeded from the facilitator's documentation, or set when its /supported document declares OFAC screening. Once true it is not reset by the prober.","pending_when":"Never; false means no declaration was found."}],"not_published":[{"name":"trust_score","reason":"The composite score is withheld while its inputs are being corrected."},{"name":"contract_verification","reason":"Facilitators are EOAs that settle through the shared x402 Permit2 proxies. Those proxies' verification status is the same for every facilitator, so it does not distinguish one from another."}]}