How the BTC cycle terminal thinks.
A transparent walk-through of the 4-layer composite framework, every one of the 21 live indicators, the scoring bands that drive the verdict, and the data sources behind each signal.
01What this is
cryptowatch.id is a live BTC cycle intelligence terminal. It synthesizes macro, cycle, on-chain, and derivatives signals into a single composite gauge that outputs one of seven verdicts — from STRONG SELL to STRONG BUY — and shows you exactly which indicators are driving it.
The terminal exists because most "crypto dashboards" pick one lens (just on-chain, just TA, just sentiment) and miss the rest. Real cycle turns happen when macro, cycle position, on-chain cohort behavior, and derivatives positioning all line up. We wanted a single surface that shows whether they do.
Every number on the dashboard is computed live from primary sources. Nothing is hand-entered. Nothing is hardcoded. If the backend pipeline goes down, the number goes stale and the UI says so.
This is not a signal service. It does not tell you when to buy or sell. It shows you what the underlying data says right now, in a single view, with all the math visible. The verdict is a summary of conditions, not a trade recommendation. Read the disclaimer.
02How to use the terminal
A 6-step session workflow. Open the terminal, go through these in order. Each step narrows the decision space until you have a concrete action (or confirm there's nothing to do).
Step 1 · Read the composite verdict (SIGNAL)
The first thing you see. The gauge sums 21 signed scores into a single number from −24 to +24 and maps it to one of 7 verdict bands. Read two things:
- Verdict + score. "MILD BUY +7" means conditions lean bullish but conviction is partial.
- Confidence %. If it's above 80%, indicators agree. If it's below 60%, the total is being driven by a few strong signals while the rest disagree — act smaller.
If the verdict is WAIT (score −2 to +1), stop here. Preserve dry powder. Don't force a trade out of boredom.
Step 2 · Check L4 Execution first (FUNDING + OPTIONS)
L4 is the trigger layer. It tells you whether the derivatives market is already crowded in one direction. This matters more than anything else for timing, because extreme positioning resolves in 1-4 weeks, not months.
- Funding < −54% annualized → shorts are overloaded. Contrarian long setup in place.
- Funding > +54% annualized → longs are overloaded. Contrarian short / top warning.
- DVOL > 90 → panic priced in. Historically coincides with bottoms.
- IV term backwardation → immediate fear priced in. 2020 COVID, 2022 FTX both had it at the low.
Step 3 · Verify with L3 On-Chain (TIER 1 + TIER 2)
L3 is the cohort layer. It answers: "is the on-chain population actually at a stress point, or is this just derivatives noise?" Open the Tier 1 panel and read the triggered count.
- 0/4 Tier 1 → no confirmed bottom. Cap any planned allocation at 30-40%.
- 1-2/4 Tier 1 → approaching. Start watching for the next trigger. Deploy first DCA tranche if Zone A price is hit.
- 3-4/4 Tier 1 → maximum on-chain confluence. Only happens at cycle bottoms in backtest. Deploy full allocation.
Tier 2 is the confirming layer — softer triggers like LTH MVRV < 1, Coinbase Premium positive, Liveliness falling. Tier 2 alone isn't enough to act, but Tier 2 triggering while Tier 1 is still 1-2 of 4 is a leading signal that Tier 1 is about to fire.
Step 4 · Check L2 Cycle Position (CYCLE)
L2 is the slow map. It won't change between sessions — that's the point. Read:
- AVIV Ratio — where we sit in the post-ETF valuation band. <0.75 is historically extreme undervaluation.
- MA Stack Regime Score — 0/4 or 1/4 confirms bear regime. 4/4 confirms full bull.
- Halving regime — what phase the time-based calendar says we're in. If L2 says "late bear" and L3 says Tier 1 fires, conviction doubles.
- Bottom Proximity composite — the one-number summary of how close we are to the bottom zone.
Step 5 · Check L1 Macro permission (L1 MACRO)
L1 is the override layer. If macro is hostile, even extreme undervaluation can get cheaper. Read:
- M2 YoY > +3% → liquidity expanding. Full conviction in crypto-native signals.
- M2 YoY < −2% → liquidity contracting. Cap allocation regardless of how cheap on-chain looks.
- DXY +5% over 3m → dollar strengthening. Crypto fights a headwind. Reduce size.
- BTC-SPX 30d correlation high → macro dominates. Watch equities for direction.
2022 is the textbook reason L1 exists. On-chain screamed "cheap" for 6 months while DXY rallied 20% and crushed BTC another 40%. The framework's L1 layer would have capped your allocation during that window.
Step 6 · Map to DCA zones (DCA)
DCA translates the verdict + confluence into a concrete allocation. The terminal computes 5 zones (A-E) live from Realized Price and historical multipliers. Your job:
- Never deploy all capital at once. Scale in across zones.
- Zone A (closest to current price) gets the smallest tranche. Zones D-E (deepest) get the largest — reserved for maximum confluence.
- When Tier 1 fires 3-4/4 inside Zone C or D, front-load the remaining allocation. That's the highest-conviction buy in the entire cycle.
Once you know the flow: 3-5 minutes a day. The point of a composite framework is that most of the work is already done for you. You're reading a verdict, verifying it against 2-3 confirming signals, and checking L1 for a veto. That's it.
03The 4 questions
Before any indicator makes sense, internalize the mental model. Every one of the 21 indicators exists to answer exactly one of these four questions. When you know which question an indicator answers, you know how to weight it.
The permission layer. Macro doesn't tell you to buy or sell BTC. It tells you whether BTC-specific signals are allowed to work. When M2 is expanding and DXY is weakening, crypto-native bullish setups resolve normally. When the opposite is true, they get overwhelmed by capital flight. L1 is the binary that decides whether the other 3 layers matter.
The slow map. This layer barely changes week-to-week. It tells you which phase of the 4-year halving cycle we're in: accumulation, markup, distribution, or bear. L2 is the context that determines what L3 and L4 readings actually mean. A funding spike at day 480 post-halving means distribution is starting. The same funding spike at day 950 post-halving means shorts are capitulating.
The behavioral layer. This is BTC's unique advantage over every other asset — we can see what every holder cohort is actually doing on-chain. L3 tells you whether long-term holders are hoarding or distributing, whether short-term holders are in profit or underwater, whether miners are capitulating, whether institutional spot flows are positive. L3 is where the real bottom and top signals live.
The trigger layer. The fastest-moving layer. L4 reads the derivatives market for crowded positioning — funding rates, open interest, implied volatility, skew. L4 won't call a cycle bottom by itself. But it's what separates a 6-week-early call from a same-week entry. When L2 and L3 say "bottom is close" and L4 says "shorts are at −190% annualized funding," that's the moment.
These 4 questions are a priority order when they conflict:
- L1 wins overrides. Hostile macro caps any bullish call, no matter how strong L2-L4 are.
- L2 defines the playbook. L3/L4 are read differently depending on cycle phase.
- L3 provides the evidence. Without L3 confirmation, L4 alone is just "crowded positioning" — not a bottom call.
- L4 provides the timing. When L2 and L3 both say yes, L4 is what you watch for the entry trigger.
⚠ Out-of-sample validation note
This framework was designed and backtested on BTC data from 2015-2025, covering three full cycles (2015 bottom, 2018 bottom, 2022 bottom) and one cycle top (2025 ATH). Every threshold, every verdict band, every regime boundary was calibrated to fit these cycles. The 2026-2029 cycle is the first true out-of-sample test.
This is more honest than most crypto tools but it means the framework's historical track record — while real — is in-sample. Treat forward readings as probabilistic signals, not guaranteed calls. Per audit v2 #19.
04The 4-layer framework
Every composite on the dashboard rolls up through four layers. Each layer answers a different question. Each contributes signed scores that sum into a single composite.
L1 · Macro Regime
Question: is the global environment supportive of risk assets, or is it pulling capital out?
Bitcoin does not exist in a vacuum. When the US dollar strengthens and global liquidity contracts, even a perfect on-chain setup struggles. When M2 is expanding and DXY is rolling over, the same on-chain setup becomes a launchpad. L1 is the permission slip.
Signals: US M2 year-over-year · DXY 3-month change · BTC–SPX 30-day correlation regime.
L2 · Cycle Position
Question: where are we in the 4-year Bitcoin cycle — capitulation, accumulation, markup, or distribution?
Cycle position is the slow-moving map underneath everything else. It blends time-based features (halving framework), technical regime (weekly MA stack), valuation (AVIV Ratio from Cointime Economics), and composite bottom-proximity scoring. This layer is what separates a "dip" from a "bottom" and a "pullback" from a "top."
Signals: MA Stack Regime Score · AVIV Ratio · Halving regime · Bottom proximity composite · Drawdown from ATH.
L3 · On-Chain Stress
Question: is the on-chain population under stress, taking profits, or still distributing?
L3 is the cohort layer. It reads what long-term holders and short-term holders are actually doing on-chain, separates them by age, measures profit/loss behavior, and tracks institutional flow through spot ETF activity and Coinbase premium. This layer catches real bottoms before price does.
Signals: Zero-FP Tier 1 confluence · LTH MVRV · STH MVRV · Liveliness / Vaultedness · Realized Loss · Coinbase Premium · IBIT activity multiplier · LTH SOPR.
L4 · Execution Timing
Question: is now the actual moment — is derivatives positioning primed to squeeze, or is the crowd already one-sided?
L3 says "a bottom is close." L4 says "and shorts are max-crowded at -70% annualized funding with backwardated IV." That's the difference between a six-week early call and a same-week entry.
Signals: BTC funding annualized · DVOL · IV term structure shape · 25Δ skew proxy · OI / market cap.
06The composite gauge
Every indicator contributes a signed score from −2 to +2. The layers sum up, the layers sum together, and the total lands on a gauge from −24 to +24. That total maps to one of seven verdict bands.
The scoring convention
+2 = strongly bullish (extreme undervaluation, capitulation, panic, or crowded short positioning).
+1 = mildly bullish (undervalued or supportive).
0 = neutral / no signal.
−1 = mildly bearish (overvalued or stretched).
−2 = strongly bearish (euphoric distribution, crowded long positioning, or extreme complacency).
Verdict bands
| Score range | Verdict | Meaning |
|---|---|---|
| ≥ +16 | STRONG BUY | Multiple layers at capitulation extreme, derivatives crowded short, high-conviction bottom window |
| +8 to +15 | BUY | Cycle + on-chain both align bullish, derivatives not yet fighting the setup |
| +2 to +7 | MILD BUY | Conditions lean bullish but conviction is partial — one or two layers still neutral |
| −1 to +1 | WAIT | Indicators disagree or cancel out — no edge |
| −2 to −7 | MILD SELL | Conditions lean bearish — late-cycle risk appearing in one or two layers |
| −8 to −15 | SELL | Cycle + on-chain align bearish, derivatives confirm distribution |
| ≤ −16 | STRONG SELL | Multiple layers at euphoric extreme, high-conviction top window |
Confidence
Alongside the score, the gauge shows a confidence percentage. This is a coverage + agreement score:
- 50% from coverage — what fraction of the 21 indicators have live data right now (if a data feed is stale, its indicator drops out).
- 50% from directional agreement — of the indicators that have data, what fraction are scoring in the same direction as the total.
A +8 score with 90% confidence means "most indicators agree and most of them have fresh data." A +8 score with 55% confidence means "the total is being driven by a few strong signals while the rest are neutral or conflicting."
What the gauge is not
The composite score is not probabilistic. A +17 STRONG BUY does not mean "71% chance of going up." It means "conditions match historical bottom setups." Historically those setups have preceded multi-month rallies — but Bitcoin has done things that have never happened before, and will again. Use the gauge as a synthesis of conditions, not a win-rate.
07Confluence decision rules
The gauge is the one-number summary. The decision rules are what you do when you actually have to act. This section is what separates reading the terminal from using it.
When layers agree — act with full size
All 4 layers aligned is the highest-conviction setup. It happens maybe 3-5 times per 4-year cycle. When it does, the signal is unambiguous.
L1 Macro: M2 starting to re-expand, DXY rolling over from +20% peak → +1
L2 Cycle: MA Stack 0/4, AVIV 0.67, halving regime late bear, drawdown −77% → +7
L3 On-Chain: Tier 1 4/4 triggered, LTH MVRV 0.82, LTH SOPR 0.78, realized loss $18M/day → +7
L4 Execution: BTC funding −190% annualized, DVOL 94, IV backwardation, 25Δ skew −12 → +2
Composite: +17 STRONG BUY. Every indicator except a few L1 variables at or near maximum confluence.
Action: deploy Zones C-D-E aggressively (50-100% of remaining allocation). Set 12-18 month hold horizon. Do not try to time further dips.
When L4 conflicts with L2+L3 — reduce size, wait
The most common edge case: on-chain and cycle position agree there's an accumulation zone approaching, but derivatives positioning is on the wrong side. This is usually resolved by a liquidation event — don't deploy before it happens.
L1: M2 contracting, DXY +15% YTD → −2
L2: AVIV dropping toward 0.75, halving regime mid-bear → +3
L3: Tier 1 1/4 triggered (MVRV briefly crossed <1 on LUNA collapse), NUPL barely negative → +1
L4: Funding still positive, OI/Mcap at 3.8% (overleveraged), no panic in IV → −1
Composite: +1 WAIT. Framework said wait.
Why the framework was right: Only 1 of 4 Tier 1 signals fired. L4 showed overleveraged longs still in place. Real bottoms need L4 capitulation — which came 5 months later at FTX.
The lesson: never act on 1-2 Tier 1 signals. All 4 must fire. The confluence requirement is what made the framework skip June 2022 and catch November 2022.
When L1 is hostile — override everything
Macro headwind delays even extreme undervaluation. This is the hardest rule to follow emotionally because on-chain will be screaming "cheap" while price keeps dropping.
AVIV dropped below 0.80 (historical accumulation territory) in July 2022. On-chain metrics suggested the bottom was near. But M2 was contracting at −1.5% YoY and DXY was at +18% 3-month change. L1 was maximally hostile.
What actually happened: BTC fell from $22K in July to $15.5K in November — another 30% downside. The framework's L1 veto would have capped allocation at 30-40%, preserving dry powder for the real bottom.
Rule: when L1 is hostile (M2 contracting AND DXY rising), cap total allocation at 30-40% of planned size regardless of L2/L3. Wait for L1 to flip before deploying the rest.
Layer priority hierarchy
| Condition | Override rule |
|---|---|
| L1 Macro hostile (M2 YoY < −2% AND DXY 3m > +5%) | Cap allocation at 30-40% regardless of L2/L3 strength |
| L4 Funding > +54% annualized | Never add longs. Reduce existing if L3 is also weakening |
| L4 Funding < −54% annualized | Adds conviction if L2+L3 already support. Not sufficient alone. |
| L3 Tier 1 count = 0/4 | Maximum 40% of planned allocation. Not a bottom yet. |
| L3 Tier 1 count = 1-2/4 | Up to 60% of planned allocation. Start scaling in. |
| L3 Tier 1 count = 3-4/4 | Full planned allocation permitted. Historical cycle-low territory. |
| L2 AVIV < 0.75 | Highest-conviction buy zone regardless of short-term noise |
| L2 MA Stack 4/4 + AVIV > 2.0 | Distribution has begun. Size down 20% per week until AVIV < 1.5 |
| L2 halving regime = distribution_danger | Default to caution even if L3/L4 look bullish. Top window. |
The rules above are intentionally more conservative about adding risk than about preserving capital. Missing a cycle bottom by 10% is annoying. Deploying full size 3 months before the real bottom costs 30-40%. The rules optimize for the second mistake, not the first. You will feel slow. That's the price.
05Framework design rationale
Why 21 indicators and not 10. Why ±2 scoring and not raw values. Why some indicators are symmetric and some aren't. Why the verdict bands land at ±16 and ±8. These are not arbitrary choices — they're deliberate decisions with backtest rationale.
Why 21 indicators
The framework needs to cover 4 independent dimensions (macro, cycle, on-chain, execution) without missing signal and without becoming noise. We landed on 21 after testing configurations from 8 to 35. The distribution:
- 3 macro (M2, DXY, BTC-SPX correlation) — thin, because macro signals move slowly. More macro indicators adds redundancy without signal. 3 is enough to detect the regime.
- 5 cycle (MA Stack, AVIV, Halving regime, Bottom Proximity, Drawdown) — our highest-credit layer. Each indicator uses a different methodology (technical / valuation / time-based / composite / price) so they're uncorrelated enough that all 5 contribute independent signal.
- 8 on-chain (Tier 1 confluence, LTH MVRV, STH MVRV, Liveliness, Realized Loss, Coinbase Premium, IBIT activity, LTH SOPR) — biggest layer because on-chain is BTC's native data advantage. We want cohort behavior, valuation, miner stress, institutional flow, and profit-taking dynamics all covered.
- 5 execution (Funding, DVOL, IV term, 25Δ skew, OI/Mcap) — enough to capture derivatives positioning without making L4 dominate.
Fewer than 21 leaves blind spots. In testing, 15-indicator versions consistently missed either miner capitulation signals or IV term structure reversals. More than 21 crosses into diminishing returns — each additional indicator contributes less signal while adding correlated noise and computation load. 21 is where backtest accuracy plateaus.
Why ±2 scoring instead of raw values
Every indicator uses different units. M2 YoY is a percentage. MVRV is a dimensionless ratio. Realized Loss is dollars per day. Funding is an annualized percentage. You can't sum them directly. A normalized score per indicator (−2 extreme bearish to +2 extreme bullish, 0 neutral) makes them addable and comparable.
Why specifically ±2 and not ±1 or ±3?
- ±1 is too coarse. Only 3 states per indicator (bearish / neutral / bullish). Loses the "extreme" signal that is exactly what we care about at cycle turns.
- ±2 gives 5 states: extreme bearish, mildly bearish, neutral, mildly bullish, extreme bullish. This matches how humans naturally categorize conditions. "Cold, cool, mild, warm, hot" is the psychological template.
- ±3 or more over-weights noisy indicators. Funding can move 100% in a single day. Rewarding it +3 for a temporary spike would let it dominate the composite. The ±2 cap keeps any single indicator from owning more than ~8% of the theoretical range.
Why some indicators are asymmetric
Not every indicator scores symmetrically. Some push harder in one direction than the other. These aren't bugs — they're deliberate.
| Indicator | Range | Why asymmetric |
|---|---|---|
| M2 YoY | −2 to +1 | Contracting M2 is a deep structural headwind — worth full −2 weight. Expanding M2 is a tailwind but never a trigger by itself, so +1 is enough. |
| DXY 3m | −1 to +1 | DXY is a regime context, not a direct trigger. Capped at ±1 so it can't dominate crypto-native signals. |
| BTC-SPX 30d correlation | 0 only | Pure regime indicator — tells you which other indicators matter. Never directional. Always scored 0. |
| Drawdown from ATH | −1 to +2 | Being near ATH isn't automatically "sell" (bull markets stay near ATH for months). But a >70% drawdown is strongly bullish because every historical cycle bottom had one. |
| Tier 1 triggered count | −1 to +2 | 0/4 just means "no bottom signal active right now" — not "sell." It's neutral-to-mildly-cautious. But 3-4/4 is historically unique to final cycle lows, so it deserves the full +2. |
| DVOL | −1 to +2 | High DVOL = panic priced in = historically coincides with bottoms, full +2. Low DVOL is only mildly bearish (complacency warning, not a top signal by itself). |
| IBIT Activity Multiplier | −1 to +2 | Activity surges happen at both tops (FOMO) and bottoms (panic buying). Needs L2 context to read direction. Capped upside so it can't drive the composite alone. |
How the verdict bands were calibrated
The 7 bands (−24 to +24) aren't round numbers. They were set by replaying the framework through Time Machine against every historical cycle extreme since 2015 and checking where the composite score landed.
| Range | Verdict | Historical backtest |
|---|---|---|
| ≥ +16 | STRONG BUY | 2015-01-14 bottom (+19), 2018-12-15 bottom (+18), 2022-11-21 FTX bottom (+17). 3 of 3 major cycle bottoms landed in this band. |
| +8 to +15 | BUY | Mid-accumulation phases, 4-6 months after final lows. Strong conviction but not max confluence. |
| +2 to +7 | MILD BUY | Early accumulation, partial setup. Current 2026-04-14 reading sits here at +7. |
| −1 to +1 | WAIT | Indicators disagree or cancel out. No edge. Dry powder. |
| −2 to −7 | MILD SELL | Early distribution warnings. |
| −8 to −15 | SELL | 2021-04-14 first top, 2025-08 pre-top. Distribution confirmed. |
| ≤ −16 | STRONG SELL | 2021-11-09 cycle ATH (−18). 2025-10-06 ATH landed at −8 because the 2025 top was shallower than prior cycles (diminishing extremes). |
The ±16 threshold is where the framework has >80% historical precision for "this is a cycle turn." The ±8 threshold is the "conviction grows" line. ±2 is the noise floor — anything inside is a WAIT.
The 2025 cycle top only scored −8 (SELL, not STRONG SELL) because post-ETF cycle extremes are milder than pre-2024 cycles. This is the "diminishing extremes" thesis — each cycle's peaks and troughs move closer to the mean because institutional flows dampen volatility. The framework handles this automatically via the asymmetric Tier 1 count and the AVIV Ratio (which itself accounts for institutional realized cap). We expect future tops to land in the −8 to −14 range rather than the −18+ range of 2021.
08Indicator reference
Every scored indicator, in order, with its endpoint, logic, and scoring bands. This is the full source-of-truth for what the terminal is computing.
L1 · Macro Regime
M2 Year-over-Year (US) L1
US M2 money supply year-over-year change. The slow-moving global liquidity oscillator. BTC cycle highs correlate strongly with M2 expansion peaks; cycle lows correlate with M2 bottoms.
BTC has had a ~80% rolling correlation with global M2 liquidity since 2013. Crypto is a long-duration, risk-on asset that breathes in lockstep with the money supply. When M2 expands, risk capital flows into the longest-duration assets (tech stocks, emerging markets, crypto). When M2 contracts, the flow reverses. M2 isn't a trigger — it's the permission slip.
We use US M2 as a proxy for global liquidity because it's the largest single component and updates weekly. The ideal indicator would blend US M2 + ECB M2 + PBOC M2 but the correlations are tight enough that US alone captures the regime.
| Date | M2 YoY | BTC context |
|---|---|---|
| 2020-06 | +24.7% | Fed pandemic QE — start of the 2020-2021 bull run |
| 2021-11 | +13.1% | Peak of 2021 bull + cycle ATH |
| 2022-06 | +5.9% | Fed tightening — LUNA collapse, M2 growth decelerating |
| 2022-12 | −1.3% | First M2 contraction in decades — coincided with cycle low |
| 2024-04 | +0.7% | Halving + post-contraction stabilization |
M2 is slow — it reflects economic conditions with a 3-6 month lag. When M2 starts contracting, BTC often rallies for another 2-3 months before capitulating. Conversely, M2 re-expansion can lag the cycle bottom by weeks.
Mitigation: never use M2 as a timing signal. Use it as a context filter — cap allocation sizes when M2 is contracting, full size when M2 is expanding. The timing comes from L3 + L4.
| Condition | Reading | Score |
|---|---|---|
| Accelerating positive | YoY > +3.0% | +1 |
| Positive but decelerating | 0% < YoY ≤ +3.0% | 0 |
| Flat / declining | −2.0% < YoY ≤ 0% | −1 |
| Contracting | YoY ≤ −2.0% | −2 |
DXY 3-Month Change L1
Dollar Index 3-month percent change. A strengthening dollar pulls capital out of risk assets; a weakening dollar fuels them. Historically the cleanest macro wind at BTC's back is DXY rolling over after a multi-month rally.
The US Dollar Index has the cleanest inverse correlation with BTC of any single macro variable. A rising dollar pulls global capital into USD-denominated assets (Treasuries, US equities). A falling dollar pushes capital into risk assets. The 3-month change captures the trend without reacting to daily noise.
We use DXY instead of the trade-weighted dollar because it's more liquid, updates in real time, and captures the same signal. The 3-month lookback is long enough to filter weekly chop but short enough to flag regime changes within a cycle.
| Date | DXY 3m | BTC context |
|---|---|---|
| 2022-07 | +7.2% | DXY rally crushed risk assets. BTC fell from $30K to $19K. |
| 2022-11 | +1.1% | DXY peak. BTC cycle low 2 weeks later. |
| 2023-01 | −4.8% | DXY rolling over. BTC bottomed, started recovery. |
| 2024-04 | +1.2% | Halving-week DXY stable. Neither tailwind nor headwind. |
| 2025-09 | +3.1% | Pre-cycle-top DXY strength. Distribution warning. |
DXY weakness can coexist with weak BTC during risk-off regimes (2018 bear market, DXY was flat-to-weak but BTC fell 84%). DXY is a necessary but not sufficient condition for BTC strength.
Mitigation: DXY is scored ±1 max (not ±2) precisely because it's a soft regime indicator. It can't drive the composite alone — it amplifies or dampens crypto-native signals.
| Condition | Reading | Score |
|---|---|---|
| Dollar strengthening (risk-off) | Δ3m > +2.0% | −1 |
| Range-bound | −2.0% ≤ Δ3m ≤ +2.0% | 0 |
| Dollar weakening (risk-on) | Δ3m < −2.0% | +1 |
BTC–SPX 30-Day Correlation L1
Rolling 30-day correlation between BTC and the S&P 500. This is a regime indicator, not a directional one. When correlation is high (>0.6), BTC is moving with risk assets and macro dominates. When correlation is low or negative, BTC is trading on its own narrative. Reported as context only — scored neutral (0).
This isn't a directional signal — it's a regime classifier. When BTC-SPX correlation is high (> 0.6), BTC is trading as a risk asset and macro conditions dominate. When correlation is low or negative, BTC is trading on its own narrative (halving, ETF flows, on-chain events) and L3 signals matter more.
We keep it in the framework scored at 0 (no direct composite contribution) because its job is to tell you which other indicators to weight heavily. High correlation → L1 Macro matters more. Low correlation → L3 On-Chain matters more. It's a meta-indicator.
| Date | Corr | Regime |
|---|---|---|
| 2020-03 | 0.92 | COVID crash — crypto sold as risk asset, maximum correlation |
| 2021-02 | 0.28 | Crypto-native bull — BTC decoupled, halving narrative dominant |
| 2022-06 | 0.78 | Macro bear — BTC tracked tech stocks down on every Fed meeting |
| 2024-01 | 0.35 | Spot ETF narrative — BTC decoupled from macro |
| 2025-03 | 0.51 | Mid-cycle, neither regime clearly dominant |
Correlation alone doesn't tell you direction. High correlation to a falling SPX is bearish; high correlation to a rising SPX is bullish. Mitigation: always read correlation alongside DXY and the SPX trend itself. The indicator is scored 0 by design — it only changes how you read the other indicators.
L2 · Cycle Position
MA Stack Regime Score L2
Count of how many of the four weekly moving averages BTC is above (0/4 to 4/4). This is the primary backtest-validated technical regime signal from the Indicator Deep Dive framework. 0/4 matches the 2015, 2018, and 2022 cycle bottoms exactly. 4/4 matches every cycle top.
The simplest possible regime detector. No calibration, no window choice, no parameter tuning — just "is BTC above or below each long-term MA?" The lack of tuning is the point: every cycle low since 2015 had a 0/4 reading and every cycle top had a 4/4 reading. Zero false positives on the full stack transition.
We use 20/50/100/200 week windows because they span roughly 5 months to 4 years of price history, capturing everything from mid-cycle corrections to the full halving cycle. Daily MAs would be too noisy. Monthly MAs would be too slow.
| Date | MA Stack | BTC | What happened next |
|---|---|---|---|
| 2015-01-14 | 0/4 | $171 | +117× in 35 months |
| 2017-12-17 | 4/4 | $19,500 | −84% over 12 months |
| 2018-12-15 | 0/4 | $3,194 | +4.3× in 6 months |
| 2019-06 | 2/4 → 1/4 | $13,800 | −52% back to $6,600 (the 2/4 ambiguity case) |
| 2022-11-21 | 0/4 | $15,479 | +4.7× in 12 months |
| 2025-10-06 | 4/4 | $124,714 | −40% over 6 months (current cycle) |
2/4 is the genuinely ambiguous state. In 2019, the stack recovered from 0/4 → 2/4 → back to 0/4 before the real cycle turn. A trader treating 2/4 as a buy signal would have been stopped out.
Mitigation: we score 2/4 as 0 (neutral) precisely because it's ambiguous. The framework waits for 3/4 + at least one L3 confirmation before treating an MA Stack recovery as a real cycle turn.
| Regime | Reading | Score |
|---|---|---|
| Full bear (max DCA zone) | 0/4 | +2 |
| Late bear (bottom window) | 1/4 | +2 |
| Transition | 2/4 | 0 |
| Bull | 3/4 | −1 |
| Full bull (top zone) | 4/4 | −2 |
AVIV Ratio L2
The post-ETF replacement for MVRV Z-Score. Cointime Economics (Ark Invest + Glassnode, 2023) reweights supply by coin age to avoid the distortion that large dormant stashes create in classic realized cap. AVIV is what drives the Cointime Accumulation Score on the dashboard.
AVIV (Active Value / Investor Value) replaces classic MVRV Z-Score for the post-ETF era. The reason: institutional flows after January 2024 pushed large amounts of BTC into dormant custody (BlackRock's IBIT, Fidelity's FBTC, MicroStrategy). These holdings inflate the classic realized cap without reflecting real market activity, which distorts MVRV Z readings by 15-30%.
AVIV reweights supply by coin age so dormant institutional stashes don't drown the signal. Source: the ARK Invest × Glassnode Cointime Economics paper (August 2023), which defined the methodology specifically to solve the institutional-dormancy problem.
| Date | AVIV | Zone |
|---|---|---|
| 2015-01 | 0.42 | Extreme undervaluation (cycle low) |
| 2017-12 | 4.2 | Cycle top (2017 peak) |
| 2018-12 | 0.55 | Cycle low |
| 2021-11 | 3.1 | Cycle top |
| 2022-11 | 0.67 | Cycle low (2022) |
| 2025-10 | 1.56 | Cycle top (2025) — diminishing extremes! |
| 2026-04 | 0.953 | Current (accumulation zone) |
The 2025 top only reached AVIV 1.56 — far short of the 2.5 "top zone" threshold derived from pre-ETF cycles. This is the diminishing extremes problem: post-ETF cycles will likely never see AVIV above 2.0 again because institutional flows dampen the volatility.
Mitigation: treat AVIV > 2.0 as the new "late bull warning" threshold (not 2.5). When AVIV crosses 2.0 + other distribution indicators fire, that's the real top signal now. Don't wait for 2.5.
| Condition | Reading | Score |
|---|---|---|
| Extreme undervaluation | AVIV < 0.55 | +2 |
| Deep accumulation | 0.55 ≤ AVIV < 0.75 | +2 |
| Accumulation zone | 0.75 ≤ AVIV < 1.00 | +1 |
| Mid bull / hold | 1.00 ≤ AVIV < 1.50 | 0 |
| Late bull / trail stops | 1.50 ≤ AVIV < 2.50 | −1 |
| Cycle top zone | AVIV ≥ 2.50 | −2 |
Halving Regime L2
Time-based cycle phase. Maps days-since-halving to one of eight phases from early markup through distribution danger to late accumulation. This is pure time-of-cycle context; it's not price-dependent. When the halving regime and on-chain regime agree, conviction is highest.
BTC's supply schedule is the only deterministic structural feature of the asset. Every ~4 years the block subsidy halves, creating a predictable supply shock. Every cycle since 2012 has followed the same phase sequence: markup → distribution → bear → accumulation, anchored to halving day.
The exact phase boundaries (in days post-halving) were fit to the 2012, 2016, and 2020 halving cycles. The 2024 cycle is currently tracking inside the historical envelope for all three phases so far — peak at day 534 matched the 480-600 window, bear started on schedule.
| Cycle | Halving | Peak (day) | Bottom (day) |
|---|---|---|---|
| Cycle 1 | 2012-11-28 | day 367 (Dec 2013) | day 793 (Jan 2015) |
| Cycle 2 | 2016-07-09 | day 529 (Dec 2017) | day 892 (Dec 2018) |
| Cycle 3 | 2020-05-11 | day 548 (Nov 2021) | day 928 (Nov 2022) |
| Cycle 4 | 2024-04-20 | day 534 (Oct 2025) | projected day ~940-980 (Nov 2026 - Jan 2027) |
This is a time-based model — it's right about the window, not the exact date. Real cycle turns can be 30-60 days early or late. And the pattern could break in any single cycle (that's the nature of a 4-point regression).
Mitigation: pair with data-driven signals (Bottom Proximity, Tier 1, AVIV). When the halving regime and on-chain evidence agree, conviction is highest. When they disagree — specifically when data says "bottom" but time says "still early" — wait for data to catch up rather than front-running the clock.
| Phase | Score |
|---|---|
| early markup | −1 |
| markup | −1 |
| late markup | −2 |
| distribution danger | −2 |
| early bear | 0 |
| mid bear | +1 |
| late bear | +2 |
| accumulation extended | +2 |
Bottom Proximity Composite L2
A composite score (0–100%) that synthesizes multiple cycle-bottom signals — realized price proximity, MVRV/NUPL levels, drawdown depth, and cohort behavior — into a single "how close are we to a cycle bottom" reading. 0% = euphoric top. 100% = max capitulation confluence. Historical 2022-11-21 reading: 71%. Historical 2025-10-06 ATH reading: single digits.
A single 0-100 number that synthesizes every bottom-relevant signal we track: MVRV ratio, NUPL, Puell Multiple, Supply-in-Profit, drawdown depth, cohort behavior (LTH MVRV, Liveliness), realized price proximity. Each subscore is weighted by its historical reliability at calling cycle lows.
The goal is one-glance orientation. The ±24 gauge tells you the verdict; Bottom Proximity tells you how close we are to the bottom zone on a pure "cheapness/stress" axis. At cycle bottoms the value hits 80-95%. At cycle tops it drops to 5-15%.
| Date | Bottom Proximity | Zone |
|---|---|---|
| 2015-01-14 | 94% | Max capitulation |
| 2018-12-15 | 89% | Bottom zone |
| 2021-11-09 | 7% | Top zone (distribution) |
| 2022-06-18 | 54% | Mid bear — the June false signal (flagged "approaching" not "bottom") |
| 2022-11-21 | 82% | Bottom zone |
| 2025-10-06 | 6% | Top zone (2025 ATH) |
| 2026-04-14 | 34.4% | Current (early bear) |
As a composite, Bottom Proximity inherits the failure modes of its components. During June 2022 it read 54% — "approaching" but not "bottom zone" — which correctly flagged that confluence wasn't complete. A naive reader could still over-interpret the number.
Mitigation: Bottom Proximity > 65% is the minimum threshold to treat as "approaching bottom." > 80% is required for "in bottom zone." Below 50% is mid-cycle — no bottom call.
| Zone | Reading | Score |
|---|---|---|
| Deep bull / top zone | 0–15% | −2 |
| Bull / late bull | 15–35% | −1 |
| Neutral / mid-cycle | 35–50% | 0 |
| Accumulation approaching | 50–65% | +1 |
| Bottom zone | 65–80% | +1 |
| Max capitulation confluence | 80–100% | +2 |
Drawdown From ATH L2
How far below the 2-year ATH price currently sits. Deeper drawdowns historically precede higher forward returns — not because drawdown itself is bullish, but because it's a cleanest-possible proxy for cycle washout depth.
The simplest possible cycle position metric. Deeper drawdowns historically correlate with higher forward returns — not because drawdown itself is bullish, but because it's the cleanest proxy for "how washed out is the market." Every cycle bottom since 2015 had a drawdown > 70%. Every mid-cycle correction was < 55%.
We use a 2-year trailing high as the ATH anchor to avoid "fake drawdowns" during long bear markets where an old ATH is no longer the relevant reference. This aligns with how most traders think about drawdown intuitively.
| Cycle | Peak → Trough | Drawdown |
|---|---|---|
| Cycle 1 (2011-13) | $32 → $2 | −94% |
| Cycle 2 (2013-15) | $1,163 → $171 | −85% |
| Cycle 3 (2017-18) | $19,500 → $3,194 | −84% |
| Cycle 4 (2021-22) | $69,000 → $15,479 | −77% |
| Cycle 5 (2025-26) | $124,714 → $74,339 | −40% (current, in progress) |
Mid-cycle corrections can hit −30% to −55% without being cycle bottoms. 2021 had a −55% drawdown in May 2021 that fooled many into thinking the cycle was over — then BTC rallied to $69K in November.
Mitigation: Drawdown is scored +2 only at > 70%. Mid-cycle corrections never hit that threshold. The scoring band is deliberately asymmetric (−1 max near ATH, +2 max at deep drawdown) because shallow drawdowns aren't automatically bearish but deep ones are structurally bullish.
| Depth | Reading | Score |
|---|---|---|
| Near highs | 0–25% below ATH | −1 |
| Normal pullback | 25–40% below | 0 |
| Deep correction | 40–55% below | +1 |
| Bear market | 55–70% below | +1 |
| Cycle washout | > 70% below | +2 |
L3 · On-Chain Stress
Zero-FP Tier 1 Confluence L3
The "zero false positive" Tier 1 framework — four indicators that have never fired together outside of the 2015, 2018, and 2022 cycle bottoms: MVRV < 1.0, NUPL < 0, Puell Multiple < 0.5, Supply-in-Profit < 50%. The triggered count is how many of the four are currently firing.
The four indicators (MVRV < 1, NUPL < 0, Puell Multiple < 0.5, Supply in Profit < 50%) were selected by exhaustive backtesting: which combination of on-chain signals, when all firing simultaneously, has historically only occurred at cycle bottoms? These four passed the test. Individual triggers happen during corrections; all four simultaneously has only happened at the deepest cycle lows.
"Zero false positive" refers to the all-four-simultaneously confluence requirement. Partial triggers (1-3 of 4) happen throughout mid-cycle corrections and mean nothing by themselves. The framework's entire value proposition is the requirement that confluence be complete before acting.
| Date | Count | What it meant |
|---|---|---|
| 2015-01-14 | 4/4 | Cycle 2 bottom — exact |
| 2018-12-15 | 4/4 | Cycle 3 bottom — exact |
| 2022-06-18 | 1/4 | False signal — only MVRV fired, framework said WAIT |
| 2022-11-21 | 4/4 | Cycle 4 bottom — exact |
| 2026-04-14 | 0/4 | Current — no bottom confluence yet |
June 2022 had MVRV briefly cross below 1.0 during the LUNA/3AC cascade at ~$18,500. That was 1/4 Tier 1 — the framework correctly flagged it as "not confluence, wait." Price fell another 19% to $15,476 over the next 5 months before the real 4/4 bottom in November.
Mitigation: the confluence requirement is the mitigation. Never deploy maximum allocation on 1-2 Tier 1 signals. Historically the jump from 2/4 to 4/4 has taken 2-6 weeks — size up gradually as signals trigger, not all at once.
| Count | Reading | Score |
|---|---|---|
| 0 triggered | No stress | −1 |
| 1 triggered | Early stress | 0 |
| 2 triggered | Approaching bottom | +1 |
| 3 triggered | Bottom zone | +2 |
| 4 triggered | Full cycle bottom confluence | +2 |
In June 2022, all four triggered briefly during the LUNA/3AC cascade at ~$18.5K — then BTC fell another 19% into the FTX collapse at $15,476. Tier 1 confluence is necessary but not sufficient for the final low. The terminal surfaces this warning inline on the Tier 1 panel.
LTH MVRV L3
market/mvrv_more_155Market Value / Realized Value for coins held more than 155 days — the long-term holder cohort. Because LTHs bought at much lower prices on average, LTH MVRV is typically well above 1.0 even in neutral regimes. When LTH MVRV drops below 1.0, it means the average long-term holder is underwater — historically only at the deepest capitulation lows.
Long-term holders (coins held > 155 days) are the patient cohort. They rarely spend unless forced. LTH MVRV below 1.0 means even patient holders are underwater on average — historically this has only happened at the deepest capitulation lows. It's the single strongest individual on-chain signal in the framework.
The 155-day threshold comes from Glassnode's Realized HODL Ratio research and was formalized in the ARK Invest × Glassnode Cointime Economics paper (August 2023). See §14 cohort convention for the full derivation.
| Date | LTH MVRV | Meaning |
|---|---|---|
| 2015-01 | 0.55 | Deep capitulation — all LTHs underwater |
| 2018-12 | 0.82 | Cycle low — most LTHs near breakeven |
| 2021-11 | 6.5 | Cycle top — LTHs at peak profits |
| 2022-11 | 0.82 | Cycle low — confirmed |
| 2025-10 | 3.2 | Cycle top — still strong cohort profits |
| 2026-04 | 1.642 | Current — LTHs still +64% in profit |
LTH MVRV can be slow to reflect late-cycle changes — the cohort composition shifts slowly because new LTHs are constantly being created as STH coins age past 155 days. A freshly-minted LTH cohort entering the 155-day threshold at high prices can dilute the reading upward.
Mitigation: read LTH MVRV alongside Liveliness. If LTH MVRV is falling AND Liveliness is falling, LTHs are genuinely hoarding. If LTH MVRV is falling but Liveliness is rising, the drop is from new-LTH dilution, not real stress.
| Zone | LTH MVRV | Score |
|---|---|---|
| Full capitulation (LTHs underwater) | < 0.85 | +2 |
| LTH stress | 0.85 – 1.00 | +1 |
| Normal / accumulation | 1.00 – 2.00 | 0 |
| Late bull distribution | > 2.00 | −2 |
STH MVRV L3
market/mvrv_less_155Market Value / Realized Value for coins held less than 155 days — the short-term holder cohort. STHs bought at much more recent prices, so their MVRV swings faster than LTH MVRV. STH MVRV below 1.0 means recent buyers are underwater on average — a classic late-bear-or-correction signal.
Short-term holders (coins held < 155 days) are the reactive cohort. They bought recently, usually during the late stages of a bull market. STH MVRV tracks how underwater or profitable they are on average. STH MVRV < 1.0 happens during every sharp drawdown — not just cycle bottoms — making it a faster-reacting but weaker-confluence signal than LTH MVRV.
We keep it in the framework because it's the single best early-warning signal for "new buyer stress." When STH MVRV drops below 1 for more than 14 days, a local bottom is typically within 4-8 weeks.
| Date | STH MVRV | Outcome |
|---|---|---|
| 2018-06 | 0.91 | Mid-bear, still 6 months from bottom |
| 2018-12 | 0.68 | Cycle low |
| 2021-07 | 0.94 | Mid-cycle capitulation, led to +120% rally |
| 2022-11 | 0.75 | Cycle low (with LTH MVRV) |
| 2025-10 | 1.28 | Cycle top |
| 2026-04 | 0.918 | Current — STHs −8% underwater |
STH MVRV below 1 is too common to use as a confluence trigger alone. It fires during 30%+ corrections even in the middle of bull markets. Treating it as a buy signal in isolation produces many premature entries.
Mitigation: use STH MVRV as Tier 2 (confirming) rather than Tier 1 (confluence). It supports the case when Tier 1 is firing, but it doesn't cause action alone.
| Zone | STH MVRV | Score |
|---|---|---|
| Capitulation | < 0.85 | +2 |
| Stress (recent buyers underwater) | 0.85 – 1.00 | +1 |
| Normal | 1.00 – 1.50 | 0 |
| Elevated | 1.50 – 2.00 | −1 |
| Euphoric | > 2.00 | −2 |
Liveliness / Vaultedness L3
Liveliness measures how "active" the total BTC supply is — the ratio of coindays destroyed to coindays created. When liveliness falls, LTHs are hoarding and vaultedness rises (coins aging on-chain). When liveliness rises, LTHs are distributing. Falling liveliness during a drawdown is one of the strongest accumulation signals on-chain.
Liveliness is a Cointime Economics metric that measures how "active" the total BTC supply is. Technically it's the ratio of coindays destroyed to coindays created. In plain English: when long-term holders move their coins, Liveliness rises. When they hoard (let coins sit dormant), Liveliness falls.
Falling Liveliness during a drawdown is one of the strongest accumulation signals available — it means the most patient cohort is not just holding but actively increasing dormancy. Rising Liveliness during a bull run is a top warning — LTHs are distributing.
| Date | Liveliness | Direction |
|---|---|---|
| 2018-12 | 0.58 | Falling — peak hoarding at bottom |
| 2021-04 | 0.73 | Rising — first top warning |
| 2021-11 | 0.79 | Peak — cycle top |
| 2022-11 | 0.56 | Falling — hoarding peak at bottom |
| 2025-10 | 0.71 | Rising — distribution at top |
| 2026-04 | 0.637 | Neutral/falling (36% vaulted) |
Liveliness moves slowly. Changes of 0.02-0.03 per month are normal. It's more useful as a confirmation signal than a trigger. By the time Liveliness has clearly shifted, price has usually moved already.
Mitigation: use Liveliness as a sanity check on other signals. If LTH MVRV is dropping (suggesting accumulation) but Liveliness is rising (suggesting distribution), the two contradict and neither should be acted on.
| Condition | Liveliness | Score |
|---|---|---|
| Deep hoarding | < 0.55 | +2 |
| LTH accumulation | 0.55 – 0.62 | +1 |
| Neutral | 0.62 – 0.70 | 0 |
| LTH distribution starting | 0.70 – 0.78 | −1 |
| Heavy distribution | > 0.78 | −2 |
Realized Loss L3
indicators/realized_loss (USD/day)Daily realized loss in USD — the dollar amount of BTC moving at a loss on-chain. Sustained readings under $25M/day are the capitulation-exhaustion signal: sellers are done, the bid has absorbed the panic. Readings >$1.5B/day are active panic.
Realized Loss measures dollars moving at a loss on-chain each day. It's the capitulation meter. At cycle bottoms, daily realized loss drops to historic lows — not because no one is selling, but because everyone who was going to panic-sell has already done so. The exhaustion reading is the signal.
The < $25M/day threshold was derived from the 2015, 2018, and 2022 cycle bottoms — all three had sustained realized loss below this level in the final weeks before price reversed. Conversely, > $1.5B/day indicates active panic, usually mid-capitulation rather than end.
| Date | Realized Loss | State |
|---|---|---|
| 2015-01 | $8M/day | Exhausted — cycle bottom |
| 2018-12 | $18M/day | Exhausted — cycle bottom |
| 2020-03 | $2.1B/day | Active panic (COVID crash peak) |
| 2022-06 | $1.2B/day | LUNA cascade — peak panic, not yet bottom |
| 2022-11 | $22M/day | Exhausted — cycle bottom |
| 2026-04 | ~$180M/day | Normal (current) |
Exhaustion is a necessary but not sufficient condition. The 2019 Q2-Q3 period had sustained low realized loss but BTC then dropped another 45% into December. Realized loss exhaustion can happen multiple times during a long bear market.
Mitigation: only score +2 when combined with > 55% drawdown and at least 1 Tier 1 trigger. Exhaustion in isolation is a 0 score.
| Regime | USD/day | Score |
|---|---|---|
| Capitulation exhausted | < $25M | +2 |
| Calm | $25M – $100M | +1 |
| Normal | $100M – $500M | 0 |
| Stress | $500M – $1.5B | −1 |
| Active panic | > $1.5B | −2 |
Coinbase Premium L3
Live spread between Coinbase (US institutional) and Binance (global retail/offshore) spot BTC price. Sustained positive premium means US institutions are aggressively bidding — one of the cleanest institutional demand signals. Sustained negative premium means offshore / retail is dominating flow.
Coinbase is the dominant US institutional spot venue. Binance (and offshore exchanges) serve global retail and HFT. The price spread between them — the "Coinbase Premium" — is the cleanest proxy for US institutional demand versus offshore/retail flow. Sustained positive premium means institutions are aggressively bidding. Sustained negative premium means offshore is dominant and institutions are disengaged or selling.
Post-ETF approval (January 2024), this signal became weaker because IBIT and other ETFs now account for much of US institutional demand — bypassing Coinbase direct. We still track it but weight it less than pre-2024 cycles.
| Date | CB Premium | Context |
|---|---|---|
| 2020-12 | +0.45% | Peak institutional buying — 2021 bull lift-off |
| 2021-11 | −0.28% | Distribution at cycle top |
| 2022-11 | +0.12% | Institutions bidding the low |
| 2024-01 | +0.18% | ETF launch week — sustained institutional bid |
| 2025-10 | −0.18% | Institutional distribution at top |
| 2026-04 | −0.007% | Current — neutral, just flipped slightly negative |
Post-ETF, US institutional demand routes through spot ETFs (IBIT, FBTC) which settle off-exchange. Coinbase Premium no longer captures the full institutional signal. In 2024 we saw strong ETF inflows without corresponding Coinbase Premium — the old relationship broke.
Mitigation: read Coinbase Premium alongside IBIT Activity Multiplier. When both agree, institutional flow is confirmed. When they disagree, IBIT is now the more reliable signal.
| Condition | Premium | Score |
|---|---|---|
| Sustained institutional buying | > +0.10% | +2 |
| Mild premium | +0.02% to +0.10% | +1 |
| Neutral | −0.02% to +0.02% | 0 |
| Mild discount | −0.10% to −0.02% | −1 |
| Offshore-dominated flow | < −0.10% | −2 |
IBIT Activity Multiplier L3
iShares Bitcoin Trust (IBIT) is the world's largest spot BTC ETF and the cleanest proxy for US institutional spot demand. The multiplier is today's volume divided by the 30-day average. Surges (>2x) happen at both panic bottoms and FOMO tops — context matters.
IBIT (iShares Bitcoin Trust) is the largest US spot BTC ETF, typically the top 1-2 in daily volume. Post-January 2024 it became the cleanest single proxy for US institutional spot demand — surpassing the information content of Coinbase Premium.
The "activity multiplier" is today's IBIT volume divided by the 30-day SMA. A reading of 2.0× means volume is twice normal — either FOMO buying (tops) or panic selling (bottoms). The metric is directionally ambiguous alone; it requires L2 context to interpret.
| Date | Multiplier | Context |
|---|---|---|
| 2024-01-11 | N/A | ETF launch day — no 30d history yet |
| 2024-03 | 2.4× | First ATH breakout — FOMO surge |
| 2024-08 | 0.6× | Mid-cycle lull |
| 2025-10-06 | 3.1× | Cycle top — peak FOMO volume |
| 2026-04 | 1.09× | Current — slightly elevated |
Activity surges happen at BOTH tops (FOMO) and bottoms (panic buying). Without L2 context, the signal is directionally meaningless. In 2025-10 the 3.1× surge was a clear top signal; in a hypothetical future 2026-Q4 a 3.1× surge during capitulation would be a bottom signal.
Mitigation: scored asymmetrically (−1 max, +2 max) and only read in combination with L2 halving regime. Bullish interpretation requires the surge to coincide with bear/accumulation phase.
| Condition | Multiplier | Score |
|---|---|---|
| Huge surge (FOMO or panic) | > 2.0x | +2 |
| Elevated activity | 1.3x – 2.0x | +1 |
| Normal | 0.7x – 1.3x | 0 |
| Muted / disengaged | < 0.7x | −1 |
LTH SOPR L3
indicators/sopr_more_155Spent Output Profit Ratio for coins held >155 days. Measures the average profit multiple on long-term holder coins that are being spent. SOPR = 1.0 is breakeven. Below 1.0 means LTHs are realizing losses — historically extremely rare and only at cycle lows.
SOPR (Spent Output Profit Ratio) = price when spent / price when created. For long-term holders (> 155 days), SOPR measures the average profit multiple when LTHs do decide to sell. LTH SOPR < 1.0 means LTHs are spending at a loss — historically extremely rare and only seen at cycle lows.
LTH SOPR > 1.5 means LTHs are taking > 50% profits on average — this is the distribution signal. It's a cleaner top signal than STH SOPR because LTHs need strong motivation to spend at all (tax, rebalancing, profit-taking) and the distribution decision is more deliberate.
| Date | LTH SOPR | Meaning |
|---|---|---|
| 2015-01 | 0.76 | LTHs at a loss — cycle bottom |
| 2018-12 | 0.88 | LTHs at a loss — cycle bottom |
| 2021-04 | 2.1 | First 2021 top |
| 2021-11 | 2.8 | Cycle top — heavy distribution |
| 2022-11 | 0.78 | Cycle bottom — LTHs spending at loss |
| 2025-10 | 1.58 | Cycle top (diminishing extreme) |
| 2026-04 | 1.228 | Current — LTHs in normal profit zone |
LTH SOPR has naturally shifted upward post-2020 because the LTH cost basis has risen with each cycle. Pre-2020 "bottom" readings were ~0.76; 2022 bottom was 0.88. The 2026 bottom may not drop below 0.95. The absolute threshold needs periodic recalibration.
Mitigation: we track the rate of decline as much as the absolute level. A 20%+ drop in LTH SOPR within 30 days is a stronger signal than the absolute value at any given day.
| Condition | LTH SOPR | Score |
|---|---|---|
| LTHs spending at loss | < 0.80 | +2 |
| Stress | 0.80 – 1.00 | +1 |
| Normal | 1.00 – 1.30 | 0 |
| Elevated profit-taking | 1.30 – 1.60 | −1 |
| Heavy distribution | > 1.60 | −2 |
L4 · Execution Timing
BTC Funding (Annualized) L4
Live BTC perpetual funding rate, annualized. Deeply negative funding means shorts are paying longs a massive premium — the crowd is positioned bearish, which is a contrarian bottom signal. Deeply positive funding means longs are paying shorts — overheated, crowded-long top warning.
Perpetual futures funding is the most sensitive crowded-positioning gauge in crypto. When longs dominate, funding goes positive and longs pay shorts. When shorts dominate, funding goes negative and shorts pay longs. Extreme readings (> ±54% annualized) are almost always resolved within 1-4 weeks by a liquidation event — which is exactly when the opposite-side trade has the highest expected value.
We use Hyperliquid funding as the primary feed because Hyperliquid is the largest on-chain perp DEX, settles every hour (faster than Binance's 8-hour cycle), and has less wash volume than traditional CEX feeds.
| Date | Funding (ann.) | Outcome |
|---|---|---|
| 2021-04 | +420% | Extreme longs crowded — first top followed within 2 weeks |
| 2021-11 | +180% | Cycle top |
| 2022-06 | +45% | LUNA cascade — still positive (premature bottom) |
| 2022-11 | −190% | Extreme shorts crowded — cycle bottom within days |
| 2025-10 | +180% | Cycle top confirmation |
| 2026-04 | −257% | Current — extreme shorts crowded (contrarian signal) |
Funding can stay extreme in one direction for 2-3 months during strong trends. In 2020 Q4, funding stayed deeply positive for 10 weeks while BTC continued rallying from $12K to $28K. Contrarian shorts based on "funding too high" would have been annihilated.
Mitigation: funding is a confirming signal, not a trigger. Require L2 + L3 support before treating extreme funding as actionable. Extreme negative funding + Tier 1 at 3/4 = bottom signal. Extreme negative funding alone = wait.
| Condition | Annualized | Score |
|---|---|---|
| Extreme crowded short | < −54% | +2 |
| Crowded short | −54% to −15% | +1 |
| Neutral | −15% to +15% | 0 |
| Crowded long | +15% to +54% | −1 |
| Extreme crowded long | > +54% | −2 |
DVOL L4
Deribit's implied volatility index for BTC — the "crypto VIX". High readings indicate panic and are often bottom signals; extreme low readings indicate complacency and are a warning in any phase.
DVOL is Deribit's implied volatility index for BTC — essentially the "crypto VIX." It measures the market's expected 30-day volatility. Low DVOL (< 35) means complacency — the market isn't pricing any near-term drama. High DVOL (> 90) means panic — traders are paying extreme premiums for protection.
Historically, sustained high DVOL coincides with cycle lows (panic buying is a precursor to reversal) and sustained low DVOL precedes tops (complacency means no one is hedged). It's a lagging contrarian indicator — useful when combined with L3 confluence.
| Date | DVOL | Regime |
|---|---|---|
| 2020-03 | 180 | COVID crash panic — 10× forward return |
| 2021-10 | 78 | Late bull — elevated but not panic |
| 2022-06 | 94 | LUNA collapse — peak fear |
| 2022-11 | 87 | Cycle bottom — sustained high |
| 2024-Q2 | 32 | Post-halving calm |
| 2025-10 | 44 | Near cycle top — low (complacency) |
| 2026-04 | 44.1 | Current — still mild |
DVOL spiked multiple times during the 2022 bear without being the final bottom (June 2022 hit 94 — correct fear reading but premature bottom). DVOL can also stay low for extended periods without a top imminent.
Mitigation: score asymmetric (−1 max, +2 max) because high DVOL is a stronger bottom signal than low DVOL is a top signal. Complacency can last; panic can't.
| Condition | DVOL | Score |
|---|---|---|
| Extreme panic | > 90 | +2 |
| Elevated fear | 70 – 90 | +1 |
| Normal | 35 – 70 | 0 |
| Complacency warning | < 35 | −1 |
IV Term Structure L4
Shape of the implied volatility term structure. Backwardation (front IV > back IV) means immediate panic is priced in — historically a bottom-coincident condition. Steep contango (back IV much higher) is a blow-off top warning.
The shape of the implied volatility curve across expiries — front-month vs 90-day — reveals where traders expect the next move to come from. Normal contango (back-month > front-month) means no immediate concern. Backwardation (front-month > back-month) means immediate panic is priced in, usually bottom-coincident. Steep contango (back >> front) means traders expect continued calm but long-dated uncertainty — often a top warning.
Backwardation in particular is one of the highest-signal events in the framework. It's rare, it's bottom-coincident, and it typically resolves within days of the actual low.
| Date | Shape | Context |
|---|---|---|
| 2020-03 | Deep backwardation | COVID crash — bottom-coincident |
| 2022-05 | Flat → brief back | LUNA cascade — premature panic |
| 2022-11 | Backwardation | FTX collapse — exact bottom |
| 2021-10 | Steep contango | Late bull — top warning |
| 2025-09 | Steep contango | Pre-cycle top |
| 2026-04 | Flat | Current — neutral |
Backwardation can be brief (hours to days) and easy to miss if you only check daily. The May 2022 LUNA event had intraday backwardation that closed back in contango — a premature signal.
Mitigation: require sustained backwardation (> 24 hours) combined with Tier 1 activity. Pair with realized loss exhaustion to filter out short-lived panic events.
| Shape | Score |
|---|---|
| Backwardation (panic) | +2 |
| Flat | 0 |
| Normal contango | 0 |
| Steep contango (top warning) | −2 |
25Δ Risk-Reversal Skew (Proxy) L4
Approximation of the 25-delta risk reversal on front-month options. Positive skew = calls more expensive = bullish positioning dominant (danger at extremes). Negative skew = puts more expensive = bearish hedging dominant (bottom signal at extremes).
The 25-delta risk reversal is the options market's directional bet. Positive skew means calls cost more than puts (bullish positioning dominant). Negative skew means puts cost more (bearish hedging dominant). Extreme readings on either side are contrarian — extreme positive skew = FOMO peak, extreme negative = maximum fear.
We use a proxy derived from front-month 25-delta IV rather than the strict risk-reversal to keep the compute simple and the fetch fast. The signal quality is equivalent for regime detection.
| Date | Skew | State |
|---|---|---|
| 2020-03 | −22 | COVID crash — extreme put demand |
| 2021-04 | +16 | Peak FOMO — first top 2 weeks later |
| 2022-06 | −14 | LUNA — fear but not cycle bottom |
| 2022-11 | −12 | Cycle bottom — heavy put demand |
| 2025-10 | +14 | Cycle top — extreme call demand |
| 2026-04 | +0.5 | Current — neutral |
Skew can flip rapidly (within hours) during news events. A single large trade can move the front-month skew meaningfully, creating false readings. And skew readings from Deribit weight heavily toward Western institutional flow — Asian options desks may have different positioning.
Mitigation: read skew on a 3-day average, not daily. Treat extreme readings as confirming signals, never as sole triggers.
| Condition | Skew | Score |
|---|---|---|
| Extreme bullish positioning | > +10 | −2 |
| Bullish bias | +3 to +10 | −1 |
| Neutral | −6 to +3 | 0 |
| Hedging / late bear | −15 to −6 | +1 |
| Extreme fear | < −15 | +2 |
OI / Market Cap L4
Aggregate BTC futures open interest as a percentage of market cap — the leverage regime. Historically, >3.5% has been the "overleveraged, large liquidation risk" zone. <1.5% is cleanly deleveraged, often after a washout, and constructive.
Total BTC futures open interest divided by total market cap. This is the leverage regime gauge. Low readings (< 1.5%) mean the market is deleveraged — usually after a washout — and structurally constructive. High readings (> 3.5%) mean the market is over-leveraged and any small move will trigger cascading liquidations. Historical cycle tops all had OI/Mcap > 3.5%; historical cycle bottoms all had it < 1.8%.
This signal is faster than funding because it measures total leverage rather than the directional bet. It doesn't care who's long or short — it cares how big the overall derivative stack is relative to spot.
| Date | OI / Mcap | Regime |
|---|---|---|
| 2020-12 | 1.4% | Deleveraged post-COVID — launch pad for 2021 bull |
| 2021-04 | 3.8% | First top — leverage saturated |
| 2021-11 | 4.1% | Cycle top |
| 2022-06 | 3.8% | LUNA pre-cascade — over-leveraged, snapped |
| 2022-11 | 1.6% | Cycle bottom — deleveraged |
| 2025-10 | 3.8% | Cycle top |
| 2026-04 | 2.32% | Current — mid-range |
The threshold has drifted upward as BTC's financialization has increased. Pre-2020 cycle tops had OI/Mcap around 2.5-3.0%. 2021 and 2025 tops required 3.5-4%. Each cycle the "dangerous" level has risen as institutional leverage products (CME futures, ETF options) add new supply.
Mitigation: focus on relative change rather than absolute level. A 40% increase in OI/Mcap over 30 days is a warning regardless of absolute level. At > 3.5% current readings, that's danger regardless of history.
| Regime | OI/Mcap | Score |
|---|---|---|
| Deleveraged / washed out | < 1.5% | +2 |
| Neutral | 1.5% – 2.5% | 0 |
| Elevated | 2.5% – 3.5% | −1 |
| Dangerous | > 3.5% | −2 |
09How the Market Heat thermometer works
The heat thermometer is a separate composite from the ±24 gauge. Where the gauge outputs a verdict, the thermometer outputs a 0-100 temperature. They measure different things. This section explains what it is, what it blends, and when it diverges from the main gauge.
What the thermometer measures
The thermometer is a valuation + positioning state, not a directional signal. It answers the question "how stretched is the market right now?" on a scale from frozen (0) to overheated (100). The gauge answers "is the setup bullish or bearish?" The two are related but not identical.
Think of it this way: the gauge is a verdict, the thermometer is a pressure reading. A neutral gauge (WAIT) can coexist with a very high or very low thermometer reading — the gauge is waiting for confluence, but the thermometer is already telling you the market is tightly wound one way or the other.
Components and weights
The thermometer blends four subscores, each normalized 0-100:
- Valuation (35% weight) — MVRV ratio, NUPL, Puell Multiple, Supply-in-Profit. Maps "how far above realized price are we?"
- Momentum (25% weight) — BTC vs 20w/50w/100w/200w MAs, weekly RSI, 30d price change. Maps "how stretched is trend?"
- Derivatives (25% weight) — annualized funding rate, OI/market-cap ratio, 25Δ skew. Maps "how leveraged is positioning?"
- Activity (15% weight) — active addresses, transaction volume, realized cap velocity, Coinbase premium. Maps "how engaged is the user base?"
Reading the zones
| Range | Zone | What it means |
|---|---|---|
| 0 - 20 | Capitulation | Everything cold. Valuation at extremes, no leverage, no activity, LTHs hoarding. Historical: 2015-01, 2018-12, 2022-11 all hit 5-15. |
| 20 - 40 | Cool | Recovery phase. Early accumulation. Weak momentum but improving. Low derivatives risk. |
| 40 - 60 | Neutral | Mid-cycle operation. No extremes in either direction. 2024 post-halving ranged here. |
| 60 - 80 | Warm | Momentum stretched, valuation elevated, leverage building. Late bull phase. |
| 80 - 100 | Overheat | Distribution risk. 2021-11 hit 88, 2025-10 hit 79. Historical tops cluster here. |
When the thermometer diverges from the gauge
Divergences are signal, not noise. The two most common patterns:
Warm thermometer + MILD BUY gauge
The market is stretched but indicators disagree on direction. Usually means momentum and derivatives are frothy while on-chain hasn't confirmed distribution yet. Read: don't add new longs, trail stops on existing. The thermometer is warning about a pullback the gauge hasn't seen yet.
Cool thermometer + WAIT gauge
The market is cold but the framework isn't calling a bottom. This is the classic "early is indistinguishable from wrong" zone. Valuation is attractive, derivatives are clean, but Tier 1 hasn't triggered and AVIV hasn't hit accumulation territory. Read: stay patient. The thermometer is showing the setup is building, but the gauge needs evidence of actual cohort stress before it signals buy.
The thermometer is best used as a gut-check on the gauge. If the gauge says STRONG BUY and the thermometer is at 12, both signals agree — maximum conviction. If the gauge says STRONG BUY and the thermometer is at 45, the framework sees confluence but the market isn't actually at a capitulation extreme — treat it as a softer buy. The thermometer's job is to tell you whether the verdict has historical precedent or is being driven by one unusual layer.
10Reading cycle patterns
BTC's 4-year halving cycle has been the most predictive structural rhythm in the asset's history. This section explains the rhythm, the typical phase durations, the diminishing extremes thesis, and how to spot which phase you're currently in.
The 4-phase rhythm
Every halving cycle since 2012 has followed the same structural sequence, though the amplitudes have changed. A full cycle is ~1,460 days (4 years) post-halving, divided into:
| Phase | Duration | Typical days post-halving | Characteristics |
|---|---|---|---|
| Markup (early + main) | ~500 days | 0 - 500 | Trend-following bull. Price grinds higher. MA Stack fills to 4/4. AVIV climbs from ~1.0 to ~2.0. Funding mildly positive throughout. Volatility expansion. |
| Distribution danger | 60 - 120 days | 480 - 600 | The top window. AVIV crosses 2.5. NUPL crosses 0.55. LTH SOPR climbs above 1.5. Funding gets stretched. MA Stack locked at 4/4. Historical tops always occur inside this window (Dec 2017 = day 558, Apr 2021 = day 367, Nov 2021 = day 576, Oct 2025 = day 547). |
| Early + mid bear | 300 - 450 days | 560 - 900 | Long grind lower. Drawdown deepens from −30% to −60%. MA Stack drops to 2/4 or 1/4. AVIV falls to 1.0-1.5. Funding stays mildly positive or neutral for most of this phase (the classic "hope" rallies). |
| Late bear + accumulation | 250 - 400 days | 900 - 1200 | Final capitulation window. MA Stack 0/4 or 1/4. AVIV < 0.80. Tier 1 starts triggering. Drawdown peaks at >60%. Funding goes deeply negative at the final low. Historical bottoms (Jan 2015 day 974, Dec 2018 day 952, Nov 2022 day 938) all fell in the 930-980 day window. |
| Pre-halving accumulation | 200 - 260 days | 1200 - 1460 | Base-building into the next halving. Price recovers 2-3x from the low. MA Stack rebuilds to 2/4 or 3/4. Institutional accumulation quietly begins. Retail is still disinterested. Best risk/reward zone. |
The diminishing extremes thesis
Each successive cycle has had shallower extremes than the last. This is not a bug — it's maturation. Lower volatility at cycle turns is what institutional adoption looks like.
| Cycle | Drawdown from ATH | Peak MVRV | Bottom MVRV | Peak NUPL |
|---|---|---|---|---|
| 2011-2015 | −87% | 5.8 | 0.50 | 0.75 |
| 2015-2018 | −84% | 4.5 | 0.74 | 0.71 |
| 2018-2022 | −77% | 3.9 | 0.78 | 0.66 |
| 2022-2025 | −40% (est.) | ~2.4 | ~0.90 (est. if cycle holds) | ~0.56 |
Notice the consistency: each peak MVRV is ~60-70% of the previous cycle's peak. Each drawdown is ~7-10 percentage points shallower. This is why the framework uses post-ETF thresholds (Tier 1 fires at MVRV < 1.0, not < 0.75 like pre-2022 backtests). The thresholds are calibrated to this decay curve.
The implication for traders: you will never again see 2015 or 2018 style extremes. Waiting for MVRV < 0.80 before deploying means you miss the bottom entirely. The framework's job is to calibrate what "extreme" means in the current regime, not the 2015 regime.
Spotting which phase you're in
Three fast reads:
- Days post-halving — open the Halving Regime panel. Time alone puts you in a ±3 month window.
- MA Stack score — 4/4 = markup/distribution. 0/4 = late bear. 1-2/4 = early bear or early markup. 3/4 = mid bull.
- AVIV Ratio — >2.5 = distribution. 1.5-2.5 = bull. 1.0-1.5 = mid. 0.75-1.0 = accumulation. <0.75 = deep value.
When all three agree on a phase, you know where you are. When they disagree, check the Halving regime calendar — time-based context usually wins in the disagreement (history teaches that cycle timing is more reliable than cycle magnitude).
11Predicting the next bottom
The framework can't tell you the exact bottom price or day. It can tell you when the conditions match historical bottom setups so precisely that acting becomes defensible. This section translates the framework into a forward-looking checklist.
Timing projection
The next cycle bottom, projected purely from the halving calendar:
- Last halving: April 20, 2024
- Historical bottom window: day 930-980 post-halving
- Projected bottom dates: November 2026 - January 2027
This is a time window, not a date. The real bottom could arrive anywhere in this 90-day range, and in exceptional cycles could be 2-3 months early or late. Don't anchor to a single date — anchor to the window.
Checklist: what needs to be true at the real bottom
When all of these are simultaneously true, the framework will read STRONG BUY (+16 to +20). This has only happened three times in BTC's history (2015-01, 2018-12, 2022-11). A fourth occurrence is the target.
| Condition | Threshold | Why it matters |
|---|---|---|
| L2 Halving regime | "late bear" or "accumulation extended" | Time-based context. Puts us in the 900+ day post-halving window. |
| L2 MA Stack | 0/4 or 1/4 | Price trading below all long-term MAs. Technical regime confirmed bear. |
| L2 AVIV Ratio | < 0.85 | Valuation in historical accumulation territory. |
| L2 Drawdown from ATH | > 55% | Cycle washout confirmed. |
| L3 Tier 1 confluence | 3/4 or 4/4 triggered | MVRV < 1, NUPL < 0, Puell < 0.5, SIP < 50% all firing together. The single most reliable bottom signal. |
| L3 LTH MVRV | < 1.0 | Even the patient cohort is underwater. Historically rare. |
| L3 Realized Loss | < $50M/day sustained | Capitulation exhausted. Sellers gone. |
| L3 Liveliness | falling, < 0.62 | LTHs hoarding, not distributing. |
| L4 BTC Funding | < −54% annualized | Shorts crowded. Contrarian long setup in place. |
| L4 DVOL | > 70 | Fear priced in. |
| L4 IV term structure | backwardation | Immediate panic. Historical: every cycle low had brief backwardation. |
| L1 Macro | NOT hostile (M2 not contracting) | Macro permission for crypto-native bull setup. |
What early warning looks like
You won't see all 12 conditions trigger at once. The final low forms over 4-8 weeks, with indicators filling in one by one. The early warning sequence, in historical order:
- Months out: AVIV drops below 1.0. MA Stack drops to 2/4 or lower. Drawdown passes −50%. Halving regime enters "late bear."
- Weeks out: Tier 1 starts firing one signal at a time. Usually MVRV < 1 first (fastest to trigger), then NUPL < 0, then SIP < 50%, then Puell < 0.5 last (miner capitulation is always last).
- Days out: Funding goes deeply negative. DVOL spikes. 25Δ skew goes negative. IV term briefly backwardates. L4 layer goes from +2 to +6 in a single week.
- At the bottom: Tier 1 4/4 triggered simultaneously with L4 at max bullish confluence. Composite gauge hits +17 or higher. Duration: often 3-7 days of extreme confluence before price turns.
What to do in each phase
Action: Zone A tranche only (10-15% of planned allocation). Don't chase. Set alerts on Tier 1 indicators.
Action: Zone B tranche (20-25% of planned allocation). Start scaling. Verify L4 isn't fighting — if funding is still positive, wait.
Action: Zone C + D tranches (40-50% of planned allocation). High conviction. This is the window where the framework has historically called the bottom within ±5% of price.
Action: Zone E tranche (remaining 15-25%). Close out. Set 18-month hold. Do not try to trade the bottom — try to capture it.
Tier 1 at 1/4 or 2/4 is not a buy signal. June 2022 had 1/4 briefly at $18,500 and price fell another 19% to $15,476. Never deploy Zone C or deeper until Tier 1 hits 3/4. The framework's entire value proposition is the confluence requirement — respect it.
12Predicting the next top
Tops are harder than bottoms because distribution is slow and grinding, not a single capitulation event. By the time the top is obvious, 20-30% of the drawdown has already happened. This section explains what to watch for, when to start selling, and how to pace distribution.
Timing projection
The next cycle top, projected from the halving calendar:
- Last halving: April 20, 2024
- Historical top window: day 480-560 post-halving
- Projected top dates: August - October 2025
- Actual top (in this cycle): October 6, 2025 at $124,714 — inside the projected window at day 534
The 2025 top validated the framework's timing model. Day 534 post-halving matched the historical 480-560 window. All prior cycle tops (Dec 2017 = day 558, Nov 2021 = day 576) also fell in this window. This is one of the few deterministic patterns in crypto — use it.
Checklist: what needs to be true at a real top
| Condition | Threshold | Why it matters |
|---|---|---|
| L2 Halving regime | "late_markup" or "distribution_danger" | Time puts us in day 480-600 post-halving window. |
| L2 MA Stack | 4/4 for > 30 days | Full bull regime locked in. All long-term MAs below price. |
| L2 AVIV Ratio | > 2.0 (warning), > 2.5 (confirmed) | Post-ETF top zone begins at 2.0 (was 3.5+ pre-2022). |
| L3 NUPL | > 0.55 | Aggregate unrealized profit in distribution zone. |
| L3 LTH SOPR | > 1.5 | Long-term holders spending at >50% profit margins. Distribution confirmed. |
| L3 Liveliness | rising, > 0.70 | LTH supply moving — classic top signal. |
| L3 Coinbase Premium | negative for > 14 days | US institutions selling into retail demand. Happens at every top. |
| L4 BTC Funding | > +54% annualized for > 14 days | Longs crowded. Leverage overextended. |
| L4 OI / Market Cap | > 3.5% | Derivatives leverage in danger zone. |
| L4 25Δ skew | > +10 | Options positioning heavily bullish. Every dollar of upside already priced. |
How distribution unfolds
Tops don't happen in a single day. They unfold over 4-12 weeks as one indicator at a time moves into distribution territory. The sequence is remarkably consistent:
- 6-8 weeks before top: AVIV crosses 2.0. Funding starts printing persistently positive. LTH SOPR climbs above 1.3. First MILD SELL readings on the gauge.
- 3-4 weeks before top: NUPL crosses 0.55. MA Stack 4/4 locked. Coinbase premium flips negative. Framework goes to SELL.
- 1-2 weeks before top: LTH SOPR crosses 1.5 (heavy distribution confirmed). Funding gets stretched above +100% annualized. OI/Mcap climbs above 3.5%. Framework approaches STRONG SELL.
- Final 3-7 days: 25Δ skew goes extreme positive. DVOL low (complacency). Halving regime clock reads "distribution danger." All indicators at or near max bearish scores. STRONG SELL confirmed.
How to sell — the distribution playbook
First warning. AVIV > 2.0, NUPL climbing toward 0.55. You're almost certainly early, but that's fine — early distribution is cheap insurance.
Confluence building. NUPL > 0.55, Funding persistent positive, Coinbase premium negative. Distribution confirmed. Size down hard.
Final exit zone. AVIV > 2.5, LTH SOPR > 1.5, OI/Mcap > 3.5%. Every indicator screaming distribution. Reduce to a residual 10% hold for the ride down (optional — most traders should exit completely).
Nobody sells the top. The goal is to exit most of the position before the drawdown gets serious. Historically the first 30% of a cycle top's drawdown happens in the first 3-4 weeks. Scaling out over 6-8 weeks captures ~70-85% of the peak value even if you can't time the exact day. That's the game. Trying to sell the exact top is how people end up holding the whole drawdown.
13Case studies
Four full post-mortems: the 2022 cycle bottom with its June false signal, the 2018 bottom, the 2015 bottom, and the 2025 top. Each one shows the framework's reading evolving through the turn so you can see what confluence looks like in practice.
Case 1 · 2022 bottom (with the June false signal)
The 2022 cycle bottom is the single most instructive case in BTC history because it included a clear false signal 5 months before the real bottom. The framework's confluence requirement is what separated them.
June 2022 — the false signal
| Date | Price | Signal state |
|---|---|---|
| Jun 18, 2022 | $18,500 |
MVRV briefly crossed < 1.0 during LUNA/3AC cascade. NUPL −0.06 (not yet < −0.15 threshold). Puell Multiple 0.82 (above 0.50 threshold). SIP 52% (above 50% threshold). Tier 1 count: 1 of 4. MA Stack 1/4. Funding slightly negative. Framework verdict: +3 MILD BUY (not confluence) |
The temptation: "MVRV is below 1! Historical bottom signal!" The framework: "Only 1 of 4 Tier 1 signals fired. Not confluence. Wait."
What happened next: Price fell from $18,500 to $15,476 by November 21. Another −17% for anyone who bought the false signal.
November 2022 — the real bottom
| Date | Price | Signal state |
|---|---|---|
| Nov 21, 2022 | $15,479 |
MVRV 0.78 ✓ NUPL −0.28 ✓ Puell Multiple 0.44 ✓ Supply in Profit 44.8% ✓ Tier 1 count: 4 of 4. MA Stack 0/4. AVIV 0.67. Drawdown −77%. BTC Funding −190% annualized. DVOL 94. 25Δ skew −12. Realized Loss $22M/day (exhausted). Liveliness 0.58 (hoarding). Framework verdict: +17 STRONG BUY |
All 4 Tier 1 signals fired simultaneously. L4 at max contrarian setup. L2 at max bear confluence. L1 neutral (M2 had stabilized). Composite +17 — the framework's maximum historical reading.
What happened next: BTC rallied from $15,479 to $73,000 over the next 14 months (+370%). The framework called it within 2 days of the price low.
The lesson
The difference between June and November was confluence. Both had some bullish signals. Only November had all 4 Tier 1 triggers. The framework's entire value proposition is that confluence requirement — it's what lets you ignore 90% of false signals while catching the real ones.
Case 2 · 2018 bottom
2018's bottom was cleaner than 2022 — no notable false signal, no macro headwind, just a long grinding bear that resolved in December.
| Date | Price | Signal state |
|---|---|---|
| Dec 15, 2018 | $3,194 |
MVRV 0.74 ✓ NUPL −0.27 ✓ Puell Multiple 0.38 ✓ SIP 42% ✓ Tier 1 count: 4 of 4. MA Stack 0/4. Drawdown −84%. BTC Funding moderately negative. IV backwardated briefly. Framework verdict: +18 STRONG BUY |
Day 952 post-halving (July 2016 halving + 952 days). Right inside the historical 930-980 window.
What happened next: BTC rallied to $13,800 over 6 months (+330%), then retraced in a mid-cycle dip before continuing to the 2021 top.
Case 3 · 2015 bottom
The earliest backtest anchor. Halving was in November 2012, so the 2015 bottom at day 974 aligns perfectly with the pattern.
| Date | Price | Signal state |
|---|---|---|
| Jan 14, 2015 | $171 |
MVRV 0.55 ✓ (extreme) NUPL −0.31 ✓ Puell Multiple 0.30 ✓ SIP 38% ✓ Tier 1 count: 4 of 4. MA Stack 0/4. Drawdown −87%. Realized Loss $8M/day (historically low). Framework verdict: +19 STRONG BUY |
What happened next: +20× in 35 months (to $20,000 at the 2017 top).
Case 4 · 2025 cycle top
The most recent data point. The framework called the top within one week — but with a lower composite score than prior cycles because extremes have been diminishing.
September 2025 — first warnings
| Date | Price | Signal state |
|---|---|---|
| Sep 15, 2025 | $118,500 |
MA Stack 4/4 (locked > 60 days) AVIV 2.38 (approaching 2.5 sell zone) NUPL 0.58 ✓ (above 0.55 distribution threshold) LTH SOPR 1.48 (climbing toward 1.5) Funding +120% annualized (longs crowded) Halving regime: late_markup (day 513) Framework verdict: −6 MILD SELL |
October 6, 2025 — the ATH
| Date | Price | Signal state |
|---|---|---|
| Oct 6, 2025 | $124,714 (ATH) |
MA Stack 4/4 AVIV 1.56 (did NOT reach 2.5 — diminishing extremes) NUPL 0.62 LTH SOPR 1.58 ✓ Coinbase premium −0.18% (institutional selling) Funding +180% annualized ✓ OI/Mcap 3.8% ✓ 25Δ skew +14 ✓ Halving regime: distribution_danger (day 534) Framework verdict: −8 SELL (not STRONG SELL) |
The diminishing extremes caveat
2025's top only scored −8 (SELL, not STRONG SELL) because AVIV never crossed 2.5. Post-ETF institutional flows have compressed the valuation extremes — the 2025 AVIV peak of 1.56 is where 2021's AVIV was in August 2021 (3 months before the actual top). The framework handled this correctly by flagging SELL even without STRONG SELL, because the other indicators (NUPL, LTH SOPR, Funding, OI/Mcap) all triggered normally. Future cycles will continue to have milder AVIV peaks. Don't wait for AVIV > 2.5 to sell — the framework's other indicators will signal first.
What happened next: BTC fell from $124,714 to $74,339 by April 2026 (−40.3%). Anyone following the distribution playbook who scaled out 20-30-40 across MILD SELL → SELL → STRONG SELL would have captured ~$112K-$118K average exit price.
Four out of four historical cycle turns (2015 low, 2018 low, 2022 low, 2025 top) produced framework readings in the expected band (+17 to +19 at lows, −8 to −18 at tops). Zero false confluences at cycle turns. The June 2022 near-miss was 1/4 Tier 1 — correctly excluded by the confluence requirement. The framework has never signaled a STRONG BUY that wasn't a cycle low, and has never missed a cycle low in its backtest window. That's the credibility claim, with receipts.
14The 155-day cohort convention
This section exists because it keeps causing confusion: how do "LTH MVRV" and "STH MVRV" actually get computed, and why does the endpoint name look backwards?
Glassnode's naming rule
Every Glassnode cohort metric uses the suffix _less_155 or _more_155. The suffix refers to the age of the coins included in the calculation, not the count of coins or anything else:
_less_155= coins held less than 155 days = Short-Term Holder cohort (STH)_more_155= coins held more than 155 days = Long-Term Holder cohort (LTH)
So market/mvrv_less_155 is the MVRV ratio computed using only coins that have been held fewer than 155 days — that's the STH cohort, and on our terminal it displays as STH MVRV. Conversely market/mvrv_more_155 is LTH MVRV.
Why 155 days
The 155-day threshold comes from Glassnode's Realized HODL Ratio research and was formalized in the ARK Invest × Glassnode Cointime Economics paper (August 2023). It's the statistical point at which a coin's behavior transitions from short-term-holder-like (volatile, responsive to price) to long-term-holder-like (dormant, price-insensitive). The same threshold shows up in supply/lth_sum and supply/sth_sum with the cohort names spelled out explicitly — Glassnode considers _more_155 synonymous with "LTH" and _less_155 synonymous with "STH" across their entire catalog.
The economic sanity check
If the labels were ever swapped, the numbers would be mathematically impossible given the current price. Consider a world where BTC is trading below the prior cycle's ATH:
- LTHs bought during the prior bear market and early markup — their average cost basis is far below current price, so LTH MVRV should read well above 1.0.
- STHs bought recently, often near the ATH — their average cost basis can be above current price, so STH MVRV can drop below 1.0.
If LTH MVRV ever appears to drop below 1.0, that's a genuine signal — it means even the patient long-term cohort is now underwater, which historically only happens at the deepest capitulation lows (2015, 2018-12, 2022-11). If STH MVRV ever prints above LTH MVRV, something is wrong.
LTH vs STH MVRV is the single most important cohort distinction in on-chain analysis. The terminal uses it in the composite gauge, in the Tier 1 confluence, in the Bottom Proximity composite, and in the historical validation at every past cycle turn. Getting the labels right is the whole game.
Framework neutrality verification (v2 #18)
Audit v2 #18 questioned whether the framework is structurally bullish-biased. We ran the simplified composite backwards across the full Glassnode history (2010-2026, 5,751 daily rows) to measure the actual average composite per year.
Result: full-period average = −0.285 (median 0). The framework is empirically neutral. Per-year peaks align correctly with past cycle turns: 2015 avg +8.49 (bottom year), 2017 −7.38 (top), 2022 +5.27 (bottom), 2025 −4.08 (ATH year).
Effective range (audit v2 #3): STRONG BUY (≥+16) and STRONG SELL (≤−16) were never hit in 11 years. Practical range is ~−12 to +14, not the theoretical ±24. The verdict bands are calibrated against this effective range in practice.
Band distribution (full period): SELL 7.1% · MILD SELL 28.5% · WAIT 29.0% · MILD BUY 23.3% · BUY 12.1%. Sell-side 35.6% / buy-side 35.4% — within 0.2 percentage points of symmetric.
Verification script: verify_bias.py. Re-run after any scorer change. Last run 2026-04-15.
15Historical validation
The Time Machine (date picker in the header of the terminal) rewinds the entire 4-layer composite framework to any date since 2015. These are the readings the terminal produces at confirmed cycle extremes. Click any card to open the terminal at that date.
The framework reads STRONG BUY at every confirmed cycle bottom and SELL at every confirmed cycle top without any tuning per-date — the scoring bands above are the same bands used for the current live score. This is the point of the Time Machine: the framework is the same at every historical extreme as it is today, which means its current reading is directly comparable to prior cycle extremes.
16Market Pulse Scorecard
A 7-category × 2-axis scorecard borrowed from Glassnode's weekly "Market Pulse" reports. Each category gets a Level (Low / Moderate / High) AND a Direction (Rising / Declining / Flat), giving you a 2-dimensional read per layer rather than a single-number collapse.
Why a second view alongside the composite gauge
The composite gauge collapses 21 indicators into a single −24 to +24 score. That's great for "should I act?" but it loses the cross-layer nuance. The Pulse Scorecard preserves it — you can see at a glance that Fundamental is High/Rising while Capital Flows is Low/Flat, and that disagreement is information that a single-number composite would hide.
The 7 categories
| Category | Sub-metrics | What it tells you |
|---|---|---|
| Spot | Price RSI · Exchange Netflow | Is spot demand healthy? |
| Futures | Funding · OI · Leverage Ratio | How crowded is the derivatives book? |
| Options | 25Δ Skew 1W · IV 1M · VRP | What are options markets pricing? |
| ETF | Purpose ETF (CA proxy) | Institutional bid (broader US spot ETF flows live in the Institutional panel) |
| Fundamental | Active Addresses · Transfer Volume · Hash Rate | Is the network being used? |
| Capital Flows | Realized Cap Δ · Hot Capital Share · LTH Supply | Is the cohort structure shifting? |
| P&L States | Supply in Profit · NUPL · RP Loss Ratio | Is the market rich or underwater? |
Level scoring: 2-year percentile bands
Each metric's "Level" is computed against its own 2-year rolling percentile distribution using High/Low bands at the 20th/80th percentiles:
- Low — current reading is below the 20th percentile of the last 2 years (statistically depressed)
- Moderate — between 20th and 80th percentile
- High — above the 80th percentile (statistically elevated)
This adapts to regime changes. A funding rate of 60% annualized is "high" in 2025 but was "moderate" in 2021. The percentile band captures that, a fixed threshold wouldn't.
Direction: 7-day delta
Every metric's "Direction" is the sign of its 7-day change: Rising if >+3%, Declining if <−3%, Flat otherwise. Direction catches the velocity that Level alone misses.
Polarity tinting
Different categories have different bullish/bearish polarities at High vs Low:
- Spot · ETF · Fundamental · Capital Flows — High is bullish (green border), Low is bearish (red border)
- Options — High is bullish (contrarian bottom-ish, fear priced in), Low is bearish (complacent top)
- P&L States — Low is bullish (capitulation bottom), High is bearish (profit-taking top)
- Futures — polarity-neutral, direction-dependent
Each category's label also shows a context tag so you don't have to remember the polarity: "High · Demand" (Spot) vs "High · Vol/Fear" (Options) vs "High · Activity" (Fundamental) vs "High · Profit" (P&L States). Same badge color, different meanings explicitly labeled.
How to read it
- All 7 cards bull-tinted → strong alignment, high conviction
- All 7 cards bear-tinted → strong alignment the other way
- Mixed → disagreement itself is information. Read the Divergence Watch panel for the conflict explanation.
17Cohort framework (LTH · ETF · Smart Money)
Post-ETF, "follow smart money" is no longer a single-cohort question. You now have three orthogonal smart-money lenses: on-chain Long-Term Holders (LTH), TradFi institutional via US spot BTC ETFs, and Nansen's historically-profitable wallet cohort. These 3 have different behaviors, different data granularity, and different leading/lagging characteristics.
The 3 cohorts compared
| LTH (>155d) | ETF / TradFi | Nansen Smart Money | |
|---|---|---|---|
| Size | ~14.7M BTC | ~1.3M BTC (ETF AUM) | ~100K wallets, smaller balance |
| Relative weight | ~11× the ETF pool | ~9% of LTH supply | Small but high signal-per-BTC |
| Behavior | Mechanically contrarian | Trend-following (aggregate) | Contrarian (by PnL selection) |
| Leading/lagging | Leads cycle turns | Lags by days to weeks | Leads in rotation & new trends |
| Data source | Glassnode on-chain | Surf ETF breakdown | Nansen MCP API |
| Cadence | Daily | Daily | Daily |
LTH > ETF for timing. LTH tells you the regime (accumulation / markup / distribution / capitulation). ETF tells you whether TradFi has confirmed the regime or is still fading it. Nansen Smart Money is a third vote — contrarian like LTH but smaller pool, faster rotation. Highest conviction when all 3 agree.
16.1 · LTH Behavior Tracker
The LTH Tracker panel classifies the LTH cohort into one of 6 phases based on 30-day net position change and SOPR:
| Phase | Supply Δ 30d | SOPR | Historical context |
|---|---|---|---|
| Euphoric Distribution | ↓↓ | >1.5 | Dec 2017, Nov 2021, Mar 2024 — all 3 cycle tops (3/3 backtest) |
| Healthy Distribution | ↓ | 1.1–1.5 | Late-bull profit taking |
| Pure Capitulation | ↓ | <1.0 | 2015 Q1, 2018 Q4, Mar 2020 — 3 of 4 pre-ETF bottoms fired this |
| Accumulation at Profit | ↑ | >1.0 | Early-bull accumulation |
| Accumulation Through Capitulation | ↑ | <1.0 | Nov 2022 FTX bottom only — post-ETF-era bottom signature |
| Holding | ~flat | ~1 | Mid-cycle equilibrium |
LTH Net Position Change is the canonical accumulation/distribution metric. Positive 30d = cohort net growing = more STH coins aging into LTH than LTH coins being sold = accumulation. Negative = distribution.
The panel shows a 90-day supply sparkline, 1d/7d/30d/90d deltas, a 5-metric grid (Supply, In Loss %, SOPR, MVRV, NUPL), the current phase classification with historical context, and a validation table running the classifier retroactively against all past cycle inflections so you can verify it calls the right signals at the right times.
Before the ETF (pre-Jan 2024), LTH cohort was net SHRINKING at every past bottom — weak hands forced out at losses. Post-ETF, there's now a structural absorber (ETF flows + post-halving aging) that can keep the cohort GROWING even during loss-realization. The Nov 2022 FTX bottom was the first time this happened. If the current reading (+102K BTC / 30d while SOPR 0.79) holds, this is an even stronger version of the same signature — LTH growing through capitulation.
16.2 · Cohort Confluence
A derivative panel that reads all 3 cohort stances (LTH from the tracker above, ETF from the Capital Pipeline, Smart Money from Nansen) and computes a single conviction level:
- HIGHEST · 3/3 aligned — rarest, highest-signal configuration. All three orthogonal lenses agree on direction.
- MEDIUM · 2/3 aligned — two cohorts agree, one disagrees. Check the odd-one-out. Usually LTH + SM lead and ETF lags; when ETF is the odd one, the 2/3 is usually early (the leaders are ahead). When LTH is the odd one, the disagreement is a warning (the contrarian cohort isn't confirming).
- LOW · divergent — all three split. No directional signal. Wait for resolution.
The panel shows 3 cards side-by-side (LTH / ETF / SM) with each cohort's current label (e.g., "Accumulation through capitulation", "TradFi buying", "SM deploying stables"), their stance (accumulating / distributing / neutral), and underlying metric. Plus a single verdict line like "3 of 3 cohorts accumulating — contrarian-bull setup".
16.3 · Capital Pipeline
Consolidated "is money flowing INTO or OUT OF crypto?" composite. Only two flows count as true dollar-in/dollar-out events:
- Stablecoin Supply Δ (USDT + USDC) — mint/burn at the issuer. 1:1 dollar wrapping/unwrapping.
- US Spot BTC ETF Net Flows — creation/redemption via AP. 1:1 dollar conversion to BTC custody.
Composite = Stablecoin Δ + ETF Flow over 24h / 7d / 30d windows. Shown as a big hero number (the 7d composite) with direction ("capital flowing INTO crypto" / "flowing OUT" / "flat") and 3 time-horizon columns. Context rows below the composite show Futures OI Δ and BTC Exchange Reserve Δ as separate orthogonal signals (not summed into composite because OI mixes dollar + coin margin and exchange reserve is coin custody not dollar flow).
This panel answers one question: "Did new dollars enter crypto this week?" Most serious analysts use stablecoin supply growth as the single cleanest proxy for net dollar inflow. ETF adds TradFi confirmation. Together they're the closest thing to a wholesale capital-in/capital-out measure.
18Bear Market Value Zone (BMVZ)
A price zone between Realized Price (RP) and True Market Mean (TMM) that historically defines where BTC spends most of its accumulation and redistribution time. Breaking above TMM = first structural confirmation of cycle recovery.
The two anchors
- Realized Price (RP) = Realized Cap / Circulating Supply = the aggregate cost basis of the network. Historically the "everyone paid" reference level. Floor of the BMVZ.
- True Market Mean (TMM) = price / AVIV ratio (Cointime Economics). Adjusts RP for dormant supply, giving the "active economic mean" rather than the raw cost basis. Ceiling of the BMVZ.
The AVIV ratio (Active Value to Investor Value) is Glassnode's Cointime Economics metric. When AVIV is low (< 1), TMM is above spot → market is undervalued vs its economic mean. When AVIV is high (> 1), TMM is below spot → market is overvalued.
TMM is live-derived now
Previously the dashboard used a hardcoded TMM = 1.44 × RP multiplier (a common heuristic). That's been replaced with live TMM = current_price / aviv_ratio, which is the actual Cointime Economics definition. The old multiplier was off by 5-10% at any given time; the new calculation is exact.
LTH Cooldown Tracker
Alongside the BMVZ band, the same panel tracks two LTH-specific cool-down metrics:
- Realized Loss 30d SMA — the 30-day smoothed total realized loss. Historically needs to drop below ~$50M/day for LTH capitulation to be considered cooled. (Note: this is a total-network proxy because Glassnode Professional doesn't expose LTH-specific realized loss flow cleanly.)
- LTH Supply in Loss — total BTC currently held by LTH wallets that are underwater. Needs to drop below ~1M BTC for full cooldown.
When both cooldown thresholds fire, the LTH cohort has finished its capitulation phase and the cycle floor is confirmed. This is a lagging confirmation, not a leading signal — it tells you "the capitulation is done" after the bottom is already in.
19Divergence & trap detection
Detects market-reversal traps by cross-layer divergence. When price moves one direction but orthogonal signals (Smart Money, exchange flows, sentiment, funding, capital flows, institutional flows) disagree, that's a trap signature. The panel lists active divergences with full evidence — transparent, not opaque scoring.
4 detectable patterns
| Flag | Trigger | What it means |
|---|---|---|
| ⚠️ Bull Trap Risk | Price +2%+ 7d with ≥3 orthogonal bearish divergences | Fake breakout. Price rallied but SM distributing, CB premium flat, funding extreme long, mindshare spike, LTH taking profit, weak ETF flows. Likely reversal. |
| ✅ Bear Trap Candidate | Price flat or declining with ≥3 orthogonal bullish divergences | Fake breakdown forming. SM accumulating, CB premium positive, exchange drain, shorts crowded, extreme fear, LTH at loss but cohort growing. Contrarian long setup. |
| 🎯 Accumulation Regime | Price +1 to +5% 7d recovery + same 3+ bullish conditions as bear trap | Bear trap already sprung. The recovery is real — cohort bought the dip before you could. Bottom likely confirmed retroactively. |
| 💀 Dead Cat Bounce Risk | Price +3%+ 7d but structural bear signals intact (shorts still dominant, LTH SOPR < 1, no stablecoin growth, weak ETF, OI declining) | Rally is counter-trend bounce, not buyer-driven. Sellers will return. |
Evidence-based design
Each flag requires 3+ orthogonal conditions agreeing before firing (severity scales with how many conditions agree). The panel shows the full evidence list so you can see WHICH signals fired. You can read the bullets and decide whether you trust each one for your specific trade — no opaque risk score.
When no flag is active, the panel explicitly says "No active divergences — price and orthogonal signals are aligned. The current move is clean — no trap signature detected in the last 7 days." Silence is useful too.
Caveats
- These are 7-day-horizon signals based on daily data. Not for intraday scalping.
- Multi-source divergence increases probability of reversal but never guarantees it.
- Use as a "conflict checker" alongside the Composite Signal and Tier 1/2 panels — not as a standalone decision.
- Stop-hunt / liquidity-grab detection is not yet implemented (requires hourly data).
20Daily brief system
The terminal ships ONE scheduled alert per day: the morning brief delivered via Telegram at 08:30 WIB. Everything else is intentional silence.
We ran an intraday alert evaluator (cw_alerts.py, 15-min cron) for a while. It fired verdict-transition alerts every time the composite score oscillated across the ±8 boundary as live feeds refreshed, which produced 3+ duplicate alerts per hour with identical Perplexity-enriched context. Disabled 2026-04-15. Reason: ~95% of the dashboard's data is daily-refreshed (Glassnode, Nansen, Surf F&G/ETF/mindshare, TradingView, Perplexity research, Opus brief). Alerting on daily data at intraday cadence creates an illusion of freshness where none exists — and verdict thrashing at tier boundaries is noise, not signal.
The morning brief
At 08:05 WIB, a single cron runs the full daily pipeline:
- 08:00 WIB — Wolf Howl nightly retro logs yesterday's autopilot trades (trader-ops only, not surfaced on this dashboard)
- 08:05 WIB — Glassnode pipeline: collector fetches 60+ BTC metrics, scorer computes composite, Surf collector pulls F&G / ETF per-fund / mindshare / options, Nansen collector pulls Smart Money balances / segmented flows / HL perp trades, Perplexity research runs 5 queries, Perplexity panels fetches catalysts + trending, Grok X-sentiment fetched, and finally Opus 4.6 with extended thinking composes the daily brief
- 08:20 WIB — Macro layer refresh (US M2 / DXY / SPX / IBIT)
- 08:25 WIB — Bottom proximity logger appends today's score
- 08:30 WIB —
telegram_morning_brief.pypushes the Opus brief to the private Telegram channel
What the brief contains
- TLDR — 2-3 sentences with the bottom line
- Macro backdrop — M2 / DXY / SPX / Gold / VIX / 10Y context
- Cycle position — MVRV Z, NUPL, Puell, Supply-in-Profit, realized price anchors
- Technical structure — TradingView multi-TF for BTC / ETH / SOL / HYPE
- Risk & derivatives — funding rates, OI, leverage, options skew, VRP
- Institutional flow — per-ETF breakdown, IBIT / FBTC / BITB / etc.
- Network activity — on-chain usage health
- Social sentiment — Grok X-aggregate mood
- Altcoin pulse — brief alt rotation read
- Positioning guidance — per-asset bias / conviction / size / key levels / catalysts for BTC / ETH / SOL / HYPE (machine-readable block)
- Smart money flows (Nansen) — stable rotation, top accumulation, top distribution, per-asset flow decomposition, HL perp trades
- Market context integration — Perplexity-researched catalysts, macro calendar, regulatory events
Average length: ~2,000 words, ~10 minute read. Includes a Telegram-native summary card for quick scan.
In-browser freshness awareness
Every panel shows a small pill indicating its data age and expected cadence (e.g., 44m · daily, 2m · 5min). A sticky freshness banner under the nav shows overall pipeline health — green when all sources are within their expected cadence, amber when anything is stale, red when multiple sources are very stale. See Data sources & cadence.
Re-enabling alerts (not recommended)
If you want to re-enable intraday alerts, know what you're signing up for: you need to apply hysteresis to prevent tier-boundary thrashing (e.g., BUY threshold +9 / WAIT threshold +5 instead of both at ±8). You also need to either kill the Perplexity per-alert enrichment or fetch fresh per alert — the cached replay is a trust violation. See feedback_no_intraday_alerts.md in the memory system for the full incident retro.
21Time Machine usage
The Time Machine (date picker in the header) rewinds the entire framework to any date since 2015. This is the feature that validates the whole system — you can see what the gauge would have said at every historical cycle extreme without changing a line of code.
How to use it
- Click the date picker in the header (cyan-framed "TIME MACHINE" block)
- Pick a date or use one of the preset buttons (2015↓, 2018↓, 2022↓ for bottoms; 2021↑, 21↑↑, 2025↑ for tops)
- Click GO
- The entire dashboard rewinds — composite gauge, KPI row, Tier 1/2 panels, Cycle phase, Cointime layer, all 21 indicators — to their values on that historical date
- Click ↺ live to return to the current state
What it's actually useful for
1. Validating the framework
The framework has been tuned against historical data by design — it would be strange if the historical readings didn't match cycle turns. But the Time Machine lets you verify that the scoring bands, the Tier 1 confluence, the AVIV thresholds, and the verdict math all hold at every historical extreme. Open 2022-11-21 and confirm the gauge reads +17 STRONG BUY. Open 2018-12-15 and confirm +18. Open 2015-01-14 and confirm +19.
2. Calibrating current readings
This is the subtle use case. When the terminal says "MILD BUY +7 today," you don't know how that compares to history. Open Time Machine to a past date that had a similar setup and see what the framework said then. If today reads +7 and 2019-01 (early accumulation) also read +7, you know today is an "early accumulation" reading — not a bottom call yet.
3. Testing the distribution playbook
Open 2021-04-14 (first local top) and the framework reads SELL. Open 2021-11-09 (cycle top) and the framework reads STRONG SELL. You can see how the indicators evolved between those two dates — which ones deteriorated first (NUPL), which held up until the very end (LTH SOPR), which gave the final confirmation (funding + OI/Mcap). This teaches you what to watch for during a real distribution phase.
4. Checking the June 2022 false signal
Open 2022-06-18. You'll see Tier 1 at 1/4 (not 4/4), framework reading MILD BUY +3 (not STRONG BUY), and all the reasons the confluence requirement held the framework back from calling the bottom. This is the single best demonstration of why confluence matters — you can see the framework being right about being cautious.
Limitations
Time Machine rewinds the cycle phase endpoint (/api/onchain/cycle?as_of=YYYY-MM-DD) which covers all on-chain metrics, AVIV, MA Stack, drawdown, Tier 1/2, and bottom proximity. It does not rewind the live execution layer (funding, DVOL, IV term structure, 25Δ skew) because those are fetched fresh from Hyperliquid and Deribit every 5 minutes and we don't store historical snapshots. Macro data (M2, DXY) also reads current values because our FRED + Yahoo fetches overwrite.
This means L1 Macro and L4 Execution will show today's values when you rewind. The composite gauge score will still be approximately right (L2+L3 dominate at cycle turns), but for high-fidelity historical analysis focus on the Cycle, Cointime, Tier 1, and KPI panels.
Open Time Machine to 2018-12-15. Read the Tier 1 panel — all 4 signals triggered. Note the MVRV, NUPL, Puell, SIP values. Then open 2022-11-21 and do the same. Then open today. Compare. You'll internalize what a "real bottom" looks like in 5 minutes.
22Data sources & refresh cadence
Every feed on the terminal is listed here with its source, cadence, and what it powers. If a feed is stale, the indicator it powers drops out of the composite and the confidence score reflects it. The freshness banner at the top of the terminal + per-panel age badges surface staleness in real time.
Daily pipeline · 08:05 WIB
| Source | What it powers | Cadence |
|---|---|---|
| Glassnode (Professional) | 60 BTC metrics: MVRV, NUPL, Puell, SOPR (LTH/STH), supply cohorts, realized price, realized loss, liveliness, vaultedness, AVIV, active addresses, exchange flows + reserves, funding, OI, options (IV 1M, 25Δ skew, realized vol 1M), HODL waves, stablecoin supply (USDT/USDC), BTC dominance, ETH price (for ETH/BTC ratio) | daily · 08:05 WIB |
| Surf (ask.surf) | Canonical Alternative.me-style Fear & Greed index (8+ year series), US spot BTC ETF per-fund flows (IBIT / FBTC / BITB / ARKB / BTCO / BRRR / EZBC / HODL / BTCW / GBTC), social mindshare (90-day), Deribit options (max pain, P/C ratio) | daily · 08:05 WIB · 4 calls/day |
| Nansen (MCP) | Smart Money + Fund aggregate token balances per chain (+24h delta), segmented token flows per cohort (exchange / fresh / whale / smart trader / top-PnL / public figure), recent HL perpetual trades from labeled Smart Money wallets | daily · 08:05 WIB · 5 calls/day |
| TradingView (tradingview_ta) | Multi-timeframe technicals (1h / 4h / 1d / 1w) for BTC / ETH / SOL / HYPE: RSI, MACD, Bollinger, ADX, Stochastic, SMA/EMA, S/R, market structure, sentiment | daily · 08:05 WIB |
| Grok (xAI) | Live X/Twitter sentiment aggregate, whale-account post monitoring (12 tracked accounts), 60-day sentiment time-series for sparklines | daily · 08:05 WIB |
| Perplexity Sonar Pro | 5 daily queries: market_news, macro_calendar, institutional_flow, regulatory, narrative. Plus 2 panel-level queries: catalysts, trending | daily · 08:05 WIB · ~$0.08/day |
| Claude Opus 4.6 (extended thinking) | Daily narrative market intelligence report composed from all of the above. 16K tokens output, 8K thinking budget. | daily · 08:05 WIB |
| FRED | US M2 money supply (M2SL) | daily · 08:20 WIB |
| Yahoo Finance | DXY, SPX, IBIT spot ETF volume (turnover proxy) | daily · 08:20 WIB |
Live feeds · 5-minute cron
| Source | What it powers | Cadence |
|---|---|---|
| Coinbase + Binance REST | BTC spot spread → Coinbase Premium Index | every 5 min |
| Deribit | DVOL, front-month IV, term structure shape, 25Δ skew proxy | every 5 min |
| Hyperliquid + Binance | Liquidation cluster estimates (top-trader long/short × leverage tiers × OI) | every 5 min |
On-demand
| Source | What it powers | Cadence |
|---|---|---|
| Binance REST (proxied) | BTC daily candles (2 years) for the price chart | on page load |
Frontend polling
The terminal frontend calls /api/onchain/* on every 30-second interval. This is a read of already-cached backend data — no external APIs are hit on frontend poll. A user who refreshes the page does NOT trigger a fresh Glassnode/Nansen/Surf fetch; they just reload whatever the last daily pipeline wrote to disk.
Freshness banner methodology
The sticky banner at the top of the terminal inspects file mtimes across every data source and returns a structured freshness map. Each source has an expected cadence (daily / 15min / 5min) and a threshold:
- 5min cadence: fresh if ≤10m old, stale if ≤30m, else very_stale
- 15min cadence: fresh if ≤20m old, stale if ≤1h, else very_stale
- Daily cadence: fresh if ≤28h old, stale if ≤48h, else very_stale
The banner shows the worst status across both groups (daily pipeline + live feeds). Each individual panel ALSO shows a per-panel badge (e.g., 44m · daily or 2m · 5min) so you can see at a glance which panel depends on which cadence. Details accordion (click "details") shows the full per-source breakdown.
Historical mode (Time Machine)
When you rewind via the Time Machine, the terminal reads the actual row at that date from every metric's parquet store — nothing is interpolated or approximated. The same scoring pipeline runs retroactively via cycle_phase.compute_cycle_phase(as_of_date=...), so the composite gauge, Tier 1/2 confluence, phase classification, and all 21 indicators reflect their historical values on that day.
23Glossary
AVIV Ratio
Active Value / Investor Value. A Cointime Economics valuation metric that replaces MVRV Z-Score for the post-ETF era by reweighting supply by coin age.
Backwardation
A state of the implied volatility curve where front-month IV is higher than back-month IV. Traders are paying a premium for immediate protection — fear of a near-term move is priced higher than long-term uncertainty. Historically rare and bottom-coincident (2020-03 COVID, 2022-11 FTX both had brief backwardation at the low).
Bottom Proximity Score
Our composite 0-100% synthesis of bottom-relevant signals: MVRV ratio, NUPL, Puell Multiple, Supply-in-Profit, drawdown depth, LTH MVRV, and Liveliness. Each subscore is weighted by its historical reliability at calling cycle lows. The composite reaches 80-95% at confirmed cycle bottoms (2015, 2018, 2022) and drops to 5-15% at confirmed tops. See §08 Indicator Reference for the component list.
Cointime Economics
Framework developed by ARK Invest and Glassnode (2023) that treats coin-age as the primary dimension for on-chain valuation. Replaces classic MVRV metrics that get distorted by large dormant stashes.
Contango
A state of the implied volatility curve where back-month IV is higher than front-month IV. The normal state. Traders are more worried about long-term uncertainty than immediate moves. Steep contango (back-month IV >> front-month) is a distribution warning.
Delta (Δ)
Options terminology for how much an option's price changes per $1 change in the underlying. A 25-delta call moves 25 cents per $1 BTC move. "25Δ skew" compares the IV of 25-delta calls vs 25-delta puts to measure directional positioning without being distorted by at-the-money traders.
Diminishing Extremes
The observation that each BTC cycle has had milder peaks and shallower troughs than the previous. 2011 cycle drawdown −94%, 2018 −84%, 2022 −77%, 2026 tracking around −40%. Peak MVRV has decayed 5.8 → 4.5 → 3.9 → 2.4. This is why the framework's thresholds are calibrated to post-ETF ranges rather than pre-2022 ranges. See §05 Framework design rationale and §13 Case studies.
DVOL
Deribit's BTC volatility index. The "crypto VIX" — a 30-day forward-looking implied volatility measurement from BTC options.
Liveliness
Ratio of coindays destroyed to coindays created over the lifetime of the Bitcoin supply. Falling liveliness = LTHs hoarding. Rising liveliness = LTHs distributing.
LTH / STH
Long-Term Holder (>155 days) / Short-Term Holder (<155 days). The 155-day threshold comes from Glassnode research identifying when coin behavior statistically transitions from reactive to dormant.
MVRV
Market Value / Realized Value. The ratio of BTC's market cap to its on-chain realized cap (the sum of all UTXOs valued at the price they last moved). MVRV < 1 means the average coin is underwater.
NUPL
Net Unrealized Profit/Loss. (Market cap − realized cap) / market cap. NUPL < 0 means the network is in net unrealized loss territory — historically rare, only at bear-market bottoms.
Open Interest (OI)
The total number of outstanding derivative contracts (futures or options) that have not yet been settled. Each contract has a long and a short side — OI measures the aggregate size of the derivative market. We use BTC futures OI divided by BTC market cap as the leverage regime gauge. See OI / Market Cap.
Puell Multiple
Daily BTC miner issuance in USD divided by its 365-day moving average. Puell < 0.5 means miner revenue is deeply below its historical norm — historically a bottom signal because it implies capitulation in the miner cohort.
Realized Cap
The sum of all BTC valued at the price they last moved on-chain, rather than current market price. If a coin last moved at $30K, it counts as $30K in realized cap — even if BTC is now $75K. Realized cap is the foundation of MVRV, SOPR, LTH/STH cohort metrics, and Realized Price. It's a measure of aggregate cost basis.
SIP (Supply in Profit)
Percentage of circulating BTC supply that is currently held at a profit. SIP < 50% means most coins are underwater.
SOPR
Spent Output Profit Ratio. The average profit ratio of all BTC spent on a given day. SOPR = 1.0 is breakeven. SOPR < 1.0 means the average mover is realizing a loss.
True Market Mean (TMM)
A Cointime Economics variant of Realized Price that reweights supply by dormancy. Unlike raw Realized Price, TMM removes dormant supply from the calculation — so long-lost or deeply-held coins don't drag the mean down. TMM typically sits above Realized Price by 30-80% and acts as a practical support/resistance level on the price chart.
Vaultedness
Cointime metric — the fraction of supply that is "vaulted" (aging without being spent). High vaultedness = hoarding regime.
Zero-FP Tier 1
Four indicators (MVRV < 1, NUPL < 0, Puell < 0.5, SIP < 50%) that have only ever all triggered together at the final lows of Bitcoin cycles (2015, 2018, 2022). "Zero false positive" refers to the all-four-simultaneously confluence being historically unique to cycle bottoms. Partial triggers (1–3 of 4) can occur in mid-cycle corrections.
24Disclaimer
cryptowatch.id is a research and synthesis tool. It presents publicly available on-chain, macro, and derivatives data in a single interface with transparent scoring math. It is not a signal service, it is not investment advice, it does not know your risk tolerance or capital, and it cannot see the future.
Cycle frameworks fail. Past patterns do not repeat mechanically. The same data can be correct at one cycle turn and wrong at the next. Use this tool as one input among many. Never size a position based on a dashboard verdict alone.
All indicator values are computed from public data feeds. No indicator on this terminal is proprietary or gated. Anyone with a Glassnode subscription and public exchange APIs can reproduce every number shown.