Quick answer

SOPR measures whether coins moving on-chain right now are, on average, being sold at a profit or a loss. A reading above 1.0 means sellers are realizing gains; below 1.0 means realizing losses. SOPR Z-Score smooths and normalizes that raw signal against its own long-term baseline, making it far more usable than the raw ratio.

What Is SOPR?

Spent Output Profit Ratio looks at every Bitcoin transaction that moves coins on-chain and asks a simple question of each one: was this coin sold for more, or less, than it was worth when it was last acquired? Aggregated across all transactions in a given period, that gives a real-time — not survey-based, not estimated — picture of whether the market, in aggregate, is currently realizing profits or losses.

It's a genuinely different kind of signal from valuation metrics like MVRV or NUPL, which describe unrealized profit and loss sitting in wallets. SOPR describes realized profit and loss — the moment someone actually decided to sell.

The Formula

For any spent coin, its individual profit ratio is:

Output Value at Time of Sale ÷ Output Value at Time of Acquisition

SOPR aggregates this ratio across all coins spent in a given window. A value above 1.0 means those coins were sold above their acquisition price (profit); below 1.0 means they were sold below it (loss). Exactly 1.0 means the market is realizing neither net profit nor net loss — coins are moving hands at roughly breakeven.

Why 1.0 Is the Key Level

The single most-watched behaviour in raw SOPR is how it interacts with the 1.0 line. During bull markets, SOPR has historically tended to bounce off 1.0 from above — holders are reluctant to sell at a loss, so 1.0 acts as a soft floor, and each touch has often marked a local buying opportunity. During bear markets, that relationship frequently flips: SOPR struggles to sustain a move above 1.0, as any return to breakeven triggers a wave of "get me out at even" selling from underwater holders, capping rallies from below.

This bull-market-support / bear-market-resistance flip around the 1.0 line is one of the more well-documented behavioural patterns in on-chain analysis, because it reflects a very human, very consistent psychological anchor: people are disproportionately eager to sell the moment they're no longer at a loss.

Why SOPR Z-Score Exists

Raw SOPR is noisy day-to-day and its "normal" range has shifted as Bitcoin's market has matured, which makes a single raw reading hard to interpret in isolation. SOPR Z-Score addresses this the same way MVRV Z-Score improves on a raw MVRV ratio: it smooths the underlying SOPR data (a weighted moving average) and then measures how many standard deviations today's smoothed value sits from its own long-term baseline.

The result is a version of SOPR that's comparable across different market eras and far less prone to single-day noise — which is why our indicator page tracks the Z-Score version rather than the raw daily ratio.

Reading the Zones

SOPR Z-Score Zone Historical Interpretation
Below −2.0 Deep Value Extreme loss-realization relative to baseline — rare, often near major bear-market lows
−2.0 to −0.66 Undervalued Below-baseline profit-taking, often during market stress
−0.66 to 1.02 Fair Price Close to long-term baseline, no extreme in either direction
1.02 to 2.5 Elevated Above-baseline profit-taking, consistent with stronger market conditions
Above 2.5 High Risk Unusually large profit-taking — can indicate overheated cycle conditions
SOPR Z-Score chart with BTC price overlaid, spanning 2020 to 2023, colored by zone — red in high-risk profit-taking territory, orange/yellow in the normal range, green during extreme loss-realization.
SOPR Z-Score (with BTC price overlaid) through the 2021 top and 2022 bear market. Snapshot — see the live, interactive chart on the SOPR Z-Score indicator page.
Reading the snapshot above: SOPR Z-Score spent much of 2021 in Elevated-to-High Risk territory as holders sold into rising prices. It fell into Deep Value territory during the mid-to-late 2022 bear market, when the network was realizing losses at an extreme rate relative to its own baseline.

See today's live SOPR Z-Score reading on our SOPR Z-Score indicator page.

Limitations

It reflects realized behaviour, not intent. SOPR tells you what already happened on-chain, not what holders are planning to do next. It's a real-time snapshot, not a forecast.

Exchange and custodial activity can add noise. Large movements between wallets controlled by the same entity (exchange rebalancing, custody transfers) can occasionally distort the picture, though smoothing in the Z-Score version reduces this considerably.

It's a market-wide average. Like most on-chain ratios, SOPR describes the aggregate, not any single holder cohort — for more granular detail, indicators that split long-term and short-term holders (like STH-MVRV and LTH-MVRV) offer a different angle.

How to Use It

SOPR Z-Score is a genuinely useful real-time complement to the slower-moving, aggregate indicators like NUPL and MVRV — where those describe how much unrealized profit or loss is sitting in the network, SOPR tells you whether people are actually acting on it right now. Extreme readings in either direction, especially when they agree with what MVRV or NUPL are already suggesting, add real confidence to a signal that any one indicator alone wouldn't provide.

It's also one of the 21 inputs to our Cycle Compass composite score.

For a broader tour of the other major indicators worth knowing, see our guide to 10 On-Chain Bitcoin Indicators Every Investor Should Know.

See today's SOPR Z-Score reading Live value, current zone, and full historical chart — updated daily.
View SOPR Z-Score →
← Back to Blog