Skip to main content

Changelog

This page documents all notable changes to the Blocklens platform and API.

2026-10-19​

Cohort Spending Analysis (Enterprise dashboard)

  • Data correction: for ranges longer than two years, the week or month at each internal loading boundary was counted twice (e.g. the week of 2019-12-30 showed ₿2.3M instead of ₿1.14M), and yearly SOPR was approximated (LTH SOPR for 2018 showed 1.10 instead of 1.33). Both now match the source data exactly. Dates no longer shift by a day for users east of UTC.
  • Incomplete first/last periods are marked as partial; the default cohorts now start with 1d (age exactly 1 day) and 1d–1w (2–6 days).
  • Faster loading for long ranges, instant BTC/USD switching, and the dashboard state (range, aggregation, unit, tab, dates, custom cohorts) is kept in a shareable link.
  • Market X-Ray opens with a default comparison (latest period vs ~1M/3M/6M/1Y earlier), periods are picked by year, columns are labelled by cohort.
  • Cohort Breakdown adds a % of volume view, a cohort SOPR overlay and the share spent at a loss; SOPR Pulse uses a log scale by default.
  • Cohort editor validates names and ranges before applying; dates and numbers follow your language; exports (PNG/CSV/JSON) contain exactly what the active tab shows.

API

  • POST /v1/enterprise/sopr: buckets and cohorts now also return btc_volume, usd_volume and cost_basis_usd; each period returns first_date, last_date and days. Cohort names may use any script; duplicate names and overlapping age ranges are rejected with 422.

2026-10-18​

Data correction

  • Net Liquidity (macro_net_liquidity): the Reverse Repo component was subtracted without a unit conversion, which overstated the level by up to ~$2T in 2021–2023 (e.g. 2022-06-01: $6.16T, previously shown as $8.12T). The full history has been recomputed. The series is now published for every US business day instead of weekly.
  • Bitcoin treasuries (/v1/dat/*): holdings for a part of the tracked companies and governments were stuck at their 2026-08-10 values. History for 2026-08-11 → 2026-10-16 has been corrected and aggregates recomputed.
  • ETF totals (/v1/etf/aggregate): Grayscale Mini was counted twice for 2024-07-31 → 2026-07-18, overstating total ETF holdings by up to ~48K BTC (e.g. 2025-06-02: 1,301,052 BTC, previously 1,344,415). Total holdings, AUM, BTC dominance, ETF count, market shares and the ETF realized price were recomputed.
  • WisdomTree Bitcoin Fund (BTCW) is now counted as a US spot ETF: us_btc_holdings, us_aum and the US spot ETF realized price include it since 2024-01-11.
  • The descriptions of etf_realized_price and us_spot_etf_realized_price now describe the actual calculation (sum of per-fund weighted-average cost / BTC held); values are unchanged.

ETF flows

  • Daily flows are now aligned to the trading date for every fund.
  • New fields: flow_usd (/v1/etf/ticker) and us_spot_net_flow_usd (/v1/etf/aggregate) — daily net flow in USD.
  • Corrected historical flows for FBTC and IBIT, and filled missing days (e.g. ARKB 2026-09-21).
  • Added MSBT (Morgan Stanley Bitcoin Trust).
  • flow_usd and us_spot_net_flow_usd now cover the full history since 2024-01-11; the newest day is provisional until every fund's figure is published.
  • Cumulative USD flows recalculated from the exact daily USD flow: us_spot_cumulative_money_flow is now the sum of us_spot_net_flow_usd since 2024-01-11 ($56.9B on 2026-10-16, previously estimated at $83.3B). etf_cumulative_money_flow uses the exact flow for US spot ETFs; non-US ETPs and GBTC before 2024 remain an estimate (BTC change × BTC price).
  • The ETF Net Flow and ETF Net Flow Comparison charts now show the USD flow next to the BTC flow.

Derivatives

  • BitMEX removed from open interest and funding after the exchange shut down (data up to 2026-09-16 is kept).
  • Added Kraken and Bitfinex funding rates.

2026-09-04​

Data correction

  • Corrected historical BTC daily price OHLC for 2026-04-17 → 2026-07-11 to match our reference source. Price-derived series — realized volatility (1w–1y) and price drawdown — were recomputed for the affected range.
  • Restated Realized Cap by Age (<24h) and the Realized Cap by Age (%) breakdown for 2026-07-06 and 2026-07-07, which were previously understated.
  • No other metrics were affected: realized cap, MVRV, NUPL and holder series are unchanged.

2026-05-17​

Snapshot API

  • SVG output is now a first-class citizen alongside PNG. The POST /v1/chart/snapshot format field accepts "png", "svg", or "json"; both GET and POST also honor Accept: image/svg+xml.
  • New route: GET /v1/chart/renders/{render_id}.svg — rendered SVGs are persisted for 1 hour and re-fetchable by URL, mirroring the existing .png behavior.
  • SVG responses now include X-Render-Id so the persistent URL can be reconstructed from a single render call.
  • PNG and SVG variants of the same chart are cached independently.
  • Cycle performance overlays (x_axis: "day_offset") now render X-axis tick labels as calendar dates from the latest cycle of the chosen family (e.g. Oct '25, Jan '26, … for ATH overlays anchored at cycle_ath_5 → 2025-10-06) instead of Day 0, Day 90, … . Earlier cycles remain aligned on the same axis positions.

MCP Server

  • render_chart: the format parameter enum is now "png" | "svg" | "json" (was "png" | "json"). When format: "svg" is passed, the tool returns an image/svg+xml content block and a /chart/renders/{id}.svg URL in the summary.

2026-04-02​

Metrics & API

  • Metric count expanded from 127 to 210+ active metrics (exchanges, derivatives, DAT, and more).
  • New endpoint: GET /v1/cycle-boundaries — Bitcoin halving cycle start/end dates and durations.
  • Metrics API now uses a registry-driven query builder for consistent response formatting.

Snapshot API

  • Heatmap rendering: render distribution-based charts (e.g., Cost Basis Distribution) with configurable color scales (viridis, plasma, etc.) and Y-axis scales. Includes color scale legend.
  • Cycle performance overlay charts: x_axis: "day_offset" aligns all halving cycles to Day 0 for comparison.
  • New per-metric parameter: show_in_legend — control whether individual metrics appear in the chart legend.

MCP Server

  • New tool: get_cycle_boundaries — query halving cycle dates directly from AI agents.
  • render_chart now supports heatmap rendering and cycle performance overlays.
  • Unified TypeScript codebase (tools.ts) for all MCP tools.
  • Tool count: 18 → 19.

2025-09-25​

  • Initial setup of the docs.blocklens.co documentation site.