{
 "generated_at": "2026-10-27T21:47:42Z",
 "version": "candidate-20261027T214742Z",
 "release_version": "rec06-candidate-7c299b67a417",
 "count": 24,
 "note": "Índice canónico de las 24 métricas vigentes. Las otras 82 están en el archivo histórico y no son datos actuales.",
 "sources": {
  "market-snapshot.json": {
   "version": "market-20261027T214738Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "sha256": "277fda2cf5cce2d2440f2ac31f8e95e95d51f184326246d56c6e2ac7cc3be041"
  },
  "onchain-snapshot.json": {
   "version": "onchain-20261027T213709Z-h973461",
   "generated_at": "2026-10-27T21:37:09Z",
   "sha256": "45011a4fd03aa62168d4ac15bf9ac5c5c0aa40f6c9723edf59f5d87bbf6be994"
  },
  "external-snapshot.json": {
   "version": "external-20261027T214742Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "sha256": "53542eda70f34ee91f2ee3fd5ec14787cb5877b752d2a4bbc82c555a6f3a6872"
  }
 },
 "metrics": [
  {
   "id": "price_usd",
   "value": 80930.78,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:33Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "coinbase_spot_v1",
   "source": "Coinbase Exchange BTC-USD ticker (spot USD)",
   "source_kind": "exchange",
   "venue": "coinbase",
   "readings": [
    {
     "price": 80930.79,
     "time": "2026-10-27T21:47:31.099807042Z",
     "trade_id": 1111348698
    },
    {
     "price": 80930.78,
     "time": "2026-10-27T21:47:33.638883160Z",
     "trade_id": 1111348708
    }
   ],
   "binance_btcusdt": 81049.76,
   "divergence_vs_binance": 0.0014701452278106787,
   "source_version": "market-20261027T214738Z",
   "label": "Precio BTC/USD",
   "family": "mercado",
   "max_age_seconds": 3600,
   "refresh_seconds": 300,
   "definition": "Precio spot de una plaza BTC/USD explícita; no tratar USDT como USD. Comparar otra plaza sin inventar un precio global.",
   "page": "/dashboard/v2/recovery/price_usd.html",
   "series": "/dashboard/v2/recovery/series/price_usd.json"
  },
  {
   "id": "price_usd_daily",
   "value": 80008.79,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "coinbase_daily_close_v1",
   "source": "Coinbase Exchange BTC-USD vela diaria 00:00 UTC cerrada",
   "source_kind": "exchange",
   "venue": "coinbase",
   "close_date": "2026-10-26",
   "source_version": "market-20261027T214738Z",
   "label": "Cierre diario BTC/USD",
   "family": "mercado",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Serie de cierres diarios UTC cerrados, sin vela parcial; reparar huecos y documentar plaza.",
   "page": "/dashboard/v2/recovery/price_usd_daily.html",
   "series": "/dashboard/v2/recovery/series/price_usd_daily.json"
  },
  {
   "id": "market_cap_usd",
   "value": 1627078430501.125,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T21:37:09Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "price_times_supply_v1",
   "source": "price_usd Coinbase × total_bitcoins del nodo Bitcoin Core propio",
   "source_kind": "derived",
   "inputs": {
    "price_usd": 80930.78,
    "price_observed_at": "2026-10-27T21:47:33Z",
    "total_bitcoins": 20104568.75,
    "supply_observed_at": "2026-10-27T21:37:09Z",
    "supply_block_height": 973461,
    "supply_block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8"
   },
   "source_version": "market-20261027T214738Z",
   "label": "Capitalización estimada",
   "family": "mercado",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "Precio por oferta con definición explícita; no usar supply fijo. Explicar diferencias entre emisión teórica, efectiva y UTXO.",
   "page": "/dashboard/v2/recovery/market_cap_usd.html",
   "series": "/dashboard/v2/recovery/series/market_cap_usd.json"
  },
  {
   "id": "volume_24h_usd",
   "value": 1696614985.8988755,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "identified_venues_sum_v1",
   "source": "Suma de volumen spot 24 h de Coinbase, Binance, Kraken y Bitstamp",
   "source_kind": "exchange",
   "components": {
    "coinbase": {
     "pair": "BTC-USD",
     "base_btc": 4228.91577498,
     "price_used": 80930.78,
     "price_basis": "price_usd Coinbase (stats no trae VWAP)",
     "notional_usd": 342249452.2234359
    },
    "binance": {
     "pair": "BTCUSDT",
     "base_btc": 13329.63185,
     "price_used": 80930.78,
     "price_basis": "price_usd Coinbase; USDT no se trata como USD",
     "quote_usdt_reported": 1069513328.8375902,
     "notional_usd": 1078777502.733343
    },
    "kraken": {
     "pair": "XBTUSD",
     "base_btc": 2156.67003994,
     "price_used": 80202.57368,
     "price_basis": "VWAP 24 h de Kraken",
     "notional_usd": 172970487.7817364
    },
    "bitstamp": {
     "pair": "btcusd",
     "base_btc": 1281.16587588,
     "price_used": 80097.0,
     "price_basis": "VWAP 24 h de Bitstamp",
     "notional_usd": 102617543.16036035
    }
   },
   "venues": [
    "binance",
    "bitstamp",
    "coinbase",
    "kraken"
   ],
   "source_version": "market-20261027T214738Z",
   "label": "Volumen negociado 24 h — plazas cubiertas",
   "family": "mercado",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "Suma de notional en USD de plazas identificadas, sin doble conteo ni volumen BTC etiquetado USD; ventana móvil24h.",
   "page": "/dashboard/v2/recovery/volume_24h_usd.html",
   "series": "/dashboard/v2/recovery/series/volume_24h_usd.json"
  },
  {
   "block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8",
   "block_height": 973461,
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "difficulty",
   "method_version": "core_getdifficulty_div1e12_v1",
   "observed_at": "2026-10-27T21:37:09Z",
   "raw_difficulty": 140577680051919.6,
   "source": "bitcoin-core RPC getdifficulty (nodo propio macmini-ts)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "tip_block_time": "2026-10-27T21:27:06Z",
   "unit": "T",
   "value": 140.5776800519196,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Dificultad",
   "family": "red",
   "max_age_seconds": 7200,
   "refresh_seconds": 900,
   "definition": "getdifficulty dividido por 1e12; referencia a altura y hash.",
   "page": "/dashboard/v2/recovery/difficulty.html",
   "series": "/dashboard/v2/recovery/series/difficulty.json"
  },
  {
   "block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8",
   "block_height": 973461,
   "estimate_blocks": 3,
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "fee_halfhour_satvb",
   "method_version": "core_estimatesmartfee_3_v1",
   "observed_at": "2026-10-27T21:37:09Z",
   "raw_feerate_btc_per_kvb": 1.112e-05,
   "source": "bitcoin-core RPC estimatesmartfee 3 (modo por defecto)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "unit": "sat/vB",
   "value": 1.112,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Comisión estimada para unos 3 bloques",
   "family": "red",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "estimatesmartfee 3: BTC/kvB a sat/vB multiplicando1e5; estimación, no mediana ni garantía30min. Falta de estimación !=cero.",
   "page": "/dashboard/v2/recovery/fee_halfhour_satvb.html",
   "series": "/dashboard/v2/recovery/series/fee_halfhour_satvb.json"
  },
  {
   "block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8",
   "block_height": 973461,
   "blocks_in_window": 1080,
   "estimator": "(chainwork[H]-chainwork[h0])/(time[H]-time[h0]); h0=menor altura con time>=time[H]-7d",
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "hashrate_7d",
   "method_version": "core_headers_work_7d_v1",
   "observed_at": "2026-10-27T21:37:09Z",
   "source": "bitcoin-core getblockheader chainwork/time (nodo propio)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "unit": "EH/s",
   "value": 1078.595455169547,
   "version": "candidate-20261027T214742Z",
   "window_days": 6.997361111111111,
   "window_end_height": 973461,
   "window_end_time": "2026-10-27T21:27:06Z",
   "window_seconds": 604572,
   "window_start_height": 972381,
   "window_start_time": "2026-10-20T21:30:54Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Hashrate estimado — 7 días",
   "family": "red",
   "max_age_seconds": 7200,
   "refresh_seconds": 3600,
   "definition": "Trabajo acumulado y tiempo real de cabeceras en ventana7d; documentar estimador y límites. H/s dividido1e18. No usar endpoint3d con etiqueta7d.",
   "page": "/dashboard/v2/recovery/hashrate_7d.html",
   "series": "/dashboard/v2/recovery/series/hashrate_7d.json"
  },
  {
   "block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8",
   "block_height": 973461,
   "field_used": "bytes",
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "mempool_vsize",
   "mempool_tx": 33714,
   "mempool_usage_bytes_ram": 74304872,
   "method_version": "core_getmempoolinfo_bytes_div1e6_v1",
   "observed_at": "2026-10-27T21:37:09Z",
   "source": "bitcoin-core RPC getmempoolinfo.bytes (mempool local)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "unit": "MvB",
   "value": 12.195318,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Tamaño de la mempool local",
   "family": "red",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "getmempoolinfo.bytes/1e6, verificar semántica RPC vigente. Es observación local, no mempool global.",
   "page": "/dashboard/v2/recovery/mempool_vsize.html",
   "series": "/dashboard/v2/recovery/series/mempool_vsize.json"
  },
  {
   "block_hash": "000000000000000000004b07b96a1b8ed400d66339580f1eeb332b9cd910f0e8",
   "block_height": 973461,
   "convention": "suma de subsidios alturas 0..H, génesis incluido; emisión teórica",
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "total_bitcoins",
   "method_version": "subsidy_sum_theoretical_v1",
   "observed_at": "2026-10-27T21:37:09Z",
   "source": "reglas de subsidio de consenso sobre altura del nodo propio",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "supply_sats": 2010456875000000,
   "unit": "BTC",
   "utxo_note": "coinstatsindex: BTC en UTXOs; no se iguala a la emisión teórica",
   "utxo_total_amount_btc": 20104338.61750081,
   "utxo_total_unspendable_btc": 230.13249919,
   "value": 20104568.75,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Oferta BTC — metodología explícita",
   "family": "red",
   "max_age_seconds": 7200,
   "refresh_seconds": 3600,
   "definition": "Derivar desde altura/subsidios y/o coinstatsindex. Elegir y rotular emisión teórica versus efectiva; UTXO total no es equivalente automático. Sin constante hardcodeada.",
   "page": "/dashboard/v2/recovery/total_bitcoins.html",
   "series": "/dashboard/v2/recovery/series/total_bitcoins.json"
  },
  {
   "block_hash": "00000000000000000000352b9172d1aa8270979b8d1fae5054971c1ddd75e71d",
   "block_height": 973317,
   "blocks_in_day": 162,
   "coinbase_included": true,
   "confirmations_last": 145,
   "day_end": "2026-10-27T00:00:00Z",
   "day_rule": "bloques con mediantime en [00:00, 24:00) UTC; mediantime es monótono y da un rango contiguo",
   "day_start": "2026-10-26T00:00:00Z",
   "day_utc": "2026-10-26",
   "first_height": 973156,
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "tx_count_daily",
   "last_height": 973317,
   "method_version": "core_blockstats_daily_count_v1",
   "observed_at": "2026-10-27T00:00:00Z",
   "source": "bitcoin-core getblockheader.nTx / getblockstats.txs (nodo propio)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "tx_count_excl_coinbase": 829240,
   "unit": "tx/día",
   "value": 829402,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Transacciones confirmadas por día UTC",
   "family": "red",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Bloques del último día UTC cerrado; sumar tx con convención coinbase explícita; timestamp de bloque y confirmaciones documentados.",
   "page": "/dashboard/v2/recovery/tx_count_daily.html",
   "series": "/dashboard/v2/recovery/series/tx_count_daily.json"
  },
  {
   "block_hash": "00000000000000000000352b9172d1aa8270979b8d1fae5054971c1ddd75e71d",
   "block_height": 973317,
   "blocks_in_day": 162,
   "confirmations_last": 145,
   "day_end": "2026-10-27T00:00:00Z",
   "day_rule": "bloques con mediantime en [00:00, 24:00) UTC; mediantime es monótono y da un rango contiguo",
   "day_start": "2026-10-26T00:00:00Z",
   "day_utc": "2026-10-26",
   "first_height": 973156,
   "generated_at": "2026-10-27T21:37:09Z",
   "id": "transaction_fees_btc",
   "last_height": 973317,
   "method_version": "core_blockstats_totalfee_div1e8_v1",
   "observed_at": "2026-10-27T00:00:00Z",
   "source": "bitcoin-core getblockstats.totalfee (nodo propio)",
   "source_kind": "bitcoin-core",
   "status": "ok",
   "total_fee_sats": 243953518,
   "unit": "BTC",
   "value": 2.43953518,
   "version": "candidate-20261027T214742Z",
   "source_version": "onchain-20261027T213709Z-h973461",
   "label": "Comisiones confirmadas por día UTC",
   "family": "red",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "getblockstats totalfee en sats por bloque dividido1e8; último día UTC cerrado; cadena activa y cobertura completa.",
   "page": "/dashboard/v2/recovery/transaction_fees_btc.html",
   "series": "/dashboard/v2/recovery/series/transaction_fees_btc.json"
  },
  {
   "id": "price_200w_ma",
   "value": 67157.2669,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "sma_200_weekly_closed_v1",
   "source": "Cálculo propio sobre velas diarias UTC cerradas Coinbase Exchange BTC-USD (data/btc-usd-daily-coinbase.jsonl)",
   "source_kind": "derived",
   "window": {
    "weeks": 200,
    "first_week_start": "2022-12-26",
    "last_week_end": "2026-10-25"
   },
   "source_version": "market-20261027T214738Z",
   "label": "Media móvil de 200 semanas",
   "family": "tendencia",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Promedio de200cierres semanales UTC completos, no1400cierresdiarios sin etiquetar aproximación.",
   "page": "/dashboard/v2/recovery/price_200w_ma.html",
   "series": "/dashboard/v2/recovery/series/price_200w_ma.json"
  },
  {
   "id": "price_200w_heat",
   "value": 1.1913645937845632,
   "unit": "ratio",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "price_over_sma200w_v1",
   "source": "Cálculo propio sobre velas diarias UTC cerradas Coinbase Exchange BTC-USD (data/btc-usd-daily-coinbase.jsonl)",
   "source_kind": "derived",
   "note": "Razón cierre diario / SMA de 200 semanas; no es un heatmap propietario",
   "source_version": "market-20261027T214738Z",
   "label": "Precio / media de 200 semanas",
   "family": "tendencia",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Cierre diario / SMA200semanal completa; nombre explícito, no aparentar heatmap propietario.",
   "page": "/dashboard/v2/recovery/price_200w_heat.html",
   "series": "/dashboard/v2/recovery/series/price_200w_heat.json"
  },
  {
   "id": "mayer_multiple",
   "value": 1.0962843636385284,
   "unit": "ratio",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "price_over_sma200d_v1",
   "source": "Cálculo propio sobre velas diarias UTC cerradas Coinbase Exchange BTC-USD (data/btc-usd-daily-coinbase.jsonl)",
   "source_kind": "derived",
   "window": {
    "days": 200,
    "first": "2026-04-10",
    "last": "2026-10-26"
   },
   "source_version": "market-20261027T214738Z",
   "label": "Múltiplo de Mayer",
   "family": "tendencia",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Cierre diario / SMA200cierresdiarios completos; >=200observaciones consecutivas.",
   "page": "/dashboard/v2/recovery/mayer_multiple.html",
   "series": "/dashboard/v2/recovery/series/mayer_multiple.json"
  },
  {
   "id": "pi_cycle_111ma",
   "value": 74427.34783783783,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "sma_111_daily_v1",
   "source": "Cálculo propio sobre velas diarias UTC cerradas Coinbase Exchange BTC-USD (data/btc-usd-daily-coinbase.jsonl)",
   "source_kind": "derived",
   "window": {
    "days": 111,
    "first": "2026-07-08",
    "last": "2026-10-26"
   },
   "source_version": "market-20261027T214738Z",
   "label": "Pi Cycle — SMA111",
   "family": "tendencia",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Media111cierres diarios completos. No confundir el valor de la media con precio/media.",
   "page": "/dashboard/v2/recovery/pi_cycle_111ma.html",
   "series": "/dashboard/v2/recovery/series/pi_cycle_111ma.json"
  },
  {
   "id": "pi_cycle_350ma_x2",
   "value": 152559.7341142857,
   "unit": "USD",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:38Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "sma_350_x2_daily_v1",
   "source": "Cálculo propio sobre velas diarias UTC cerradas Coinbase Exchange BTC-USD (data/btc-usd-daily-coinbase.jsonl)",
   "source_kind": "derived",
   "note": "Descriptivo, no predictivo",
   "window": {
    "days": 350,
    "first": "2025-11-11",
    "last": "2026-10-26"
   },
   "source_version": "market-20261027T214738Z",
   "label": "Pi Cycle — 2 × SMA350",
   "family": "tendencia",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "2veces media350cierresdiarios completos; indicador descriptivo, no promesa predictiva.",
   "page": "/dashboard/v2/recovery/pi_cycle_350ma_x2.html",
   "series": "/dashboard/v2/recovery/series/pi_cycle_350ma_x2.json"
  },
  {
   "id": "funding_rate_avg",
   "value": 0.01,
   "unit": "%/8h",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "binance_okx_bybit_8h_normalized_v1",
   "source": "Promedio normalizado a 8h de Binance fapi/fundingRate, OKX funding-rate y Bybit funding/history (BTCUSDT/BTC-USDT-SWAP perp)",
   "source_kind": "exchange",
   "by_exchange": {
    "binance": 0.01,
    "okx": 0.01,
    "bybit": 0.01
   },
   "intervals_hours": {
    "binance": 8,
    "okx": 8,
    "bybit": 8
   },
   "components": {
    "binance": "https://fapi.binance.com/fapi/v1/fundingRate?symbol=BTCUSDT&limit=1",
    "okx": "https://www.okx.com/api/v5/public/funding-rate?instId=BTC-USDT-SWAP",
    "bybit": "https://api.bybit.com/v5/market/funding/history?category=linear&symbol=BTCUSDT&limit=1"
   },
   "source_version": "external-20261027T214742Z",
   "label": "Funding — contratos cubiertos",
   "family": "derivados",
   "max_age_seconds": 43200,
   "refresh_seconds": 3600,
   "definition": "Promedio con cobertura y conversión de intervalos explícitos; no mezclar tasas1h/8h sin normalizar. Conservar desglose y signo.",
   "page": "/dashboard/v2/recovery/funding_rate_avg.html",
   "series": "/dashboard/v2/recovery/series/funding_rate_avg.json"
  },
  {
   "id": "open_interest_total",
   "value": 207196.37502322,
   "unit": "BTC",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "binance_okx_bybit_deribit_btc_v1",
   "source": "Suma de Binance fapi/openInterest, OKX open-interest, Bybit open-interest (lineales, BTC) y Deribit get_book_summary_by_currency (futuros, convertido a BTC con precio subyacente)",
   "source_kind": "exchange",
   "by_exchange": {
    "binance": 95710.158,
    "okx": 30675.8585,
    "bybit": 62421.091,
    "deribit": 18389.26752322
   },
   "components": {
    "binance": "https://fapi.binance.com/fapi/v1/openInterest?symbol=BTCUSDT",
    "okx": "https://www.okx.com/api/v5/public/open-interest?instType=SWAP&instId=BTC-USDT-SWAP",
    "bybit": "https://api.bybit.com/v5/market/open-interest?category=linear&symbol=BTCUSDT&intervalTime=5min&limit=1",
    "deribit": "https://www.deribit.com/api/v2/public/get_book_summary_by_currency?currency=BTC&kind=future"
   },
   "source_version": "external-20261027T214742Z",
   "label": "Interés abierto — mercados cubiertos",
   "family": "derivados",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "Convertir contratos lineales/inversos a BTC correctamente y sumar solo instrumentos documentados; no llamarlo total mundial.",
   "page": "/dashboard/v2/recovery/open_interest_total.html",
   "series": "/dashboard/v2/recovery/series/open_interest_total.json"
  },
  {
   "id": "atm_iv_30d",
   "value": 35.88,
   "unit": "% anual",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "deribit_atm_interp_30d_v1",
   "source": "https://www.deribit.com/api/v2/public/get_book_summary_by_currency?currency=BTC&kind=option",
   "source_kind": "exchange",
   "source_version": "external-20261027T214742Z",
   "label": "Volatilidad implícita ATM — aproximación 30d",
   "family": "derivados",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "Deribit: tenor/strike real o interpolación documentada; distancia a30d visible, sin confundir vol con varianza.",
   "page": "/dashboard/v2/recovery/atm_iv_30d.html",
   "series": "/dashboard/v2/recovery/series/atm_iv_30d.json"
  },
  {
   "id": "dvol_index",
   "value": 37.54,
   "unit": "índice",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "deribit_dvol_native_v1",
   "source": "https://www.deribit.com/api/v2/public/get_volatility_index_data?currency=BTC&start_timestamp=1793116060891&end_timestamp=1793137660891&resolution=60",
   "source_kind": "exchange",
   "source_version": "external-20261027T214742Z",
   "label": "DVOL BTC",
   "family": "derivados",
   "max_age_seconds": 3600,
   "refresh_seconds": 900,
   "definition": "Índice publicado por Deribit; fecha real del proveedor y licencia/atribución registradas.",
   "page": "/dashboard/v2/recovery/dvol_index.html",
   "series": "/dashboard/v2/recovery/series/dvol_index.json"
  },
  {
   "id": "fear_greed",
   "value": 48,
   "unit": "0–100",
   "status": "ok",
   "observed_at": "2026-10-27T00:00:00Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "alternative_me_native_v1",
   "source": "api.alternative.me/fng/",
   "source_kind": "external",
   "classification": "Neutral",
   "source_version": "external-20261027T214742Z",
   "label": "Índice de miedo y codicia",
   "family": "sentimiento",
   "max_age_seconds": 172800,
   "refresh_seconds": 3600,
   "definition": "Alternative.me, atribución visible y fecha de dato, no hora de descarga.",
   "page": "/dashboard/v2/recovery/fear_greed.html",
   "series": "/dashboard/v2/recovery/series/fear_greed.json"
  },
  {
   "id": "ln_capacity_btc",
   "value": 2457.62242698,
   "unit": "BTC",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "oneml_lightning_stats_fallback_v1",
   "source": "1ml.com",
   "source_kind": "external",
   "fallback_reason": "mempool.space snapshot vencido: added=2026-08-30T00:00:00.000Z edad=5089658s > umbral=172800s",
   "note": "Grafo público; no observable íntegro desde Bitcoin Core",
   "source_version": "external-20261027T214742Z",
   "label": "Capacidad pública de Lightning",
   "family": "lightning",
   "max_age_seconds": 172800,
   "refresh_seconds": 21600,
   "definition": "Grafo público externo con fuente; NO observable íntegramente desde Bitcoin Core ni incluye canales privados.",
   "page": "/dashboard/v2/recovery/ln_capacity_btc.html",
   "series": "/dashboard/v2/recovery/series/ln_capacity_btc.json"
  },
  {
   "id": "ln_nodes",
   "value": 5926,
   "unit": "nodos",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "oneml_lightning_stats_fallback_v1",
   "source": "1ml.com",
   "source_kind": "external",
   "fallback_reason": "mempool.space snapshot vencido: added=2026-08-30T00:00:00.000Z edad=5089658s > umbral=172800s",
   "note": "Nodos públicos anunciados, no censo completo",
   "source_version": "external-20261027T214742Z",
   "label": "Nodos públicos de Lightning",
   "family": "lightning",
   "max_age_seconds": 172800,
   "refresh_seconds": 21600,
   "definition": "Nodos del grafo público de la fuente; no atribuir al nodo Core.",
   "page": "/dashboard/v2/recovery/ln_nodes.html",
   "series": "/dashboard/v2/recovery/series/ln_nodes.json"
  },
  {
   "id": "ln_channels",
   "value": 19474,
   "unit": "canales",
   "status": "ok",
   "observed_at": "2026-10-27T21:47:38Z",
   "generated_at": "2026-10-27T21:47:42Z",
   "version": "candidate-20261027T214742Z",
   "method_version": "oneml_lightning_stats_fallback_v1",
   "source": "1ml.com",
   "source_kind": "external",
   "fallback_reason": "mempool.space snapshot vencido: added=2026-08-30T00:00:00.000Z edad=5089658s > umbral=172800s",
   "note": "Canales públicos anunciados, no el total existente",
   "source_version": "external-20261027T214742Z",
   "label": "Canales públicos de Lightning",
   "family": "lightning",
   "max_age_seconds": 172800,
   "refresh_seconds": 21600,
   "definition": "Canales públicos anunciados, no todos los canales existentes; fuente y fecha visibles.",
   "page": "/dashboard/v2/recovery/ln_channels.html",
   "series": "/dashboard/v2/recovery/series/ln_channels.json"
  }
 ]
}