A structural flow and stock model for Bitcoin liquidity analysis. This document explains the math, the assumptions, and the reasoning behind every input in the calculator.
The model is a flow and stock depletion framework. It does not predict price directly. Instead it tracks the relationship between coins that are structurally removed from circulation and coins that remain available for sale on exchanges. When structural holders absorb more than exchanges can replenish, price must rise to coax sellers back in.
All refinements to the original model are additive. The core accounting identity is unchanged.
S_mined is circulating supply (~19.85M). S_satoshi (1.1M) and S_lost (3–5M) are treated as permanent removals. S_lost uses a slider because the true figure is unknowable — estimates range from 3M to 5M BTC.
H_strategy is Strategy's (formerly MicroStrategy) total confirmed holdings — live-fetched from CoinGecko. H_other is all other corporate treasuries combined. H_etf is total spot ETF holdings, multiplied by h_etf (the stickiness rate — the fraction unlikely to be redeemed).
The calculator exposes every meaningful variable as a slider. Default values reflect the best available data as of March 2026.
| Input | Default | Range | Notes |
|---|---|---|---|
| S_mined | 19.85M | Fixed | Post-halving circulating supply |
| S_satoshi | 1.1M | Fixed | Permanently dormant, treated as lost |
| S_lost | 4.0M | 3.0–5.0M | Genuine uncertainty — use slider to stress test |
| H_strategy | Live (720k+) | Floor = live | Auto-fetched. Drag right to project future buys |
| H_other | Live (~400k) | 200–900k | Auto-fetched from CoinGecko treasury data |
| H_etf | 635k | 400k–1M | Manual — cross-reference CoinGlass |
| h_etf | 0.78 | 0.50–0.90 | Empirically supported — see Section 4 |
| CoX (Bull) | 1.80M | Manual | Glassnode tight definition |
| CoX (Base) | 2.10M | Manual | Midpoint estimate |
| CoX (Bear) | 2.70M | Manual | CryptoQuant broad definition |
| ΔH_year | 750k | 400k–1.1M | Base absorption rate, ex-STRC component |
| STRC rate | 50k/yr | 0–200k | Additional annual capacity via STRC — feeds ΔH_year |
| ε | 0.005 | 0.001–0.015 | ColdFloat elasticity coefficient — see Section 5 |
The single most important methodological decision in this model is reporting R as a three-scenario band rather than a point estimate. This reflects genuine disagreement between data providers on what CoX actually is.
Glassnode clusters exchange wallets behaviorally. CryptoQuant uses a broader definition including some OTC desks. Neither is wrong — they measure slightly different things. With H_sink in the denominator, a 50% spread in CoX estimates produces a 50% spread in R.
| R Value | Regime | Interpretation |
|---|---|---|
| R < 0.50 | Normal | No structural stress on exchange float |
| 0.50 – 0.80 | Tightening | Structural sinks growing relative to float |
| 0.80 – 1.00 | Fragile | Float under meaningful pressure |
| R ≥ 1.00 | Shock Unlocked | Structural HODLers hold more than exchange float |
If all three CoX scenarios agree on a regime simultaneously, that is a high-conviction reading. If they straddle two regimes, treat it as transitional. Never rely on a single CoX source.
Current snapshot (March 2026) with H_sink ~1.64M BTC:
| CoX Scenario | CoX | R(t) | Regime |
|---|---|---|---|
| Bull (Glassnode tight) | 1.80M | 0.91 | Fragile |
| Base (midpoint) | 2.10M | 0.78 | Tightening |
| Bear (CryptoQuant broad) | 2.70M | 0.61 | Tightening |
The stickiness rate h_etf represents the fraction of ETF holdings unlikely to be redeemed — coins that are effectively as illiquid as HODLer wallets despite being technically redeemable.
The default of 0.78 is not an assumption. It is empirically supported by 26 months of observed ETF behaviour through January 2024 to March 2026, including three significant stress events:
| Stress Event | BTC Drawdown | ETF Redemption Response |
|---|---|---|
| April 2024 | ~35% | Modest outflows, recovered within weeks |
| August 2024 flash crash | ~30% in days | Brief outflows, correlated with Yen carry unwind |
| Oct 2025 ATH → current | ~50% | No sustained structural redemption wave |
This behavioural profile reflects the institutional nature of the ETF buyer base — wealth management platforms, pension-adjacent capital, and long-horizon allocators who entered via ETF precisely for passive exposure, not as a trading vehicle. A 50% BTC drawdown is painful but does not trigger forced liquidation mandates at these allocators.
The slider minimum of 0.50 represents a tail-risk scenario: a regulatory shock, major exchange collapse, or macro forced liquidation event. This is not a base case. The credible range for normal market conditions is 0.70–0.85.
Every prior Bitcoin cycle has been capped by the same mechanism: as price rises, dormant holders hit their threshold and sell back into exchanges. The model captures this with a price-responsive CoX refill term.
The ε coefficient is non-linear in reality — it accelerates as price moves further above prior cycle highs into price discovery territory. The slider default of 0.005 is a conservative midpoint based on observed cycle behaviour.
| Price Move Post R=1 | ε = 0.005 (default) | ε = 0.010 (high) |
|---|---|---|
| +25% | +150k BTC refill | +300k BTC refill |
| +50% | +300k BTC refill | +600k BTC refill |
| +100% | +600k BTC refill | +1.2M BTC refill |
The supply shock does not eliminate the price ceiling — it raises the price required to find one. ColdFloat still refills CoX eventually, but at progressively higher prices as H_sink grows. The shock raises the clearing price; it does not remove the clearing mechanism.
The most important structural insight about ΔH_year is that its two largest components — ETF inflows and Strategy equity-funded buying — are procyclical. They are strongest when price is rising and weakest when price is falling. This means the absorption rate and CoX do not move independently in the real world.
The regime toggle adjusts both simultaneously in their naturally correlated directions, rather than allowing users to set bullish absorption with bearish CoX (a combination that is not realistic).
| Toggle | ΔH_year Adj. | CoX Adj. | What It Represents |
|---|---|---|---|
| Bull | +30% | −10% | Momentum environment. Inflows accelerating. |
| Neutral | Base | Base | Current conditions continue. |
| Risk-Off | −45% | +15% | Macro shock. Inflows stall, weak hands sell. |
In Risk-off, R can actually decline in the near term because ΔH_year slows (numerator grows slower) while CoX rises (denominator grows larger) simultaneously. The model shows this honestly — R can move backwards, not just plateau.
The STRC component of absorption is only 50% sensitive to the regime toggle (vs 100% for ETF and equity components). This reflects that STRC demand is sourced from fixed income markets rather than BTC price momentum — a structurally different buyer psychology.
Strategy's STRC preferred stock is the most structurally novel factor in the current model. It represents a capital pipeline from fixed income markets into Bitcoin accumulation — buyers who have never considered BTC as an investment, but see an 11%+ yield on a Nasdaq-listed instrument.
This matters for the model because it is a demand source that is largely decoupled from BTC price cycles. Unlike ETF inflows (which slow when BTC falls), STRC demand is driven by yield appetite in credit markets — a completely different investor psychology operating on a different cycle.
Strategy maintains a 2–3 year USD dividend reserve at all times. This means the failure mode that would reverse the STRC capital pipeline requires a very specific sequence:
BTC drops hard → stays down 2+ years → Strategy cannot raise new capital → burns through entire USD reserve → misses dividend
If that sequence plays out, the entire Bitcoin investment thesis is under existential threat — making the STRC contribution to the supply shock model the least of anyone's concerns.
STRC-funded BTC purchases are already counted in Strategy's confirmed total holdings (H_strategy). The STRC rate slider in the calculator projects additional future annual capacity from the STRC pipeline — it feeds into ΔH_year (absorption rate), not the current H_sink balance.
The calculator displays this across all three CoX scenarios simultaneously. The range communicates honest uncertainty — a base case of ~6 months can be 2 months in the bull CoX reading or 13 months in the bear reading from the exact same set of assumptions.
| Regime | CoX | ΔH_year | T_years | Projected |
|---|---|---|---|---|
| Bull | 1.80M | 1.235M | 0.13 | ~6 weeks |
| Bull | 2.10M | 1.235M | 0.37 | ~4–5 months |
| Neutral | 1.80M | 950k | 0.17 | ~2 months |
| Neutral | 2.10M | 950k | 0.49 | ~6 months |
| Neutral | 2.70M | 950k | 1.12 | ~13 months |
| Risk-off | 2.10M | 522k | 0.88 | ~10–11 months |
| Risk-off | 2.70M | 522k | 2.07 | ~25 months |
The ShockScore is deliberately zero until R crosses 1.0 — preventing false positives in the tightening regime. It multiplies two conditions that must be present simultaneously: structural dominance (R > 1) AND active exchange outflow (negative d/dt CoX). The regime multiplier reflects that a shock in bull conditions (demand surging into constrained supply) is more intense than the same R reading in risk-off (where demand is absent).
Price must rise when H_sink growth exceeds the rate at which ColdFloat refills CoX. The supply shock is nonlinear and occurs after duration, not at a single price level. The revised model adds that the shock raises the price required to find a ceiling rather than eliminating the ceiling — and that STRC represents a structurally new demand source that partially decouples institutional BTC absorption from BTC price cycles for the first time.
The late Q3 2026 base-case milestone remains defensible given current data. If STRC continues scaling into fixed-income allocations the timeline may compress. If a macro risk-off event materialises, R can retreat and the timeline extends — but the structural trend resumes once conditions normalise, as H_sink growth is largely irreversible.
The shock is not a single event. It is a regime shift. Once R crosses 1.0, even average demand faces asymmetric seller scarcity — turning reflexive as price must clear higher to coax ColdFloat back in. The nonlinearity kicks in hardest post-R=1, not at it.