{"name":"Node Scorecard API","summary":"Independent measurement and scoring of the Sentinel dVPN network. Pay per call in USDC over x402 — no account, no API key, no signup.","version":"1.0.0","base_url":"https://nodescorecard.xyz","payment":{"protocol":"x402","x402_version":2,"network":"eip155:8453","network_name":"Base mainnet","asset_symbol":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_decimals":6,"pay_to":"0x0fcc5724d2dddf79ce1af1f091a823fd6438ef73","facilitator":"https://facilitator.payai.network","how_it_works":"Call any paid endpoint. The 402 response carries a PAYMENT-REQUIRED header with the full x402 payload. Sign and retry with the PAYMENT header. Failed requests (HTTP >= 400) are never settled."},"data_source":{"collector":"superpios/node-scorecard","method":"Independent collector polling every active node API directly, plus on-chain state. Not self-reported by node operators.","refresh":"hourly","response_cache_seconds":600},"free_endpoints":[{"method":"GET","path":"/","description":"This page (HTML for browsers, JSON for agents)."},{"method":"GET","path":"/manifest","description":"This document."},{"method":"GET","path":"/llms.txt","description":"Plain-text summary."},{"method":"GET","path":"/scorecard/health","description":"Liveness and configuration."}],"paid_endpoints":[{"method":"GET","path":"/scorecard/network-stats","price_usd":0.01,"description":"Network-wide Sentinel dVPN health report: ASN concentration and HHI index, verified residential share, protocol mix, censorship-resistance mix, country distribution, SLA speed percentiles, P2P price percentiles. No parameters.","query_params":{}},{"method":"GET","path":"/scorecard/recommend","price_usd":0.01,"description":"Ranked node recommendations for a stated need, diversified across ASNs and countries so the result is not concentrated on one provider. Returns one recommendation plus three alternatives.","query_params":{"need":{"type":"string","description":"Free text describing the requirement, e.g. \"privacy residential\" or \"speed europe\". Matched case-insensitively."},"country":{"type":"string","description":"Restrict candidates to a single country, exact name, case-insensitive, e.g. \"Germany\"."}}},{"method":"GET","path":"/scorecard/nodes","price_usd":0.005,"description":"Snapshot of nodes with composite score, reliability, uptime, SLA speed, price, ASN, jurisdiction freedom and residential verification. Returns active nodes by default.","query_params":{"all":{"type":"string","enum":["1"],"description":"Set to 1 to return every tracked node instead of only the active ones."}}},{"method":"GET","path":"/scorecard/nodes/top","price_usd":0.005,"description":"Top nodes by composite score, with filtering and anti-concentration controls.","query_params":{"n":{"type":"integer","default":5,"minimum":1,"maximum":50,"description":"How many nodes to return. Values outside the range are clamped."},"max_per_asn":{"type":"integer","default":2,"minimum":1,"description":"Anti-concentration cap: maximum number of returned nodes sharing one ASN."},"min_score":{"type":"number","default":0,"description":"Minimum composite score, 0 to 100."},"country":{"type":"string","description":"Exact country name, case-insensitive."},"protocol":{"type":"string","enum":["v2ray","wireguard","xray","openvpn","hysteria2","amneziawg"],"description":"Filter by protocol. Also matches multi-protocol nodes that advertise it."},"sla_only":{"type":"string","enum":["true"],"description":"Set to true to return only nodes that passed the SLA speed test."}}},{"method":"GET","path":"/scorecard/node/:address","price_usd":0.003,"description":"Full scorecard for a single node, addressed by its sentnode1... bech32 address. No query parameters.","query_params":{}}]}