Golden Bitcoin coin standing among layers of glowing orange, turquoise, and blue waves, with Japanese candlesticks in the background
Original illustration generated with AI (Adobe Firefly) — does not represent real data.

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.

Two-column comparison: free APIs (Coin Metrics, CoinGecko, Blockchain.com) offer no UTXO age data at any price, versus a weekly dumptxoutset snapshot of the full UTXO set producing full HODL wave bands for free
Own diagram: the one Bitcoin cycle data point free APIs don't publish — we compute it ourselves.

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

  1. 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 from market_price_usd and market_price_date). (Primary)
  2. NodeWitness, Bitcoin HODL waves chart, accessed November 1, 2026. (Primary)

More in Supply and holders

See all 15 articles in Supply and holders →

Last updated: November 1, 2026