A comprehensive framework for using on-chain data — exchange inflows, whale wallets, MVRV, SOPR, and realized price — to identify cycle turns and accumulation zones.
Most traders treat on-chain analysis like a weather report — interesting to read, useless when you need to actually decide whether to bring an umbrella. That changes here. On-chain data is the only category of market intelligence that shows you what holders are actually doing with their coins, not what commentators think they might do. Price is an opinion; the blockchain is a fact.
This guide is built around a single premise: every on-chain metric is only valuable if it tells you how to position. We will not describe metrics for the sake of description. We will extract specific thresholds, confirm conditions, and define entry triggers for each tool in the on-chain toolkit.
The blockchain records every transaction permanently and publicly. On-chain analysis transforms that raw ledger into signals about three fundamental questions traders need answered:
Who is holding? — Distribution of supply across exchanges, long-term holders, short-term holders, and miners tells you where coins are likely to go.
At what cost basis? — Realized price, MVRV, and SOPR reveal the aggregate profit or loss sitting in the market and how much selling pressure exists at current levels.
What are large participants doing? — Exchange flows, whale wallet movements, and miner behavior show the hand of the market's most influential actors before price confirms the move.
Every chapter in this guide operates within this four-part structure:
Without all four elements, you have analysis, not a trade.
Before applying any framework in this guide, establish accounts on the following platforms. Free tiers are sufficient to start; premium unlocks alert functions and historical depth.
| Platform | Strengths | Key Charts for This Guide | |----------|-----------|--------------------------| | Glassnode | Deepest BTC/ETH on-chain data, excellent MVRV/SOPR/NUPL | MVRV Z-Score, SOPR, LTH/STH Supply, Realized Price | | CryptoQuant | Exchange flow data, miner flows, stablecoin ratios | Exchange Netflow, Exchange Reserve, Miner to Exchange Flow | | IntoTheBlock | Holder distribution, IOMAP (In/Out of the Money) | In/Out of the Money Around Price, Concentration | | Santiment | Social volume correlated with on-chain, altcoin coverage | Network Growth, Token Age Consumed | | Coinmetrics | Academic-grade data, realized cap components | Realized Cap, NVT, Adjusted Transaction Volume |
Glassnode and CryptoQuant should be your primary platforms. Set up metric alerts before reading further — the edge in on-chain analysis comes from seeing signals in real time, not reconstructing them in hindsight.
Each chapter covers one metric or metric family. Within each chapter, you will find a Signal Framework table that maps specific readings to specific actions. Read the Signal Framework first, then read the surrounding text for the context that determines how to weight the signal within a full position.
The chapters build on each other. MVRV (Chapter 5) sets macro context. SOPR (Chapter 6) refines timing. Exchange flows (Chapter 3) confirm near-term direction. The final chapter shows how to stack all signals into a single decision system.
Do not skip to individual metrics without understanding the cycle framework in Chapter 8. Signals that look like entries in accumulation can look identical to dead-cat bounces in distribution. Context is not optional.
This guide uses Bitcoin on-chain data as the primary reference because it has the longest history, the deepest data infrastructure, and the most reliable signal behavior. Ethereum metrics are discussed where they add independent signal value. For altcoins, treat BTC on-chain as the macro filter — only initiate aggressive altcoin longs when BTC on-chain conditions are supportive.
Before applying on-chain metrics, you need a functional understanding of what the blockchain actually records and where the signal lives within raw transaction data. Most on-chain indicators are derivatives of three underlying data types: UTXOs (unspent transaction outputs) for Bitcoin, account states for Ethereum, and time-stamped transfer events for both. Knowing the source data prevents misreading derivatives.
Bitcoin's UTXO model is the foundation of most BTC on-chain metrics. Every bitcoin exists as an output of a previous transaction, unspent until sent. When a UTXO is spent, it carries two pieces of information: the price at which it was created (the cost basis of those coins) and the price at which it was spent (the realized price event).
This creates the raw material for SOPR, MVRV, and realized capitalization. Any metric built on "what did these coins cost?" depends on the accuracy of UTXO cost-basis assignment. When coins are mixed or moved through many hops before reaching an exchange, cost basis can blur — this is why Glassnode's entity-adjusted metrics are preferable to raw transaction counts.
Raw blockchain data contains enormous noise: internal exchange transfers, self-sends, change outputs, and wash trades all appear in the transaction feed. Reliable on-chain analysis uses adjusted metrics that filter this noise.
| Raw Metric | Problem | Adjusted Version | Where to Find It | |------------|---------|-----------------|-----------------| | Transaction count | Includes trivial self-sends | Entity-adjusted transfer count | Glassnode, Coinmetrics | | Transaction volume | Inflated by exchange internals | Adjusted on-chain volume | Coinmetrics (aov) | | Active addresses | Multi-output batching inflates count | Entity-adjusted active entities | Glassnode | | Exchange volume | Often double-counted | Net exchange flow | CryptoQuant |
Always use entity-adjusted or transfer-adjusted versions of metrics. Raw counts can produce false signals during periods of high internal exchange activity, particularly around futures expiry dates.
Coin age is the fundamental concept behind the most powerful on-chain metrics. Every UTXO has an age measured in days since it was last moved. When a coin that has sat dormant for two years moves, it carries different signal weight than a coin that moved yesterday. Long-dormant coins moving signals conviction among long-term holders — they are making a deliberate choice to sell or reposition.
The HODL Waves visualization (Glassnode > Bitcoin > Supply > HODL Waves) shows the proportion of supply last moved in each age band. Watching the 1-2 year and 2-3 year bands expand into a rally is one of the clearest distribution signals available.
| Indicator Condition | Market Phase | Positioning Implication | |--------------------|-------------|------------------------| | Active entities rising + price flat | Early accumulation | Begin building long exposure | | Active entities rising + price rising | Bull market confirmation | Hold and add on dips | | Active entities flat + price rising | Momentum-driven move, weak foundation | Tighten stops, reduce size | | Active entities falling + price falling | Bear market contraction | No long exposure, cash or short | | Active entities rising + price falling | Potential bear market bottom | Watch for confirmation signals | | HODL waves 1-2yr band expanding | Long-term holders accumulating | Accumulate alongside | | HODL waves 1-2yr band collapsing | Long-term holders distributing | Reduce or exit longs |
Data source: Glassnode > Bitcoin > Addresses > Active Addresses (Entity-Adjusted) and Glassnode > Bitcoin > Supply > HODL Waves
Structure your daily workflow around a tiered review. Macro context (MVRV, realized price bands) refreshes once weekly. Mid-term context (SOPR, exchange flows, LTH/STH supply) refreshes daily. Short-term triggers (spot exchange inflows, stablecoin inflows, whale alerts) review before any entry.
This separation prevents short-term noise from overriding macro conviction and prevents macro analysis from blinding you to near-term positioning pressures. The frameworks in the following chapters map to each tier.
The full 38-page guide covers everything you just read — and the advanced execution frameworks, checklists, and reference tables that serious operators actually use.