Methodology
For every day, each coin spent is compared against the price it was last acquired at. If it moved at a gain, the
difference counts as
realised profit; if at a loss, as
realised loss — both expressed in native BTC.
Coins are grouped into
vintage-year cohorts (the year they were created), so each coloured line shows the daily
net realisation of one creation-year cohort, and
Total is the sum across all cohorts.
Aggregation: the default view is the trailing
365-day sum — the regime view, where the shaded
red bands mark periods of negative trailing-year net realisation and dashed vertical lines mark the zero crossings
(late 2018 and 2022 — the two capitulation regimes). The
7d / 30d / 90d EMA modes show the smoothed
daily flow instead (7d matches the reference chart). By default only
Total and
Price are shown;
click any vintage year in the legend to add its cohort line.
Reading it: net-realisation tops cluster at cycle euphoria (old coins waking up into strength); sustained
negative regimes mark capitulation, when coins are being spent at a loss and weak hands hand supply over to strong ones.
Data: vintage-cohort realised profit/loss and price come from CheckOnChain's public chart pages
(Plotly trace extraction via npl-by-year-update.py → npl-by-year-data.json).
The source series are pre-smoothed with a 7d EMA by CheckOnChain; the 30d/90d EMA and 365-day sum
options smooth on top of that, so 365-day-sum zero-crossing dates can shift by a few weeks versus the raw
series. If the extraction file fails to load, the page falls back to a clearly-labelled
deterministic demo series synthesised from live price (bitcoin-data.com via btc-proxy).