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 returnbtc_volume,usd_volumeandcost_basis_usd; each period returnsfirst_date,last_dateanddays. Cohort names may use any script; duplicate names and overlapping age ranges are rejected with422.
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_aumand the US spot ETF realized price include it since 2024-01-11. - The descriptions of
etf_realized_priceandus_spot_etf_realized_pricenow 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) andus_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_usdandus_spot_net_flow_usdnow 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_flowis now the sum ofus_spot_net_flow_usdsince 2024-01-11 ($56.9B on 2026-10-16, previously estimated at $83.3B).etf_cumulative_money_flowuses 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/snapshotformatfield accepts"png","svg", or"json"; both GET and POST also honorAccept: 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.pngbehavior. - SVG responses now include
X-Render-Idso 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 atcycle_ath_5→ 2025-10-06) instead ofDay 0,Day 90, … . Earlier cycles remain aligned on the same axis positions.
MCP Server
render_chart: theformatparameter enum is now"png" | "svg" | "json"(was"png" | "json"). Whenformat: "svg"is passed, the tool returns animage/svg+xmlcontent block and a/chart/renders/{id}.svgURL 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_chartnow 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.codocumentation site.