Fifteen years of bitcoin, every input the regime engine reads, every state it
declares, what it gets right, and — just as important — the four strategies we tested against it
that failed. In charts, so it can be argued with.
BTC$79,7452026-09-05
RegimeRECOVERY5 pillars · coverage 0.93
Value percentile33.5of its own 2015+ history
MVRV-Z0.87tops ran 2.3–6.9
Supply in profit67.9%bottoms ran 24–41%
vs a 200DMA+8.1ppat classifying regime
0 · What the engine is made of
An atlas should say what it maps. This engine is a bitcoin regime classifier: it reads a
panel of on-chain, derivatives and macro series every day, scores each against
its own history only, and declares a state. Everything else on this page is a
finding produced by it.
Independent sources16feeding the daily panel
Chain metrics87carried and charted
Macro series144rates, jobs, liquidity
Panel coverage0.93of enrolled metrics fresh
Deepest series2010BTC consensus, 5,865 days
Scoring window2015+the modern era, by ruling
Where the data comes from
Sixteen independent sources reach the panel, and the engine is deliberately built so that
no single one of them can move a reading on its own. Bitcoin’s own price is a
per-day median of up to five feeds rather than one venue’s print — which is also why
it reaches back to 2010 rather than to whenever one vendor started.
Our own full node — UTXO set and chain statistics computed locally, not taken from an API.
On-chain vendors — bgeometrics, checkonchain, chain_index, blockchain.info, mempool.space, each cross-checked against the others.
Derivatives — Deribit implied vol and options positioning; perpetual funding and open interest across four venues.
Flows — spot ETF creations and redemptions, stored as a vintage series so later revisions never overwrite what was known at the time.
Macro — the Treasury curve, jobs, inflation, liquidity and stress, from the official series rather than a summary.
What runs, and how it is checked
Capture is scheduled, not manual. Every job must declare how its output can be verified, and
the monitor fails the run if a job cannot answer — a job that quietly stops is the
failure this design exists to prevent.
declaration
jobs
meaning
artifact
40
writes a file the monitor reads back
checked_by
5
a named external tool verifies it
produces:false
5
a watchdog; produces nothing by design
none of these
2
UNCHECKED — and the monitor exits non-zero
52 declared jobs. Until this scheme existed, 25 of 47 were invisible to the
monitor: for those, “running” meant the scheduler exited zero, which is a status
through a pipe rather than output produced.
What it produces
Three published surfaces, all built from the same panel:
Bitcoin Weekly — a weekly readout. The
generator decides what is true; the renderer only decides how it looks, so an issue is
reproducible from its data.
Market Snapshot —
199 charts across 21 sections, 71,535 observations at full history, in six
windows from 1Y to ALL. Rebuilt four times a day by a deterministic job.
The weekly phase count — a
third-party scheme reproduced bar for bar, and audited. See section 12.
Every level on those pages is drawn against its own history, because a number
without its range is not a reading. Percentiles are expanding-window: no day is ever scored
against a future it could not have seen.
1 · Where bitcoin stands, in value terms
A percentile built from four slow mean-reversion models — price ÷ 200-week average, MVRV,
MVRV-Z, and deviation from a power-law fit — each ranked only against its own past,
never the full series. Today it reads 33.5.
Every cycle bottom sits between 3.2 and 16.4; every top between 71.6 and 97.5. No
overlap in fifteen years.
The same measure over fourteen years. It is bounded and mean-reverting where price is
not — which is the entire reason for expressing value this way.
2 · Fifteen years, what the engine called, and what actually happened
Price on a log scale. Beneath it two ribbons on identical days: what the engine
declared, and the actual cycle phase derived mechanically from price. Hover
anywhere on the price line for the date and price; every cycle peak and trough is labelled with the price it happened at.
The lower ribbon is the answer key. The upper one is the engine's attempt at it using
only information available on the day.
⚠️ The dashed lines and the ACTUAL ribbon are
hindsight. They are not signals and could never have been traded.
A peak is only a peak once price has fallen 50% from it — so you learn about it
at half price. A trough is only "the minimum between two peaks" once the next peak exists,
years later.
Selling every peak and buying every trough would beat holding enormously, and is
unimplementable. That gap is why the engine exists. The 2026-06-30 trough is not
knowable even now — it is the minimum so far.
3 · Every cycle, and the compression
Each cycle rebased so its peak is the origin. Each drawdown is shallower than the last
— and the same compression shows up in valuation, in raw units, with no percentile involved.
2013 -85%2017 -84%2019 -62%2021 -77%2025 -53%
Each cycle peaks at the origin; the percentage is its deepest drawdown. 2013: −85%. 2025–26:
−53%, the shallowest on record.
Tops fall 6.86 → 2.29 while bottoms rise 0.43 → 1.10. Amplitude has collapsed from
16× to 2×. The June low is the first bottom ever above 1.0 — price
never went below the average holder's cost basis.
4 · The engine is losing its grip — and that is the finding
As the cycles compress, the on-chain signal degrades. This is the single most important pattern
in the whole study, and it points the same way from three independent directions.
The edge collapses: 99th → 90th → 46th → 18th percentile. By the last
two cycles, acting on the engine is indistinguishable from — then worse than — random days out of
the market at the same exposure.
Share of days the engine's own rules actually fire. 2022 — a textbook bear — was 71%.
The compressed 2024–25 cycle fell to 33–34%.
Why would this happen? We have not
proven a cause, and the honest answer is that we cannot from six cycles. But the shape is
consistent with bitcoin's marginal holder changing: spot ETFs, custodians and treasury companies
hold coins that never move on-chain, and an on-chain engine is blind to a trade that
settles inside a fund.
If the marginal buyer is increasingly institutional and increasingly off-chain,
then the panic and euphoria the engine reads — coins moving at a loss, dormant supply waking —
measure a shrinking share of the real market. That is a hypothesis with a mechanism, not a
conclusion, and it is the most consequential open question here.
5 · How a regime is decided
Four stages. Nothing is judged in raw units — every metric becomes a percentile against its own
trailing four years, which is what lets a 2013 reading and a 2026 reading mean the same thing.
6 · The five pillars
Each is the weighted median of its members' percentiles. A median, not a mean — otherwise a
single anti-correlated member vetoes the whole pillar, which is exactly what stopped CAPITULATION
from ever firing until today.
valuation
0–100 percentile of its members · dashed = the 10 / 90 lines the rules read
cohort
0–100 percentile of its members · dashed = the 10 / 90 lines the rules read
profitability
0–100 percentile of its members · dashed = the 10 / 90 lines the rules read
demand
0–100 percentile of its members · dashed = the 10 / 90 lines the rules read
speculation
0–100 percentile of its members · dashed = the 10 / 90 lines the rules read
7 · The inputs themselves
Twelve of the metrics underneath, in raw units, over fifteen years — same cycle markers
throughout so you can trace one date down the page.
SOPR
spent-output profit ratio · below 1.0 = coins moving at a loss
share of coins above their cost basis · <50% = bottom zone
MVRV
price ÷ realised price · the market's aggregate unrealised P&L
NUPL
net unrealised profit/loss
Mayer multiple
price ÷ 200-day average
Price ÷ 200-week SMA
the classic cycle-floor extension
Coin-days destroyed (90d)
old coins moving · spikes at BOTH tops and bottoms
Puell multiple
miner revenue vs its annual mean
Realised-cap growth
new capital actually entering, week over week
LTH supply Δ90d
long-term holders accumulating (+) or distributing (−)
Funding (30d)
perp leverage cost · dead venue, see notes
8 · Four things we tested that did not work
Negative results are the most useful output here, because each one closes off a way of losing
money. Every test is scored against a rent check: the same strategy with its
decisions randomised. Beating buy-and-hold is not enough — it has to beat its own shuffle.
Percentile against 300 randomised versions of the same strategy. Above the dashed
line = better than chance. The regime overlay decays from 99th to 18th; the value-level
strategy sits at the 0th–4th percentile in three of four cycles — far worse than
shuffling the same exposure.
1 · Timing exits on the regime state.
Worked in the old high-amplitude cycles (99th, 90th percentile) and stopped working as they
compressed (46th, 18th). It also arrives ~90 days late to a bear — of which ~36 days is a physical
limit of the indicator, not a tuning choice.
2 · Holding only when valuation is cheap. Refuted
decisively: 0th–4th percentile of random in three of four cycles. Bitcoin's returns are
concentrated in the half of the distribution that looks expensive, so cutting exposure on
valuation sells the strongest part of every bull.
3 · Waiting for a bottom before buying. Measured
separately: withholding regular purchases to wait for a better price lost 69%
versus simply buying on schedule. Cash drag swamps timing.
4 · Calling the top from on-chain data. Structurally
impossible, not merely hard: a top is an all-time high, so a percentile indicator has no precedent
to rank it against. Seven variants tested; every one beaten by holding.
What survives all four. Stay invested. Buy on
a schedule rather than on a forecast. Use these signals for context and, at most, for
sizing at the extremes — never for withholding. That is an unglamorous conclusion, and it is the
one the data keeps returning from three independent directions.
9 · Can you time the BUYING instead? — the DCA question
A fair objection to everything above: those tests sold during expensive
periods, and bitcoin’s returns live there. What if you never sell, and only condition
purchases — dollar-cost-average only when value is cheap, treating those buys as a
long-term allocation? Genuinely a different question, so it got its own measurement.
Every strategy below receives exactly the same income on exactly the same days.
The only variable is when it is deployed. Cash waiting to be deployed earns nothing — that
drag is what the discount has to beat.
Monotonic. Hold back 30% of contributions to wait for value < 25
and you end with 24% less; hold back everything and you end with 81% less. No ratio rescues it
— more waiting is worse, smoothly.
Selling 2% of the stack per day while value is above 60 cost money in every cycle and
made money in none. Trimming into strength is expensive.
The one cycle where waiting won.
2017→2021 — the deepest and longest bear in the sample — rewarded holding cash
(+26% for the full gate). Every other period punished it. Which cycle you are in is not knowable in
advance, and the rent check is bimodal: 0th percentile in two cycles, 100th in
two. That is the signature of variance on one or two events, not of an edge.
⚠️ Two biases stated rather than buried. Terminal value is
path-dependent and today’s value percentile is 18 — cheap — which
mechanically flatters strategies sitting on cash. And the full-history figure is amplified by
bitcoin appreciating four orders of magnitude, where any delay compounds badly. The per-cycle rows
are the fairer read; they say the same thing more quietly.
The answer is no — but the reason is
encouraging. The discount you capture by waiting is real; it is simply smaller than the
return you forgo while waiting. In an asset that trends upward, time in the market beats price on
entry. The value percentile is still worth watching — as context, and to know
whether you are adding at 18 or at 85 — just not as a gate on whether to add at all.
9b · So is there a level worth acting on? — yes, for one of the two questions
“There is probably some number below which you treat it as a buying opportunity with free
capital.” That sentence contains two different questions, and measured
separately they give opposite answers. Separating them is the whole finding.
Q1 — WITHHOLDING. Should
income that would otherwise be invested wait for a cheap day?
You pay cash drag on every day the gate is shut. No.
Q2 — DEPLOYING. Capital
exists today and must go in at some point. Does the value on the day you deploy predict what you
get?
Nothing is sitting idle — the alternative is a different day, not cash
forever. Yes, strongly.
A measure can rank future returns and still fail as a gate. The gate pays for the wait; the
deployment does not. Everything refuted earlier on this page was a gate.
2013→20172017→20212021→2025
Q1, swept. Every threshold from 10 to 100, in three cycles. The line
sits below zero almost everywhere, and where it rises it is heading back toward plain DCA
(100 = no gate at all). Only 2017→2021, the deepest bear in the sample, pays
for waiting — and it is a single event, not a rule. There is no threshold that works
across cycles.
Buy below 20 and the median two-year outcome is +353%. Buy above 80
and it is −49%. Monotone through the middle, and the cheap buckets sit at
the 100th percentile against buying on random days — it is not just
bitcoin going up.
The risk side, which the return figure hides. Below 40, no two-year
purchase was underwater. Above 80, every one of them was.
The number is about 40 — and it is a
deployment rule, not a savings rule. Below 40 the modern-era record is uniformly good and
beats random timing; 40–60 is an ambiguous middle; above 60 it turns negative and above 80 it
is negative with certainty in this sample.
Stated as something you could actually follow: keep investing on
schedule regardless of value — that part never stops — and when a lump of free
capital appears, deploy it faster below 40 and slower above 60. What you must not
do is convert scheduled contributions into a cash pile waiting for a number.
→ That “about 40” is measured at a
two-year horizon on a lump. It does not survive being turned into a weekly rule
held for four years — which is a different thing, and is measured directly in
§9d below.
⚠️ Three limits, stated not
buried. A four-year forward window can only be measured through 2022, so the longest
horizon covers the least relevant era and is not the basis for any of this — the 1- and
2-year windows are. Bucket boundaries were chosen before the split was seen, but they are still
choices. And five cycles is five observations; the 2-year table above rests on
fewer independent events than its row counts suggest.
Today the reading is 18.1 — inside the range where
deployment has historically been rewarded. That is context for sizing, not a prediction, and it
says nothing about the next three months.
9c · If you could keep only ONE indicator, which one?
Scored on one job: does the indicator’s level rank what a purchase made that day
is worth two years later? Bar length is the gap between the median 2-year return in its
cheapest fifth and its most expensive fifth, 2018 onward, every reading ranked only against its own
past. Two price-only measures are in the race on purpose — if the on-chain data
can’t beat a line drawn on a price chart, that is the answer.
cost-basis (on-chain)price-onlyminer economicsderivatives — see caveat
The first ranking put 21 of 22 contenders at the 100th percentile against a shuffle
— when almost nothing fails, the bar is wrong, not the field. Shuffling individual days only
asks “is this smoother than noise.” The 90-day block bootstrap here
keeps the persistence and asks the real question; three contenders drop to marginal under it,
including both of the obvious guesses.
The answer is a family, not a metric:
cost-basis. MVRV, NUPL, MVRV-Z and price-vs-realized score 475–477pp within 2pp of
each other because they are near-restatements of one quantity — what did the average coin
last change hands at? Pick MVRV as the representative and you have kept
essentially all of the signal in the set.
Why that one works: it is the only thing here that measures the market’s
cost rather than its price. Below 1.0 the average holder is underwater, and sellers who
realise a loss are a self-limiting supply. Above roughly 3 the average holder is sitting on a
multiple, and that is a supply overhang. It is a position-of-the-holder measure, which is
why it does not need a level of price to mean anything.
⚠️ The uncomfortable part, stated
plainly: a price-only line nearly ties it. Drawdown from the running all-time high scores
495pp — ahead of MVRV’s 477pp — and it needs no node, no data
vendor, and no engine. On this job the entire on-chain apparatus buys you very little over
“how far are we below the high?”. MVRV earns its keep by being the more robust
of the two under the harder null (99th vs 98th) and by being independent of price, so the
two together disagree usefully. One of them alone is nearly as good as both.
The two obvious guesses both come mid-pack. The
Puell multiple lands at 254pp and only marginal (94th) — but it has
the single best warning record in the set: 96% of purchases made in its top fifth
were underwater two years later, the highest of any contender. It is a better sell-side alarm
than buy-side ranker. The 200-day moving average is the weakest serious contender
at 219pp and 92nd — it does not survive the harder null at all.
Funding rate topped the raw table at 508pp and is disqualified for use
today, not for bad history — it had full data across the scored window — but
because the venue it measures has since gone quiet. It is an open defect on the register. A metric
can rank the past perfectly and be measuring nothing now.
How much weight this can carry. A 2-year
forward window across 6.6 years of scored days is about 3.3 non-overlapping periods,
not the 2,415 rows the day counts suggest. The ordering among the cost-basis metrics is noise; the
gap between the cost-basis family and active addresses or mempool size —
which finished negative and failed their own shuffle — is not. Treat this as
which family to watch, never as a calibrated forecast.
9d · The weekly rule, exactly as posed — and there is no magic number
The sharpest version of the question: $100 a week. Look at one number. Below it you buy,
above it the money waits. Everything you buy you hold four years or more. What is the number?
That is a mechanical rule, so it can simply be run — every threshold from 10 to 100, on
522 contribution weeks, with each purchase marked at its own four-year outcome so
no single end date can decide the answer.
Every threshold loses. The best is 90 — which fires in 499 of
522 weeks, i.e. it is buying always wearing a costume — and it wins by
0.6%. A gate at 40 costs 42.8% of the final result.
⚠️ And it is worse than losing to DCA:
gating at 30, 40 or 50 finishes at the 0th percentile against choosing the same number of weeks
completely at random. Picking buy-weeks by coin-flip beat picking them by value, on 300
shuffles, at every threshold tested. Whatever the value gate is selecting, it is selecting worse
than nothing.
gate at 25gate at 40gate at 50
This is the real answer. At a three-year hold the gate suddenly wins
— a threshold of 15 beats weekly DCA by +134%. Move the hold one year
either side and the same rule loses 25–43%. A rule whose sign flips when you change
an arbitrary parameter by one notch is not an edge; it is one or two lucky cycles.
Your own reasoning, confirmed by the numbers. Weeks at value
60–80 returned a median 15.3× over four years
— more than the cheapest weeks did. Those are early-bull weeks, and four years
later you are in the following cycle. The gate’s job is to refuse exactly them.
The answer to “what is the number”
is: there isn’t one, and the reason is the one you gave. Over a horizon long enough
that entry price stops mattering, the expensive weeks are not the ones that hurt you — they
are disproportionately the ones that run. A gate that filters them out is not buying the dip; it is
declining the expansion, and four years is long enough that it never gets the chance to
make that back.
So the rule that survives is the boring one, and it is now measured five
different ways: buy the $100 every week and don’t look at the number to decide
whether. Look at it to decide how much extra, if you happen to have extra.
What would change this. The 522 weeks end in
2022 — the four-year hold requires it, so this cannot see the compressed modern cycle at full
horizon. It is roughly 2.5 independent cycles. If amplitude keeps collapsing (§3), entry price
matters less, not more, which pushes the same way. The finding that would overturn this is
a cycle where the expensive band stops leading — worth re-running, not worth waiting for.
9e · The minimum panel — three indicators, three different jobs
The point of all of the above is to end up watching fewer things. So: which two or
three, and what is each one actually for? The obvious answer — take the top
three from the ranking — is wrong, and measurably so.
≥0.90 — the same signal0.70–0.90 — overlapping<0.70 — genuinely different
Most of the leaderboard was one indicator wearing different hats.
NUPL and price-vs-realised are 1.00 correlated with MVRV. And
drawdown-from-ATH, which nearly won the whole ranking, is 0.97 — the
“price-only line that ties MVRV” ties it because it is the same measurement
arrived at from the other side.
BUY — worst 2y outcome in its cheap fifthSELL — share of its rich fifth left underwater
Puell has the worst buy floor of the serious contenders
(−13%) and the best sell record (96%). MVRV is the reverse. Scoring an
indicator with one number hides this completely.
Combining helps one end and hurts the other, consistently. Averaging
MVRV with Puell takes the sell reliability from 93% to 98% — and drops the
buy floor from +132% to +37%. Adding the 200-week SMA reaches 100%.
Why that asymmetry is real and not an
artifact: a bottom needs one thing to be extreme, a top needs everything to agree. Any
single measure at a genuine low is enough to mark a bottom, so averaging dilutes it —
one metric at the extreme gets pulled back toward the middle by the others. A top is the opposite:
it is precisely the moment when independent families all read high at once, so confluence
is the signal. That is why every combination here improved the sell side and degraded the
buy side.
Which gives the panel a shape: one clean number to buy with, and
agreement to sell with.
1 · THE PICTURE — MVRV
Where the average holder sits versus their cost. One number, no dilution.
Below 1.0 the average coin is underwater; above ~3 it is a supply overhang. If you keep exactly
one thing, keep this. Drawdown from the ATH is a free stand-in at 0.97 correlation —
useful precisely because it needs no data feed at all.
2 · THE BUY — MVRV in its
bottom fifth
Worst two-year outcome in that zone was +132%, median
+429%. Do not average it with anything for this job — every
combination tested lowered the floor. This sizes a deployment; it does not gate a
contribution (§9d).
3 · THE SELL — Puell, and it
only counts when the others agree
Puell alone marks danger best of any single metric: 96% of
purchases in its top fifth were underwater two years later, median −51%.
Require MVRV and the 200-week SMA to be elevated with it and that reaches
100% in this sample. It is miner economics — issuance revenue against its own
trend — which is why it carries information the cost-basis family does not.
⚠️ 100% of a small number of episodes is still a small number of episodes:
roughly 3 independent periods. Treat it as “raise your guard,” never
“certainty.”
The honourable mention, and the one to watch.Coin-days destroyed correlates 0.27 with everything here — the only
genuinely orthogonal series in the set. It is weak on both jobs alone, so it does not earn a panel
seat, but it is the only candidate that can tell you something the other two structurally cannot.
If the on-chain signal keeps decaying (§4), an independent series is where a replacement would
have to come from.
10 · What this engine is, honestly
On the 49.6% of days its rules fire, the
engine is right 52.0% of the time against a six-way partition — where a 200-day
moving average solving the same problem gets 32.1%. That +19.9pp
is the rent payment, and it is the best number the engine owns.
Correction — 2026-08-20.
The figure above stands as measured, and it survives every robustness test we have since put it
through: drop any single cycle and it holds between +14 and +31pp;
move the ground-truth boundary across every defensible setting and it holds between
+11 and +23pp. Unlike the engine’s overall accuracy edge —
which collapses to +0.3pp when one cycle is dropped and changes sign on the
ground-truth boundary alone — this one is real.
But it is a full-history average of a quantity that has gone
negative. Measured cycle by cycle, the same number reads
+41.0 → +54.6 → +17.8 →
+0.4 → −14.5pp. In the current cycle, on the days its
own rules fire, the engine is worse than a 200-day moving average — 54.1% against
68.6%. The decay this document traces for timing (§4) has reached classification too.
The section above rests the engine’s remaining value on this number; that framing no longer
holds, and this page said to watch for exactly this — a decaying instrument producing
confident output after the thing it measured moved on.
Stated limits: the current-cycle block is
159 rule-firing days and a partial cycle; and the 200-day average’s 68.6% is an
unusually strong showing, so part of that −14.5pp is a trending stretch flattering a trend rule
rather than the engine degrading. Re-measured at engine HEAD, not at the 39fa5bb pin above,
so the point estimates are not directly comparable — the trajectory is the finding, not the
decimals.
On days no rule fires it holds the last regime and scores 39.7% — statistically identical to
price structure's 39.2%. Persistence is a fair prior, not a clever one. On the 7.8% where it
declares ignorance after a shock, it publishes a price-structure label beside the blank, because
filling forward with a regime the data just broke scores 12.8% while price structure scores 25.7%.
It is a classifier and a context instrument, not a
timing tool, and it is not used as one. Nothing is armed, nothing feeds position sizing,
and it is in a shadow window to ~2026-10-08. Its edge over a 200-day moving average at naming the
regime is +8.1pp; its edge at making money is, on the last two cycles, indistinguishable from
chance.
10.5 · Auditing someone else’s floor model
Added 2026-08-20. Measured against floor.bitview.space, which publishes a
bitcoin “floor” envelope assembled from four on-chain components. We reverse-engineered
it from its published Rust, rebuilt its inputs from our own data, and put it through the same rent
check we apply to ourselves. It is the most useful outside model we have examined, and it is not
quite what it says it is.
Rarity reproduced0.15%median error, 4,245 days
Coinflow0days it has ever set the line
Touch → 30d+8.3%vs +2.8% unconditional
Touch → 90d+10.9%a 200wma gets +24.0%
We reproduced its Rarity component almost exactly.
Median absolute error 0.15%, and every one of 4,245 days lands
within 5%, on every band. Substituting our own realized-price series for theirs returns identical
numbers. Their point-in-time claim also survives inspection of the source: today’s reading
cannot enter its own threshold.
One of the four components has never once mattered
Coinflow is the most elaborate machinery in the system — hazard integrals, a
duration-weighted regression on log-hazard, a fitted decaying tail, mobility as
1 − e−E. In 4,245 days it has set the published line
zero times. Full Rarity sets it on 80.3% of days, Raw Bedrock on
11.2%, Cointime on 8.5%. The envelope is largely one component
wearing four names.
The rent check: a 30-day exhaustion signal, not a cycle floor
Scoring forward returns after a touch — spot within 2% of the line — the
envelope returns +8.3% over 30 days against +2.8% for every day
unconditionally. Against nulls: a 200-week average returns +6.7%, the same average rate-matched to
the envelope’s touch count +5.3%, and a −68%-off-the-1-year-high rule +1.2%.
The 30-day result is real, and it is the most robust
thing this desk has measured. It sits at the 100th percentile of 2,000
randomly-timed draws with the same touch count, beats every null including the rate-matched moving
average, survives removal of its worst episode (+7.4%), and all twelve episodes beat the
unconditional case independently — spread across 2015, 2018, 2020, 2021, 2022 and
2026. Compare the one regime strategy on this page that also reached the 100th percentile and then
died to a single dropped episode. This does not do that.
And it fails at exactly the horizons a floor would
need. At 90 days a 200-week moving average beats it — +24.0% against +10.9%,
or +18.9% rate-matched — and the envelope sits at the 73rd percentile of random timing. At
365 days it reaches only the 93.6th. ⇒ It does the short-horizon job better than a moving average,
and it does not do the job the site is searching for.
It fired in this cycle, and the composition changed underneath it
On 2026-06-30 spot printed $58,525 against an envelope of $58,879 — a
touch. Thirty days later bitcoin was at $64,719, +10.6%, ahead of the
model’s own median. That is one observation and proves nothing by itself; it is recorded
because live behaviour is the single test a model cannot be fitted to after the fact.
More interesting is what draws the line now. Across the full history Rarity sets it on 73.5% of
days. For the last 120 consecutive days it has been Cointime — a component
that historically sets it 9% of the time. Full Rarity currently reads 45,728 against an
envelope of 61,034, twenty-five percent below. The published line is being drawn by a
different instrument than the one that drew it for a decade, and nothing on the page says so.
⛔ Do not trade the 30-day result on this evidence.
234 days, 12 episodes, one asset, one era, and a 2% touch rule we chose ourselves. It is a candidate
for a walk-forward, not an edge. Our roster still holds zero validated alpha edges and this does not
change that.
Two priors we got wrong, and one trap
Both structural priors we brought to this were refuted by measurement. We expected the envelope
to sit pinned a few percent under spot — a lagging copy of price. Its distance below spot runs
p10 5.7%, median 32.7%, p90 47.1%. We also expected the compressed weighted
lenses to win the maximum almost always; the real split is above.
The trap is worth naming because we nearly walked into it. Log envelope and log spot correlate
0.9933, which reads as proof the envelope merely tracks price. It is evidence of nothing:
any two series climbing three orders of magnitude correlate about 0.99 in logs. The informative
statistic was the spread, and the spread said the opposite.
11 · Is on-chain analysis dead?
No. But it has been demoted, and the demotion is specific enough to
name: it has stopped being an instrument that tells you when, and it is still the best
instrument we have for telling you who, where, and how bad. Everything on
this page is the argument for that sentence.
Everything this document actually put a number on. Four survived a rent check against
the cheapest thing solving the same problem. Five did not.
The case that it is dying
It is stronger than I expected when I started. The engine’s edge over random timing fell
from the 99th percentile in 2013–2017 to the 18th in the
current cycle. The share of days its rules can say anything at all fell from 71% to 33%. Cycle
amplitude collapsed from 16× to 2×, and thresholds calibrated on
6.86-MVRV tops are being asked to fire on 2.29-MVRV tops.
And then the finding that genuinely lands: MVRV correlates 0.97 with drawdown from the
all-time high. The flagship on-chain valuation metric now carries very nearly the same
information as one line drawn on a price chart. That is what “less predictive” looks
like from the inside — not wrong answers, but answers you could have gotten for free.
There is a mechanism, and it points the same way. Spot ETFs, custodians and treasury companies
hold coins that never move on-chain. Every share traded inside a fund is a transaction the
chain cannot see. An on-chain engine measures a shrinking fraction of the real market, and nothing
about that trend looks like it reverses.
The case that it is not
Four things survived, and they are not consolation prizes.
It bounds the downside. In the modern era the worst two-year outcome
from buying in MVRV’s cheapest fifth was +132%. That is not a prediction and
it will not tell you what happens next quarter. It is a statement about the shape of the
distribution you are stepping into, and there is no price-chart equivalent of it.
It marks danger by agreement. Puell in its top fifth left 96% of
purchases underwater two years later; require MVRV and the 200-week average to agree and that
reaches 100% in this sample. Not a sell trigger — a reason to stop adding, check your sizing,
and stop believing the story you have been telling yourself.
And the one that nothing else can do at all: it tells you WHO. Price tells you
that something happened. On-chain is the only dataset that can say whether it was long-term holders
distributing, short-term holders panicking, miners capitulating, or coins simply moving between
custodians. That is a diagnostic capability, and it is the irreducible one. When someone
asserts “long-term holders are capitulating,” LTH-SOPR either shows it or it does not,
and the assertion dies or survives on data rather than on narrative.
So what is it actually for, now
It is a risk instrument and a story-killer,
not a timing instrument. The reframing that makes it useful again: stop asking it
“what should I do?” and start asking it “what is actually
true right now, and what does that rule out?”
Three questions it answers well, every one of which is a question about the
present: Where in the distribution am I standing? (value percentile — today,
18.1). Is anyone under real stress, and who? (SOPR by cohort, supply in profit).
Is this move broad or is it one group? (LTH vs STH, coin-days destroyed). None of
those is a forecast. All of them change how much you size and how much you believe.
My honest opinion, stated as opinion
The most valuable thing this exercise produced was not the engine. It was the
five refutations. Every plausible way to turn this data into a trading rule failed,
and each one failed against a null I had to build specifically to catch it — because the first
bar I chose flattered the engine into looking like it was passing while it was quietly losing to a
200-day moving average. The single most expensive lesson on this page is that
the bar you choose decides whether you are able to see failure at all.
I would put it this way: on-chain analysis is not dead, but the era in which it was a
source of alpha is probably over, and it ended for the most ordinary reason — it
worked, it got published, it got crowded, and the market it measures moved somewhere it cannot
see. What is left is an edge in understanding rather than an edge in timing. That is
worth less money and considerably more clarity, and the honest move is to use it for the second
thing and stop pretending about the first.
The failure mode to guard against now is not that the data lies. It is that a decaying
instrument keeps producing confident output long after it stopped being informative — the
numbers still print, the states still fire, the charts still look authoritative. That is why the
decay in §4 matters more than any single reading in this document, and why the right posture
is to keep measuring the instrument, not just with it.
What would change my mind, in either direction.
If a cycle arrives where the expensive band stops leading and the cheap band stops paying, the
remaining four capabilities collapse too and this becomes archaeology. If ETF and custody flows get
fused with the chain data — which is a build, not a wish — the blind spot closes and the
instrument gets its market back. Those are the two branches, and only one of them is something we
can act on.
Cycle peaks and troughs are derived mechanically — an all-time high followed by a
≥50% drawdown, at least 500 days apart — never hand-placed. The right edge is provisional: the
2026-06-30 low is the minimum so far, so recent labels are conditional on it holding.
Walk-forward results are out-of-sample in DATA but not in DESIGN — the rule shapes were chosen with
sight of every cycle shown. Reproducible end to end from the engine’s audit tooling.
12 · Auditing a third-party count — and what a two-bar error costs
A subscriber scheme (ParabolicMatt / ALTvsBTC.com) tiles bitcoin into a repeating three-phase
count — Bull 1, Bull 2, Bear 3 — at fixed weekly-bar lengths from a 2022 anchor. We reproduce it
bar for bar on the Market Snapshot, and
reproducing something faithfully turns out to be a measurable discipline rather than a courtesy.
Our first reproduction was two weekly bars out of phase — and it was invisible
from the inside, because our boxes and our price were consistent with each other. It only showed
against the source. We had anchored on the week of the lowest daily close; the source
anchors on the FTX capitulation bar, the week beginning 2022-11-07.
anchor
boundaries landing on a local low
2022-11-21 (our first attempt)
0 of 6 — every one mid-range
2022-11-14
3 of 6
2022-11-07(the source’s)
6 of 6, 0–5 days off
Confirmed three ways: the box edge sits on that candle in the source
screenshot; fitting our daily series against its weekly candles puts 93.6% of 1,364 points inside
their bars, and only at a ~13-day shift; and the test that needs no image at all — the table above.
What the count actually shows, once it is drawn correctly
The day-split is not a count of up days. Literal up-day share is 47–56% in
every phase against a 50.2% baseline — a Bull−Bear gap of 2.3pp that 8% of randomly shifted
anchors beat. What separates the labels is where the high sits: 63–97% of the way through
a Bull, 23–26% through a Bear.
A phase can return +49.5% and still be shaped like a bear. Bear 3 of 2024 made
its high a quarter of the way in and spent the remaining 77% below it. One number says up; the
shape says otherwise. That is why both are printed.
The bull-to-bear turn is the blurry one. Its nearest high sits ~46 days from
the boundary against 1–3 days at the other two transitions, and it lands on either side — the bull
ran 51 days long in 2024, the bear started 42 days early in 2025.
The count turns bull-to-bear at bottoms, not tops. Both such boundaries sit at
a 45-day low. A bear declared at a local bottom is the opposite of what the label implies,
and it is why the 2024 bear rose.
⛔ And the honest limit. Five of six boundaries sit within 5 days of
their own 9-week low, which only 1 of 46 shifted anchors matches — but the anchor was chosen knowing
this price history, so that is a fitted parameter, not evidence the count sees forward.
Bitcoin also rose 405% across the window, so five of six phases ended positive and “the phases
mean something” cannot be separated from “everything went up”. Six complete phases,
two of each. Only out-of-sample time can settle it.