SOPR — the spent output profit ratio — measures whether coins moving on-chain are being sold in profit or loss. It distils realized behaviour into a single line whose relationship to 1.0 acts like sentiment support and resistance, making it a practical cycle gauge.
What SOPR measures
Every time a coin moves on-chain, you can compare the price at which it last moved (its cost basis) to the price now. SOPR aggregates this across all spent coins:
- SOPR above 1 — coins are, on average, being moved/sold at a profit.
- SOPR below 1 — coins are being moved/sold at a loss.
- SOPR at 1 — break-even, on average.
It is realized profit-and-loss behaviour, not unrealized — what holders are actually doing when they transact, rather than what they are sitting on.
The 1.0 line as support and resistance
The most useful read is how SOPR behaves around 1.0, which acts as a psychological pivot:
- In an uptrend, SOPR tends to hold above 1 (people sell in profit), and dips toward 1 often bounce — holders refuse to sell at a loss, so 1.0 acts as support. A clean break below 1 that sticks warns the uptrend is weakening.
- In a downtrend, SOPR tends to stay below 1 (forced selling at a loss), and rallies toward 1 often reject — holders who bought higher sell at break-even to escape, so 1.0 acts as resistance. A decisive break above 1 that holds can signal the downtrend is turning.
So the interaction with the 1.0 line, more than the absolute value, carries the signal: defended support in uptrends, capping resistance in downtrends.
Variants worth knowing
SOPR comes in refinements that sharpen it:
- Adjusted SOPR filters out very short-lived moves (coins moved within hours) that are mostly noise rather than genuine selling.
- Short-term vs long-term holder SOPR splits behaviour by cohort. STH-SOPR captures recent buyers' panic and relief; LTH-SOPR captures patient holders' distribution. When long-term holders' SOPR spikes, experienced money is realizing large profits — often a late-cycle tell.
Caveats
The standard on-chain caveats apply. Exchange and custody transfers can register as spent outputs without representing real economic selling, so adjusted variants and entity filtering matter. SOPR is also a behavioural gauge, not a trigger — it describes whether sellers are in profit or loss, not the precise turn. Read it with NUPL, MVRV, and realized price for a coherent on-chain picture.
Takeaway
SOPR measures whether spent coins are sold at a profit (above 1) or loss (below 1), and its behaviour around the 1.0 line is the signal: support in uptrends as holders refuse to sell at a loss, resistance in downtrends as they escape at break-even. Use adjusted and cohort-split variants to cut noise, filter custody transfers, and read it alongside other on-chain valuation gauges as cycle context.