btclyzer Bitcoin data analytics

SOPR — Bitcoin's Spent Output Profit Ratio

By btclyzer · Updated May 30, 2026 · 8 min read

While MVRV measures the unrealized profit sitting in every coin, SOPR measures the realized profit on the coins that actually move each day. For every spent coin it asks: was it sold above or below the price it was last bought at? Above 1 = the market is taking profit; below 1 = selling at a loss; exactly 1 = break-even. The magic number is 1 — in bull markets price bounces off it as support, in bear markets it's rejected at it as resistance. Cohort versions (LTH-SOPR, STH-SOPR) and the adjusted aSOPR carry the cleanest signal.

What SOPR actually computes

Every time a coin moves on-chain, the blockchain knows two prices: the price when it was last moved (its cost basis) and the price now (when it's being spent). SOPR is simply the ratio of the two, summed across every coin spent that day.

SOPR = (value of spent coins at the price sold) ÷ (value of the same coins at the price last acquired)

So SOPR is a market-wide answer to one question: are the people moving Bitcoin today doing it in profit or at a loss? SOPR = 1.05 means the average spent coin is changing hands at a 5% gain; SOPR = 0.95 means a 5% loss. The metric was introduced by Renato Shirakashi in 2019 and has become a staple of on-chain analysis.

The 1 line is everything

The absolute level of SOPR matters far less than how it behaves around 1 — the break-even line. This is where on-chain behaviour and market psychology meet:

Behaviour around 1What it reflectsRead
Bouncing off 1 from aboveIn an uptrend, holders refuse to sell at a loss; dips to break-even get boughtSupport — bullish continuation
Rejected at 1 from belowIn a downtrend, holders finally get back to break-even and sell into the rallyResistance — bearish continuation
Resetting to ~1 inside a bullA brief flush of loss-taking that exhausts sellersLocal-bottom tell
Sustained well below 1Broad capitulation — coins moving deep in the redCycle-bottom zone (painful in the moment)

The cleanest historical use: in a healthy bull market, SOPR repeatedly tests 1 and rebounds — each test is the market re-confirming that holders won't realise losses. The moment SOPR breaks and stays below 1, that floor has given way, and the regime has likely changed. Sustained sub-1 readings accompanied the 2018 grind, the March 2020 COVID crash and the 2022 deleveraging — all, in hindsight, near cycle lows.

The variants that carry the real signal

Raw daily SOPR is noisy. Three refinements make it tradeable context:

One sentence to remember: MVRV tells you how much profit is sitting in the network; SOPR tells you whether that profit is being taken right now — and at 1, whether holders are willing to sell at a loss at all.

SOPR vs MVRV vs NUPL

These three are a family built on the same cost-basis foundation, answering different questions:

MVRV and NUPL describe the stock of profit; SOPR describes the flow. Together they tell you both how loaded the spring is and whether it's being released.

Where it fits in btclyzer

btclyzer's engine doesn't compute SOPR directly — its on-chain inputs are mempool-based (fees, congestion, hashrate) and it surfaces the CBBI cycle composite. SOPR is best read on dedicated on-chain platforms (Glassnode, Coinmetrics, CryptoQuant). Use it as a behavioural cross-check on the directional read you get from btclyzer's multi-factor rating: when the rating and SOPR's interaction with the 1 line agree, the read is stronger.

Limitations

Early access · limited spots

Become a tester — get PRO free for life

btclyzer is pre-launch. The first testers who try it and send honest feedback keep PRO for life — no card, no catch.

Read the market without the spreadsheet

btclyzer fuses technical indicators, sentiment and on-chain context into one live BUY / SELL / HODL rating across 1H / 4H / 1D / 1W / 1M — with the CBBI cycle index alongside. Free, no signup, no wallet connection.

Open the dashboard →

FAQ

What is SOPR in Bitcoin?
SOPR stands for Spent Output Profit Ratio. For the coins that move on-chain on a given day, it is the price at which they are sold divided by the price at which they were last acquired, aggregated. Above 1 means coins are moving in profit on average; below 1 means at a loss; exactly 1 is break-even. It shows, in real time, whether the market is realising gains or losses.
Why does the SOPR = 1 level matter?
1 is break-even, and it acts as a behavioural pivot. In bull markets SOPR bounces off 1 from above — holders refuse to sell at a loss, so dips to break-even find support. In bear markets it's rejected at 1 from below — rallies stall where holders finally get back to break-even and sell. How SOPR interacts with 1 is more informative than its absolute value.
What are aSOPR, LTH-SOPR and STH-SOPR?
aSOPR (adjusted SOPR) removes outputs younger than one hour to filter noise. LTH-SOPR and STH-SOPR split the metric by holder age — long-term holders (coins older than ~155 days) and short-term holders. LTH-SOPR spikes flag old-coin distribution near tops; deep STH-SOPR readings below 1 flag fresh-money capitulation near bottoms. The cohort versions carry more signal than the raw aggregate.
Is SOPR below 1 bullish or bearish?
It depends on context. A brief dip to or just below 1 within an uptrend has marked local buying opportunities — sellers capitulating at break-even. But sustained, deep sub-1 readings characterise full capitulation phases (2018, the March 2020 crash, 2022), which in hindsight clustered around cycle lows. SOPR is a context tool, not a standalone signal.
What are the limitations of SOPR?
Raw daily SOPR is noisy and best read smoothed or via the adjusted and cohort versions. It only sees on-chain movements, so purely off-chain or exchange-internal trades are invisible. And like all on-chain metrics it describes behaviour, not cause — context for price action, not a forecast.