Coin Days Destroyed (CDD) is Bitcoin's supply-weighted velocity metric: the total "coin-days" — BTC quantity × days held — that are destroyed when UTXOs are spent on a given day. Introduced in 2011 by the pseudonymous BitcoinTalk user "ByteCoin," it is one of the oldest on-chain tools, predating MVRV ratio, NUPL, and SOPR by years; its distinctive contribution is weighting spending by both volume and holding age, so a small UTXO held for ten years generates more CDD than a large UTXO held for a day. CDD therefore makes the movement of old, dormant supply visible — ancient coins (5+ years) moving produce dramatic spikes, while large transaction volumes of recently-acquired coins leave CDD low. It is operationally useful for detecting ancient-cohort capitulation or distribution events, major-holder positioning changes, and cycle-phase transitions in the spending-age profile. James Check has integrated CDD into the cohort framework via Liveliness (cumulative CDD ÷ cumulative coin-days created) and Dormancy (CDD ÷ transferred BTC), complementing the profit-weighted SOPR family and the HODL waves supply-by-age view.
Why this note matters
CDD is load-bearing for on-chain analysis in three respects:
- It captures dormant-supply movement signals no other metric does. Aggregate volume, SOPR, and even cohort metrics can miss large old-coin moves embedded in larger flows; CDD’s age-weighting makes ancient-supply movement visible immediately — a 1,000 BTC move of 7-year-old coins produces an order-of-magnitude larger signal than the same volume of 1-week-old coins.
- It is the foundation for Liveliness and Dormancy. Liveliness (cumulative destroyed ÷ cumulative created coin-days) is the network-aggregate aging-vs-spending balance — rising during accumulation, falling during distribution. Dormancy (CDD per transferred BTC) is the average age of spent coins on a given day. Both depend on CDD as their primitive.
- It has the longest empirical track record of any on-chain metric. CDD predates the modern on-chain framework — computed and published from 2011-2012, long before realized cap, MVRV, NUPL, or SOPR existed — giving 15+ years of multi-cycle data.
Single-day spikes require care — they can reflect structural events or routine custodial operations — but the age-weighting captures something genuinely additive to the broader on-chain toolkit.
What this metric measures
The conceptual claim. CDD measures the aggregate “weight of holding history” that is reset by today’s spending activity. A coin held for days carries days of accumulated “coin-days” with it; when the coin moves on-chain, those coin-days are destroyed (the holding-history counter resets to zero for the new UTXO). High CDD means coins with substantial holding history are moving; low CDD means only recently-acquired coins are transacting.
The mathematical form.
where the sum runs over all UTXOs consumed on day , is the UTXO size in BTC, and is the UTXO’s age in days at the time of spending. The unit is BTC-days.
Interpretation of magnitudes. Daily CDD values typically range from tens of millions to hundreds of millions of coin-days in normal markets. Spike events (large old-coin moves) can reach billions of coin-days. The framework’s operational use focuses on:
- Absolute spikes — single-day CDD many times the trailing average; signals significant old-coin movement
- Sustained elevated levels — CDD persistently above baseline; signals ongoing old-cohort distribution
- Sustained depressed levels — CDD persistently below baseline; signals accumulation phase where old supply isn’t moving
What CDD is not. CDD is not a profit metric (that’s SOPR), not a valuation metric (that’s MVRV/NUPL), and not a supply distribution metric (that’s HODL waves). It is specifically a spent-output age-weighted volume metric. The complementarity with the other on-chain metrics is what makes it operationally useful — CDD captures information they don’t.
The age-weighting feature. The distinguishing feature of CDD vs raw transaction volume: a single coin held for 1,000 days contributes 1,000 coin-days when spent, while the same coin spent after 1 day contributes only 1 coin-day. Spending equal BTC volumes can produce CDD values differing by orders of magnitude depending on the coins’ ages.
How it’s calculated
The basic CDD.
where the sum is over all UTXOs spent in the interval centered on (typically a one-day window), and the age is computed in days.
Supply-adjusted CDD. A common refinement: divide CDD by circulating supply to normalize across Bitcoin’s growing supply base. The result is “average destroyed coin-days per BTC” — a normalized metric usable for cross-cycle comparison.
Liveliness. The cumulative ratio of destroyed coin-days to created coin-days:
Coin-days are created continuously as held UTXOs age (each BTC accumulates one coin-day per day held). Liveliness ranges between 0 (no spending; pure accumulation) and 1 (all coin-days destroyed; pure distribution). In practice, Liveliness has ranged from approximately 0.4 to 0.65 across Bitcoin’s history.
Liveliness interpretation. Increasing Liveliness means more coin-days are being destroyed than created — old supply is moving; distribution phase. Decreasing Liveliness means more coin-days are being created than destroyed — supply is aging; accumulation phase. The metric is operationally useful as a smooth long-horizon cycle-positioning signal.
Dormancy (Average Coin Dormancy). The average age of spent coins on a given day:
Dormancy is interpretable directly in units of days: “the average coin spent today was held for X days.” Spikes in dormancy reflect specific events where unusually old coins are spent.
Binary CDD. A variant: instead of weighting by age, weight by an indicator (1 if held > some threshold, 0 otherwise). Binary CDD with a 1-year threshold approximately captures “BTC moved that had been held > 1 year.” The framework simplifies the continuous age-weighting at the cost of some signal granularity.
Volatility-adjusted CDD. Some implementations normalize CDD by its trailing volatility for cycle-comparison purposes. Standard normalizations include 7-day moving averages, 30-day moving averages, and Z-score adjustments.
Data-provider variants. Glassnode, Coin Metrics, Checkonchain, and other platforms all publish CDD with the standard methodology. Differences in dust-handling, multi-output transaction handling, and supply-adjusted variants produce small differences across providers.
What it tells you
Ancient-supply movement detection. CDD’s primary operational use is detecting movement of old coins. The pattern:
- Sustained low CDD signals that ancient holders are not selling; characteristic of bull-market accumulation phases and bear-market structural support
- Sustained elevated CDD signals ongoing ancient-supply distribution; characteristic of late-cycle bull markets
- Single-day CDD spikes signal specific events: known whale moves, major custodial migrations, ETF basket creations involving old coins, or coordinated long-term-holder distribution
Liveliness cycle-positioning. Liveliness is one of the smoother on-chain cycle-positioning signals:
| Liveliness behavior | Cycle phase |
|---|---|
| Sustained decrease (multi-month) | Accumulation; bear-to-early-bull transition |
| Local peak followed by sustained decrease | Cycle bottom region; structural support |
| Sustained increase (multi-month) | Distribution; late-bull dynamic |
| Local trough followed by sustained increase | Cycle peak region; structural distribution |
The pattern has been reliable across the 2013, 2017, 2021, and 2024-2025 cycles. Liveliness troughs have approximately marked cycle bottoms; Liveliness peaks have approximately marked cycle tops, with some lead time in many cases.
Dormancy interpretation. Dormancy in days provides intuitive context:
- Dormancy < 50 days: average spent coin was held briefly; characteristic of high-velocity bull-market trading
- Dormancy 50-200 days: normal range
- Dormancy 200-500 days: elevated; long-term holders are moving coins; late-cycle distribution territory
- Dormancy > 500 days (1.5+ years): extreme; ancient-supply movement event
Cross-cycle attenuation observations. Like other on-chain extremes, CDD peak magnitudes have attenuated cycle-over-cycle. The 2017 cycle saw multiple multi-billion-coin-day spike days; the 2021 cycle saw fewer extreme spikes; the 2024-2025 cycle has shown more measured distribution patterns. The attenuation is consistent with the broader Diminishing returns thesis.
Specific operational uses.
- Detecting major-holder positioning: large old-coin moves register immediately in CDD, providing a real-time signal that aggregate transaction volume averages out
- Identifying structural distribution: sustained elevated Liveliness through bull markets confirms ongoing long-term-holder profit-taking
- Confirming bottom formation: Liveliness troughs combined with depressed CDD have marked bottom regions in prior cycles
- Detecting custodial events: large ETF basket creations or exchange wallet reorganizations produce visible CDD spikes; the framework helps distinguish operational events from holder-economic events
Empirical track record
Historical CDD peak events. Notable single-day CDD spikes have included:
- August 2018: large ~50,000 BTC move from a Bitfinex-associated wallet held 4+ years; produced multi-billion coin-day spike
- October-November 2020: multiple large old-coin moves during the early bull market; some likely Mt. Gox-related or Silk Road-related government auctions
- March 2021: notable old-coin movements during the cycle peak distribution
- Various 2022 events: distress-driven movements during the FTX collapse and Three Arrows aftermath
- 2024-2025: ETF-creation-driven movements producing coordinated CDD signatures
The specific events have varied; the framework’s value is in identifying anomalous spikes for further investigation, not in mechanical signal generation.
Liveliness cycle dynamics.
| Cycle | Liveliness trough | Liveliness peak | Approximate cycle-bottom-to-peak Liveliness rise |
|---|---|---|---|
| 2013 cycle | ~0.45 in early 2013 | ~0.55 at late-2013 peak | ~0.10 |
| 2017 cycle | ~0.48 in early 2017 | ~0.62 at late-2017 peak | ~0.14 |
| 2021 cycle | ~0.52 in early 2020 | ~0.62 at late-2021 peak | ~0.10 |
| 2024-2025 cycle | ~0.55 baseline | muted at the Aug-2025 top | small (attenuated) |
The pattern: Liveliness rises through bull markets (distribution dominates) and falls through bear markets (accumulation dominates). The peak-to-trough range has been ~0.10-0.14 across cycles.
Dormancy track record. Average coin dormancy has varied substantially across market conditions, with cycle peaks producing elevated dormancy (more old coins spent at high prices) and cycle bottoms producing depressed dormancy (only recent buyers transacting, often at losses).
Liveliness as cycle-bottom signal. Liveliness troughs have approximately coincided with cycle bottoms across multiple cycles. The specific levels migrate (consistent with cycle attenuation), but the directional pattern — Liveliness decreasing through bear markets and bottoming near cycle lows — has held.
Cross-validation with other metrics. CDD spikes and Liveliness extremes typically align with extreme readings in MVRV ratio, NUPL, and SOPR cohort variants. The cross-validation strengthens cycle-positioning signals.
Limitations
Single-day CDD is noisy. Daily CDD readings reflect specific UTXO-level events that may or may not have macro significance. A single-day spike can reflect a known custodial migration (operationally insignificant) or a major holder repositioning (structurally significant). Distinguishing requires context. Multi-day smoothing (7-day or 14-day moving averages) is operationally required.
The age-weighting can be dominated by extreme outliers. A single 10,000 BTC move of 10-year-old coins produces 36.5M coin-days — potentially dominating an entire day’s CDD. The framework’s signal can be skewed by individual outlier events that aren’t representative of broader market dynamics. Median-of-spent-coin-ages may be more robust than mean-weighted CDD for some applications.
Custodial operations produce false signals. Exchange wallet reorganizations, ETF basket creations, and other operational events generate large CDD spikes that don’t reflect holder economic decisions. The framework cannot distinguish between operational and economic events at the UTXO level; analyst judgment is required.
Lost-coin contamination affects very-old-supply analysis. When extremely old coins (10+ years) move, the CDD signal is large but the interpretive content is uncertain — it could be active holder economic decision, or it could be a previously-lost coin being recovered, or it could be government-auction movements of historic seized coins. The framework cannot tell these apart.
Same UTXO-vs-holder confound as other cohort metrics. CDD partitions by UTXO age, not holder behavior. The framework’s interpretation depends on the assumption that aggregate UTXO-level dynamics approximately reflect aggregate holder dynamics — reasonable but not perfect.
Custodial-cohort blindness (2024+). Like all cohort frameworks, CDD is affected by the post-2024 custodial shift. ETF and exchange wallet movements produce CDD signals that reflect operational mechanics; the framework needs adaptation for the post-ETF regime.
Cycle attenuation makes thresholds unreliable. Liveliness and CDD peak magnitudes have declined cycle-over-cycle. Specific thresholds calibrated on earlier cycles may produce premature or delayed signals in attenuating cycles. Direction-of-change is more stable than absolute thresholds.
No protocol-enforced meaning of “coin-day.” The unit is a convention of analysis; nothing in the Bitcoin protocol references coin-days. The metric is meaningful only as a quantification of an analytical concept (age-weighted spending); users should treat it as a measurement convention rather than as a fundamental network quantity.
Long-term average can drift. Liveliness is a cumulative ratio; the long-run drift is affected by structural changes in network behavior (institutionalization, ETF adoption, custodial migration). Cross-cycle Liveliness comparisons require care because the baseline can shift.
Counter-arguments and tensions
”CDD is just transaction volume in different units”
The argument: Transaction volume captures most of what CDD captures. The age-weighting adds visual interest but limited analytical content. Building CDD as a separate primary note is presentational redundancy with raw transaction volume.
Response: Substantively wrong on the analytical content question. The age-weighting carries real information: a high-volume day of recent-buyer transactions has a very different network meaning from a high-volume day of ancient-supply movement. Raw transaction volume averages these together; CDD separates them. The Liveliness derived metric in particular captures the network-aggregate aging-vs-spending balance in a way no other single metric does. The age-weighting is the analytical content, not presentational overlay.
Single-day CDD signal noise
The argument: Daily CDD is dominated by specific UTXO-level events that may not have macro significance. A single 10,000 BTC move can swing a day’s CDD by orders of magnitude. The metric is too noisy for operational use without heavy smoothing.
Response: Right as critique of unsophisticated use. Single-day CDD is noisy; the framework’s operational use requires multi-day smoothing or focus on Liveliness (which is cumulative and inherently smoother). The systematic frameworks (Check, Ryan) deploy CDD with appropriate smoothing and context; users who treat single-day spikes as definitive will be misled.
”Liveliness is just a smoothed integration of CDD”
The argument: Liveliness contains no information that CDD doesn’t — it’s the cumulative ratio of the same underlying data. Reporting both as separate metrics is presentational doubling.
Response: Partially right. Liveliness is derived from CDD, so the underlying information is the same. The operational difference is in the smoothing and the bounded-ratio property — Liveliness is constrained to [0,1] and varies smoothly, making it more reliable as a cycle-positioning signal than raw CDD. The two metrics are presented together because they answer different operational questions: CDD for “what happened today?”; Liveliness for “what’s the cumulative state of the network?”
Custodial-event contamination
The argument: As more Bitcoin sits in custodial structures, CDD spikes increasingly reflect operational events (ETF rebalancing, exchange wallet reorganization, custodial-mover migrations) rather than holder economic decisions. The framework’s signal-to-noise ratio is degrading.
Response: Real concern. The post-2024 custodial shift has introduced more operational CDD events. The mitigation: cohort-restricted CDD variants (excluding known custodial wallets where attribution is available) recover most of the lost signal. Analyst-judgment-based filtering of identified operational events from analytical CDD interpretation also helps. The framework needs adaptation.
”CDD doesn’t account for spending intent”
The argument: CDD treats every UTXO movement as equivalent regardless of whether it reflects genuine selling, custodial transfer, transaction batching, or operational reorganization. The metric captures movement, not selling intent. Interpretations of high CDD as “long-term holders distributing” can be misleading.
Response: Right. CDD is movement-quantification, not intent-quantification. The framework’s operational use requires pairing with context — typically SOPR (which adds profit-weighting; SOPR > 1 on a high-CDD day suggests genuine profit-taking; SOPR ≈ 1 on a high-CDD day suggests operational movement). The cross-metric integration is essential for proper interpretation.
Lost-coin contamination of ancient-supply signals
The argument: When 10+ year coins suddenly move, the analytical interpretation is uncertain — active conviction-holder decision, lost-coin recovery, government auction, or other. The framework cannot distinguish; very-old-supply CDD signals are inherently ambiguous.
Response: Real interpretive caveat. The framework is useful for detection of ancient-supply movement; classification of the movement requires additional context (wallet attribution, public reporting, etc.). Users should treat very-old-coin CDD spikes as flags for investigation rather than as definitive holder-decision signals.
Cycle attenuation makes magnitude comparisons unreliable
The argument: Liveliness peak ranges have declined cycle-over-cycle. The 2017 cycle’s Liveliness rise of ~0.14 is much larger than the 2021 cycle’s rise of ~0.10. Future cycles will likely show further attenuation; magnitude-based cycle comparisons may be misleading.
Response: Right. The directional pattern is more stable than the magnitudes. Users should focus on direction-of-change and persistence-of-pattern rather than absolute level comparisons across cycles.
”Binary CDD is more operationally tractable”
The argument: The continuous age-weighting in standard CDD produces a metric with wide dynamic range and outlier sensitivity. Binary CDD (BTC moved that had been held > 1 year, say) is easier to interpret and less outlier-sensitive. The continuous formulation adds complexity without much operational benefit.
Response: Partially right at the operational level. Binary CDD with appropriate thresholds is operationally useful; the continuous formulation provides finer detail at the cost of more complexity. Both have their roles: continuous CDD for analytical precision; binary CDD for accessible communication. The Liveliness derived metric occupies a middle ground (continuous but bounded).
Open questions for further development
- How should CDD be adapted for the post-ETF regime? ETF and custodial wallet attribution combined with CDD analysis would produce cleaner holder-economic signals.
- Can a “spending intent” classifier be built? Distinguishing genuine selling from operational movement at the UTXO level is an open research direction. Heuristic classifiers (exchange-flagged wallets, known custodial address clusters) provide partial paths.
- What is the appropriate cycle-attenuation adjustment for Liveliness? Specific calibration adjustments — perhaps decomposing Liveliness into custodial vs self-custody components — would strengthen cross-cycle comparisons.
- How does CDD interact with macro extremes? The integration with Bitcoin and global liquidity and Bitcoin and the ISM PMI cycle is the topic of Using on-chain data for macro positioning.
- Should very-old-supply CDD be excluded as ambiguous? A “filtered CDD” excluding moves of coins held > 7 years (where lost-coin and government-auction ambiguity dominates) may produce cleaner cycle-positioning signals at the cost of losing some structurally interesting events.
- Can entity-clustering improve CDD interpretation? Aggregating UTXOs by inferred entity ownership would convert UTXO-level CDD into entity-level CDD, potentially producing more interpretable signals.
- How does the framework engage hyperinflation or major-fiat-regime-change scenarios? Holder behavior may shift fundamentally in such regimes; the CDD calibration may need re-grounding.
Canonical sources for this note
Primary framework sources
- ByteCoin (pseudonymous), original BitcoinTalk Coin Days Destroyed post (2011) — the canonical introduction of the metric, predating modern on-chain analytics
- Various Glassnode pieces on CDD, Liveliness, and Dormancy — most-cited contemporary framework sources
- Tamás Blummer, early CDD-related work
- Checkonchain platform — James Check’s analytical framework integrating CDD into the broader cohort analysis
Liveliness and Dormancy specifically
- Various Glassnode publications introducing and refining Liveliness as the cumulative-CDD-vs-cumulative-coin-days-created ratio
- Tamás Blummer and Adam Back, early work on coin-day-destruction concepts
- Various practitioner refinements of Dormancy as a daily average
Practitioner literature
- James Check, extensive Glassnode Week On-Chain newsletters during the 2020-2023 tenure — applied CDD and Liveliness analysis across multiple cycles
- James Check, ongoing Checkonchain platform analysis 2024+
- Ryan (On-Chain Mind), various video analyses applying CDD-family metrics
- Willy Woo, various pieces on velocity-based on-chain analysis
Adjacent on-chain literature
- Various analyses of Binary CDD and threshold-based variants
- Whale-watching analyses that use CDD spikes as detection triggers
- Various ETF-era analyses adjusting CDD for custodial-event contamination
Critical perspectives
- Engagements with daily CDD noise and the smoothing requirement
- Critiques of CDD as failing to capture spending intent
- Within-Bitcoin debates about cycle-attenuation effects on Liveliness calibrations
Related notes
- On-chain analytics and market psychology — sub-MOC parent
- Realized price — definitional foundation for the cost-basis layer; CDD is the velocity-and-age layer
- MVRV ratio — valuation metric; cross-validated by CDD-family signals
- NUPL — valuation metric
- SOPR — realized-side analog; complementary spending-dynamics metric (profit-weighted vs CDD’s age-weighted)
- Long-term vs short-term holder behavior — binary cohort framework; CDD’s continuous age-weighting generalizes the cohort partition
- HODL waves — supply-by-age distribution framework; CDD measures the spending counterpart to HODL waves’ holding distribution
- Whale behavior — entity-size cohort framework; CDD spikes often signal whale moves
- Exchange flows — custodial-flow framework
- Miner flows — miner-cohort framework
- Sentiment indicators — off-chain sentiment proxies
- Psychological phases of the market cycle — synthesis where CDD extremes mark phase transitions
- Using on-chain data for macro positioning — operational bridge to macro frameworks
- The Power Law model — longer-horizon trajectory framework
- Four-year halving cycles — cycle structure CDD dynamics characterize
- Diminishing returns thesis — cycle-over-cycle attenuation framework Liveliness peaks empirically demonstrate
- Bitcoin and global liquidity — macro framework
- Monetization S-curve — adoption framework
- Bitcoin fixed supply and issuance schedule — supply foundation
- The halving - Mechanism — schedule affecting cohort dynamics
- Portfolio approaches to Bitcoin — practical allocation framework CDD-family signals inform
- James Check — primary contemporary anchor; CDD-family framework developer
- Ryan - On-Chain Mind — adjacent contemporary anchor
- Dylan LeClair — adjacent on-chain voice
- Giovanni Santostasi — Power Law modeler; adjacent
- Plan B — S2F framework (engaged critically)