{
 "dataset": "chain-liveness",
 "title": "Chain liveness and halt history",
 "note": "`lag_seconds` is the CHAIN's — how far behind its own head was when we read it. `observation_age_seconds` is OURS — how long ago we read it. They are never added together: we poll every six minutes, so against Sui's 0.3-second checkpoints a single number would read `lagging` on a permanently healthy chain. `status: unwatched` with a non-empty `why` is a chain switched off in config, not a chain that is down.",
 "columns": [
  "id",
  "name",
  "symbol",
  "status",
  "height",
  "at",
  "lag_seconds",
  "observation_age_seconds",
  "normal_seconds",
  "halt_count",
  "halt_minutes",
  "rate_limit",
  "why"
 ],
 "count": 7,
 "rows": [
  {
   "id": "bitcoin",
   "name": "Bitcoin",
   "symbol": "BTC",
   "status": "producing",
   "height": 963599,
   "at": "2026-08-22T14:44:41+00:00",
   "lag_seconds": 420,
   "observation_age_seconds": 469,
   "normal_seconds": 600.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "no published limit (mempool.space, blockchain.info)",
   "why": ""
  },
  {
   "id": "ethereum",
   "name": "Ethereum",
   "symbol": "ETH",
   "status": "producing",
   "height": 25811398,
   "at": "2026-08-22T14:51:35+00:00",
   "lag_seconds": 6,
   "observation_age_seconds": 469,
   "normal_seconds": 12.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "publicnode publishes no numeric limit; fair-use",
   "why": ""
  },
  {
   "id": "solana",
   "name": "Solana",
   "symbol": "SOL",
   "status": "lagging",
   "height": 440945383,
   "at": "2026-08-22T14:51:28+00:00",
   "lag_seconds": 13,
   "observation_age_seconds": 469,
   "normal_seconds": 1.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "100 req/10s per IP, 40 req/10s per method (documented)",
   "why": ""
  },
  {
   "id": "xrp",
   "name": "XRP Ledger",
   "symbol": "XRP",
   "status": "producing",
   "height": 106469386,
   "at": "2026-08-22T14:51:40+00:00",
   "lag_seconds": 1,
   "observation_age_seconds": 469,
   "normal_seconds": 4.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "no published numeric limit (xrplcluster, s1.ripple.com)",
   "why": ""
  },
  {
   "id": "avalanche",
   "name": "Avalanche C-Chain",
   "symbol": "AVAX",
   "status": "producing",
   "height": 93425206,
   "at": "2026-08-22T14:51:37+00:00",
   "lag_seconds": 4,
   "observation_age_seconds": 469,
   "normal_seconds": 2.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "50 req/s per IP (documented, api.avax.network)",
   "why": ""
  },
  {
   "id": "near",
   "name": "NEAR Protocol",
   "symbol": "NEAR",
   "status": "unwatched",
   "height": null,
   "at": "",
   "lag_seconds": 0,
   "observation_age_seconds": 0,
   "normal_seconds": 1.2,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "fastnear: no published numeric limit; rpc.mainnet.near.org: DEPRECATED, 429s",
   "why": "not enabled — see config.yaml `onchain.chains`"
  },
  {
   "id": "sui",
   "name": "Sui",
   "symbol": "SUI",
   "status": "producing",
   "height": 313662746,
   "at": "2026-08-22T14:51:40.573000+00:00",
   "lag_seconds": 0,
   "observation_age_seconds": 469,
   "normal_seconds": 1.0,
   "halt_count": 0,
   "halt_minutes": 0,
   "rate_limit": "no published numeric limit; query-complexity capped (documented)",
   "why": ""
  }
 ]
}
