Bitcoin HODL Waves: Calculated From the Full UTXO Set, Not a Vendor
HODL waves split all circulating Bitcoin by how long each coin has gone without moving. Most explainers stop at the definition. This one starts with where the number actually comes from: a walk through the full UTXO set once a week — not a feed we license from a data vendor.
HODL waves are a breakdown of all circulating Bitcoin by how long each coin has gone without moving addresses — an X-ray of market conviction, sitting alongside MVRV and NUPL as one of the classic on-chain cycle indicators. If you've read a Glassnode or Unchained chart before, you already know the shape. What's worth your time here is the part most coverage skips: this is one of the hardest on-chain data points to produce, and one of the very few we compute ourselves rather than pull from a third party.
📊 Live data: the NodeWitness Cycle Score component that combines HODL waves with holder distribution by wallet size appears every day among the key indicators on the front page, along with the direction it's currently pushing the Score.
What HODL Waves Show
Every Bitcoin coin has an "age": the time since it last moved on-chain. Coins that sit untouched for years signal the same refusal to sell regardless of price that shows up when we track long-term holder supply directly; coins that change hands often point to trading or short-term speculation. Stacked by age, the bands read like geological strata — the deepest layers are the market's solid base, the top layers are this week's churn.
Why We Calculate This Ourselves, Not License It
No free API — Coin Metrics, CoinGecko, Blockchain.com — publishes a supply breakdown by coin age. That data sits behind paid plans at Glassnode and CryptoQuant, because producing it requires walking the entire UTXO set, not querying a database someone else already built. We compare what else we give away for free against Glassnode here.
The process: a full UTXO set snapshot is generated (dumptxoutset, a binary dump
of every unspent output at a given block), and our own parser walks that file — tens of
millions of entries — calculating each one's age against the snapshot height, then
aggregating into the bands below. It's heavy work, several minutes over a file several
gigabytes in size, and it runs automated once a week —
never an on-demand query, never a number licensed from someone else's index.
The Age Bands We Track
Every UTXO (unspent transaction output) is grouped by blocks elapsed since creation, into ten bands: less than 1 day, 1 day - 1 week, 1 week - 1 month, 1 - 3 months, 3 - 6 months, 6 months - 1 year, 1 - 2 years, 2 - 3 years, 3 - 5 years, and more than 5 years. Internally we also draw a single long/short-term line at 155 days — the same convention much of the on-chain analysis industry uses — which falls inside the 3-to-6 month band rather than on one of its edges. It's the same threshold our own long-term holder Supply-in-Loss module uses, so the age-related indicators across the project stay consistent with each other. How much of that long-term supply is currently underwater is covered in long-term holders in loss, with the weekly series on its own chart.
How It Feeds the Score
From the same UTXO snapshot we also compute holder distribution by wallet size — from "shrimp" (under 0.01 BTC) to "whales" (over 10,000 BTC) — a different question about the same data: how long since a coin last moved, versus how much BTC an address controls. Both feed the same component of the Score; we break that second cut down cohort by cohort in our holder distribution by wallet size piece, with comparative history in our Supply and holders section.
What the HODL waves showed at each top and bottom since 2018
The series holds 456 snapshots of the UTXO set, nearly all of them weekly, from block 503,786 (January 12, 2018) to block 974,069 (November 1, 2026) [1]. They were rebuilt by rolling the UTXO set back to past block heights, and the week-by-week view lives on the HODL waves chart [2]. Here we read it phase by phase through one number, the share of supply that had not moved in over a year.
| Point in the cycle | Block | Bitcoin price | Unmoved for over a year |
|---|---|---|---|
| First snapshot, Jan 12, 2018 | 503,786 | $13,791 | 42.9% |
| Series low, Mar 18, 2018 | 514,080 | $8,214 | 41.5% |
| 2018 price bottom, Dec 15, 2018 | 553,997 | $3,232 | 52.0% |
| 2021 price top, Nov 14, 2021 | 709,632 | $65,469 | 54.4% |
| 2022 price bottom, Nov 21, 2022 | 764,190 | $15,760 | 66.8% |
| Series high, Nov 26, 2023 | 818,496 | $37,469 | 70.9% |
| 2025 price top, Oct 5, 2025 | 917,818 | $123,519 | 62.0% |
| Latest snapshot, Nov 1, 2026 | 974,069 | no price in the series | 64.0% |
Tops and bottoms are the highest or lowest priced snapshot in each stretch, so they can sit a few days off the exact market extreme [1]. There is no data between January 12 and March 18, 2018.
Coming off the 2017 mania, the series opens at its lowest reading, with only 41.5% of supply dormant for a year or more in March 2018. The bear market added more than ten points by the December bottom, and the share kept climbing through the sideways years to 63.6% on September 6, 2020 [1].
The 2021 run reversed that. Dormant supply fell a little over ten points to 53.4% on August 1, 2021, and was still at 54.4% at the November price top [1]. Old coins moved during the rally, so the bands turned months before the price did.
The highest reading in the whole series, 70.9%, came on November 26, 2023, a year after the 2022 price bottom [1]. Some of that lag is mechanical. A coin that moved near the low needs a full year to reach the one-year-plus bands. By the October 2025 price top the share had dropped to 62.0%, and it kept sliding to 58.7% on November 30, 2025 [1].
In the latest snapshot, 64.0% of supply has not moved in over a year, and the five-years-plus band holds 34.2%, up from 18.9% in the first snapshot [1].
Across the two full cycles in the series the pattern holds. Dormant supply shrinks while price climbs toward a top and grows through bottoms and sideways stretches. That places the cycle phase, and none of it is a signal to buy or sell.
What This Data Can't Tell You
Lost coins inflate the oldest bands permanently — inaccessible BTC reads exactly like patient conviction. Keys destroyed on purpose would look the same, which is what Michael Saylor has said he may do with his Bitcoin. Institutional cold storage looks like an individual holder even when thousands of users are trading behind it. A coin moving doesn't always mean a sale — wallet consolidation resets age with no trade involved. And it's a weekly snapshot, so anything that happens between two snapshots only shows up in the next one. The most common mistake is reading one snapshot as a verdict — the signal is in the trend across snapshots, combined with other indicators, never alone.
You can explore the full series, with every age band, on the interactive HODL waves chart.
Want to see HODL waves week by week, with comparative history? Visit our Supply and holders section — free, no sign-up required.
Sources
- NodeWitness, HODL waves history, public API
https://nodewitness.com/api/market/hodl-waves/history, accessed November 1, 2026 (456 snapshots; «over a year» is the sum of the 1–2y, 2–3y, 3–5y and 5y+ bands; price and date per block frommarket_price_usdandmarket_price_date). (Primary) - NodeWitness, Bitcoin HODL waves chart, accessed November 1, 2026. (Primary)
More in Supply and holders
Last updated: November 1, 2026