{"as_of": "2026-11-13T11:33:48Z", "rubric": {"scale": "0-100 with letter A-F", "letters": {"A": "90-100", "B": "80-89", "C": "70-79", "D": "60-69", "F": "<60"}, "weights": {"freshness": 0.3, "completeness": 0.25, "coverage": 0.2, "uptime": 0.15, "validation": 0.1}, "formulas": {"freshness": "Standing feeds: 100 if age<=promised; linear to 0 at 2*promised; 40 if unmeasured. Live-fetch products: path-health from usage.db last success age (6h+ window) blended with success rate, and/or self-probe success/latency — request-time data, not feed age.", "completeness": "% of declared key_fields non-null (or company avg_completeness)", "coverage": "mean of measured/target ratios clipped to 100", "uptime": "usage.db success rate last 24h (2xx/3xx/402/404=up); else probe_ok 95 / fail 20 / unknown 60", "validation": "ecom: 100*(1-flagged_pct/20); company: avg_completeness; else 100"}, "recompute_every_minutes": 30, "sources_policy": "Public RPCs, redistributable public APIs, SEC EDGAR, Shopify products.json, public HTML/RSS. No Yahoo Finance, CoinGecko/GeckoTerminal, GoPlus, Blockscout, Arkham, Nansen, Whale Alert, Cielo, or Chainalysis."}, "product": {"product": "candles", "title": "OHLCV candles + indicators", "family": "market-data", "path": "/v1/lookup/candles", "grade": "A", "score": 96.2, "as_of": "2026-11-13T11:33:58Z", "freshness_seconds": 0, "refresh_promised_seconds": 120, "coverage": "exchanges=3", "coverage_detail": {"exchanges": {"measured": 3.0, "target": 3, "ratio": 1.0}}, "sources": ["OKX public API", "Binance.US public API", "Kraken public API"], "components": {"freshness": 100.0, "completeness": 85.0, "coverage": 100.0, "uptime": 100.0, "validation": 100.0}, "component_detail": {"freshness": {"age_seconds": 0, "promised_seconds": 120}, "completeness": {"fields_checked": 0, "note": "no key_fields declared; non-empty response"}, "coverage": {"exchanges": {"measured": 3.0, "target": 3, "ratio": 1.0}}, "uptime": {"success_rate_24h": 1.0, "source": "usage.db"}, "validation": {"note": "no extra validation for this product"}}, "probe": {"path": "/v1/free/candles?symbol=ETHUSDT&interval=1h", "http_status": 200}, "notes": "Falls across OKX then Binance.US then Kraken.", "last_checked": "2026-11-13T11:33:48Z"}, "sample_checks": null, "data_as_of": {"timestamp_utc": "2026-11-13T11:33:48Z", "unix": 1794569628, "time_source": "as_of", "onchain": true, "block": {"chain": "base", "number": 56896214, "basis": "head_block_at_data_time"}, "blocks": {"base": {"number": 56896214, "basis": "head_block_at_data_time"}, "ethereum": {"number": 26405769, "basis": "head_block_at_data_time"}, "arbitrum": {"number": 523852186, "basis": "head_block_at_data_time"}, "polygon": {"number": 97242776, "basis": "head_block_at_data_time"}, "optimism": {"number": 159485421, "basis": "head_block_at_data_time"}, "bnb": {"number": 133344474, "basis": "head_block_at_data_time"}, "gnosis": {"number": 49257577, "basis": "head_block_at_data_time"}, "solana": {"number": 468911246, "basis": "head_block_at_data_time"}}}, "receipt": {"sha256": "6f0ea5310359f8d770e46c00d22dd9f8ae971de47f9f2e4cbe4059d74f8f463a", "hash_of": "UTF-8 JSON of this response with the 'receipt' key removed, keys sorted, separators (',', ':')", "as_of": "2026-11-13T11:33:48Z", "as_of_basis": "from the response", "block": {"chain": "base", "number": 56896214, "basis": "head_block_at_data_time"}, "issued_at": "2026-11-13T11:55:49Z", "route": "/v1/quality/candles", "paid": true, "verify": "/v1/free/receipts/verify?sha256=6f0ea5310359f8d770e46c00d22dd9f8ae971de47f9f2e4cbe4059d74f8f463a"}}