# SOPR

Also known as: spent output profit ratio.
A Breadth, Sentiment & External Data concept (Crypto-native) in the LuxAlgo Library.

## What is SOPR?

SOPR (Spent Output Profit Ratio) is an on-chain Bitcoin metric introduced by Renato Shirakashi in 2019. Every coin that moves on-chain carries two prices: the price when its output was created and the price when it was spent. SOPR divides the combined fiat value of all outputs moved that day, priced at the moment they were spent, by the same outputs' value priced at the moment they were created. A reading above 1 means the coins that moved changed hands above their acquisition price, realizing profit in aggregate; below 1 means realized loss; exactly 1 is break-even. The interpretation assumes on-chain movement is a reasonable proxy for selling, which is approximate.

The 1.0 line is the behavioral anchor. In bull regimes, dips to 1.0 have tended to hold, read as holders refusing to sell at break-even or a loss; in bear regimes, rallies to 1.0 have tended to reject, read as trapped buyers exiting flat. Common refinements filter out very young outputs (adjusted SOPR, commonly excluding outputs under an hour old) or split the metric into short-term and long-term holder cohorts. Like [MVRV](https://www.luxalgo.com/library/concept/mvrv/), it measures aggregate profit-and-loss behavior, not order-book flow, and its signals are regime-dependent rather than mechanical.

The variants are where the resolution lives. Adjusted SOPR strips outputs younger than about an hour, removing the change outputs and relay hops that pad the raw series with break-even noise; short-term-holder SOPR restricts to coins younger than 155 days, the cohort that actually trades swings, making it the sensitive sentiment gauge of the family; long-term-holder SOPR tracks the old coins whose profit-taking marks cycle-scale distribution. The measurement caveats are constant across all of them: a transfer is not necessarily a sale, internal wallet reshuffles and exchange management moves pollute the numerator, and provider heuristics filter them only partially.

Reading practice keeps the regime first. The 1.0 grammar, support in bull phases and resistance in bear phases, only means something once the phase is known from elsewhere, so SOPR functions as a confirmation and excess gauge inside a stack: smoothed over a week for the working series, momentum-treated in oscillator builds, cross-checked against [flow metrics](https://www.luxalgo.com/library/concept/exchange-and-stablecoin-flows/) that proxy intent where SOPR records outcomes. The honest boundary is the usual on-chain one, a handful of completed cycles behind every historical pattern, so the celebrated resets and rejections are tendencies with small samples, not laws.

## How to identify SOPR readings

Choose the variant, smooth the series, and read the 1.0 line only inside a known regime.

1. Source the series from an on-chain data provider, noting that entity-adjustment heuristics differ across them.
2. Choose the variant: adjusted SOPR as the cleaner default, with short-term and long-term holder cohorts for sentiment and distribution reads respectively.
3. Smooth the daily series, a seven-day average commonly, since raw prints carry transfer noise.
4. Establish the regime from price structure and companion metrics before reading the line.
5. Apply the grammar: resets to 1.0 holding in uptrends, rejections at 1.0 in downtrends, with spikes and flushes flagged as profit-taking and capitulation excess.

## How traders use it

- As a regime read: sustained readings above 1 with shallow resets characterize bull phases where profit-taking is absorbed, while sustained readings below 1 with rejections at the line characterize bear phases.
- As an excess gauge: sharp spikes above 1 flag heavy profit realization that has often preceded local cooling, and deep flushes below 1 mark capitulation-style loss-taking that has clustered near notable lows. Often is not always; both patterns fail.
- As one input in a broader stack: SOPR is usually cross-checked against valuation and flow metrics (see the [on-chain valuation suite](https://www.luxalgo.com/library/concept/on-chain-valuation-suite/)) rather than traded on its own.
- Through cohort splits: short-term-holder SOPR resets toward 1.0 serve as the swing-scale dip gauge, while long-term-holder SOPR surging marks old coins distributing, the cycle-scale companion read.
- In momentum form: smoothed and oscillator treatments of the series, the SOPR-momentum style builds, convert the regime gauge into something with crossings and divergences for faster consumption.

## SOPR vs related on-chain gauges

- **MVRV** (https://www.luxalgo.com/library/concept/mvrv/): MVRV measures unrealized profit, what all holders are sitting on; SOPR measures realized profit, what the coins that actually moved locked in. Paper gains versus booked outcomes: the pair disagreeing, heavy unrealized profit with no realization, is itself a regime read.
- **On-chain Valuation Suite** (https://www.luxalgo.com/library/concept/on-chain-valuation-suite/): The umbrella SOPR belongs to: cost-basis ratios, usage gauges and flow measures consulted together. SOPR contributes the realized-behavior lens, and inherits the suite's discipline of own-history framing and cross-lens corroboration.
- **Exchange & Stablecoin Flows** (https://www.luxalgo.com/library/concept/exchange-and-stablecoin-flows/): Flows proxy intent, coins moving toward or away from venues before anything happens; SOPR records outcomes, the profit or loss actually realized by spent coins. Intent and outcome corroborating each other is the stack's stronger read.

## FAQ

### What does SOPR above 1 mean?

It means the coins that moved on-chain that day were spent at a higher price than they were acquired, so holders realized profit in aggregate. Persistent readings above 1 are typical of uptrends. A single print says little; the useful information is in the trend of the ratio and in how price behaves when SOPR resets to 1.0.

### Is a SOPR reset to 1.0 a buy signal?

Only conditionally. In established uptrends, resets to 1.0 have often marked dip-buying zones because holders resist selling at a loss. The same touch in a downtrend tends to act as resistance instead. The level itself carries no information about which regime you are in, so most users require trend context and separate confirmation before acting on it.

### What is adjusted SOPR?

The raw series with very young outputs removed, conventionally those under about an hour old. Those outputs are dominated by change returning to the spender and coins hopping between addresses in transit, all of which register as break-even spends and drag the ratio toward 1 with noise rather than information. The adjusted version tracks the same behavior with cleaner extremes, and has become the practical default.

### What are STH-SOPR and LTH-SOPR?

Cohort versions split at 155 days of coin age. Short-term-holder SOPR covers young coins, the population that actually trades swings, making it the responsive sentiment gauge whose resets to 1.0 mark dip-buying or its failure. Long-term-holder SOPR covers old coins, whose owners rarely spend, so its surges flag cycle-scale distribution and its capitulations mark bear-market lows. Same construction, two different clocks.

### Does an on-chain transfer really mean a sale?

Not necessarily, and this is SOPR's structural approximation. Wallet consolidations, exchange cold-storage management, custody migrations and self-transfers all move coins without any sale occurring, and each books a fictitious realized profit or loss into the ratio. Provider heuristics filter known entities and the adjusted variant strips the youngest noise, but the residue remains, one more reason the metric is read smoothed, in trend, and corroborated.

### Can SOPR be computed for other blockchains?

Cleanly only where the ledger records per-output cost basis, which is native to Bitcoin's UTXO model. Account-based chains like Ethereum require provider-side models to reconstruct acquisition prices across commingled balances, so their SOPR analogues exist but rest on heavier assumptions. Cross-asset comparisons inherit those modeling differences, and the Bitcoin series remains the reference implementation the reading conventions were built on.

## Related concepts

- Liquidation Clusters: https://www.luxalgo.com/library/concept/liquidation-clusters/
- Open Interest: https://www.luxalgo.com/library/concept/open-interest/
- On-chain Valuation Suite: https://www.luxalgo.com/library/concept/on-chain-valuation-suite/
- Crypto Cycle Models: https://www.luxalgo.com/library/concept/crypto-cycle-models/
- Exchange & Stablecoin Flows: https://www.luxalgo.com/library/concept/exchange-and-stablecoin-flows/
- Power-law Growth Curves: https://www.luxalgo.com/library/concept/power-law-growth-curves/
- Whale-wallet Tracking: https://www.luxalgo.com/library/concept/whale-wallet-tracking/
- Funding Rate: https://www.luxalgo.com/library/concept/funding-rate/
- Futures Basis: https://www.luxalgo.com/library/concept/futures-basis/
- Long/short Account Ratio: https://www.luxalgo.com/library/concept/long-short-account-ratio/

---

Source: https://www.luxalgo.com/library/concept/sopr/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/