SOPR - Realized Profits and Losses
What is SOPR
SOPR (Spent Output Profit Ratio) is the ratio of sale price to purchase price for all coins that were moved (spent) at a given time. It shows in real-time whether market participants are currently selling at a profit or loss.
SOPR = Current price of moved coins (sale price) / Acquisition price of moved coins (purchase price)
More precisely, it's the weighted average of (price at spending / price at creation) for all UTXOs spent during a day.
Calculation Example
If a user moves 1 BTC purchased at $30,000 when the price is $60,000, the SOPR contribution of this transaction is:
SOPR = $60,000 / $30,000 = 2.0
The overall SOPR for the day is the weighted average of all moved UTXOs.
| UTXO | Purchase Price | Sale Price | BTC Amount | Individual SOPR |
|---|---|---|---|---|
| A | $30,000 | $60,000 | 1.0 | 2.0 |
| B | $50,000 | $60,000 | 2.0 | 1.2 |
| C | $70,000 | $60,000 | 0.5 | 0.857 |
Weighted Average SOPR = (2.0x1 + 1.2x2 + 0.857x0.5) / (1 + 2 + 0.5) = approximately 1.38
Key Baseline: SOPR = 1.0
The most important reference point in SOPR interpretation is 1.0.
| SOPR | Meaning | Details |
|---|---|---|
> 1.0 | Profit realization | Moved coins are on average in profit |
= 1.0 | Break-even | Moved coins are on average selling at cost |
< 1.0 | Loss realization | Moved coins are on average being sold at a loss |
SOPR in Bull Markets
1.0 Acts as Support
In bull markets, SOPR tends to stay above 1.0. This is because most participants are trading in profit.
SOPR dropping near 1.0 then bouncing is a strong signal that correction within a bull market is ending and uptrend is resuming. The reasons are:
- As price corrects, some holders sell near break-even
- Once this selling volume is absorbed, fewer sellers remain
- As selling pressure dissipates, price rises again
In a bull market, when SOPR drops to 1.0, this is likely a buying opportunity.
SOPR in Bear Markets
1.0 Acts as Resistance
In bear markets, the situation reverses. SOPR stays below 1.0, and every time it reaches 1.0, exit selling (escape selling) occurs.
SOPR bouncing near 1.0 then falling again signals that the bear market is continuing. The reasons are:
- As price bounces, holders who reach near break-even "escape" by selling
- This selling pressure suppresses the bounce
- Price falls again
In a bear market, when SOPR gets rejected at 1.0, further decline is expected.
aSOPR (Adjusted SOPR)
The Need
Basic SOPR includes meaningless transactions like fee payments and internal exchange transfers. Particularly, UTXOs created and spent within 1 hour are likely intermediate transactions rather than actual buying/selling.
Definition
aSOPR (Adjusted SOPR) excludes UTXOs with lifespans under 1 hour. It reduces noise and provides more meaningful signals.
| Comparison | SOPR | aSOPR |
|---|---|---|
| Scope | All UTXOs | Only UTXOs 1+ hour old |
| Noise | Present | Reduced |
| Practical Use | Reference | Primary analysis tool |
In practice, using aSOPR is recommended.
LTH-SOPR vs STH-SOPR
LTH-SOPR (Long-Term Holders)
This is the SOPR for coins held 155+ days. Long-term holders are considered the market's "smart money," so their profit/loss realization patterns are very useful for identifying cycle turning points.
- LTH-SOPR spike: Long-term holders taking large profits. Cycle peak signal.
- LTH-SOPR
< 1.0: Even long-term holders selling at a loss (capitulation zone). Very strong bottom signal.
STH-SOPR (Short-Term Holders)
This is the SOPR for coins held less than 155 days. It reflects short-term holder sentiment in real-time.
- STH-SOPR
< 1.0persisting: Recent buyers in loss. Bearish sentiment spreading. - STH-SOPR
> 1.0transition: Recent buyers turning profitable. Sentiment improving.
| Scenario | LTH-SOPR | STH-SOPR | Market State |
|---|---|---|---|
| Early Cycle | ~1.0 | > 1.0 | Early bull market |
| Cycle Peak | >> 1.0 | > 1.0 | Overheated. Peak imminent |
| Cycle Decline | > 1.0 (decreasing) | < 1.0 | Entering bear market |
| Cycle Bottom | < 1.0 | << 1.0 | Capitulation. Near bottom |
Combining with Other Indicators
SOPR + MVRV
MVRV shows unrealized profit/loss, while SOPR shows realized profit/loss. Looking at both together provides the complete picture.
- High MVRV + High SOPR: Both unrealized and realized profits are large. Overheated.
- Low MVRV + SOPR
< 1.0: Unrealized loss + realized loss. Capitulation. - High MVRV + SOPR falling: Unrealized profits exist but profit-taking in progress. Caution.
SOPR + Exchange Flows
- SOPR
> 1.0+ Exchange net inflow: Profit-taking selling in progress - SOPR
< 1.0+ Exchange net outflow: Accumulation despite losses
SOPR + Technical Indicators
- aSOPR bouncing at 1.0 + support holding → Strong buy signal
- aSOPR rejected at 1.0 + downtrend line holding → Selling continues
Practical Application Tips
Bull Market Buy Timing
- Price in correction
- aSOPR dropping near 1.0
- Bounce confirmation at 1.0
- Moving average support confirmation
- Entry
Bear Market Exit Assessment
- aSOPR below 1.0 for extended period (months)
- LTH-SOPR enters below 1.0 (capitulation)
- aSOPR breaks and holds above 1.0
- MVRV recovers above 1.0
- Trend reversal confirmed
Limitations and Considerations
UTXO-Based Limitation
SOPR is optimized for Bitcoin's UTXO model. Applying it to account-based blockchains like Ethereum requires different methodology.
Low Volume Periods
During periods of low market activity, a few large transactions can significantly distort SOPR. Observing with a moving average (7-day or 14-day smoothing) is more stable.
Time Lag
SOPR values change only when coins actually move. There may be a lag between market sentiment changes and actual on-chain activity.
Summary
SOPR is the ratio of sale price to purchase price for moved coins, showing whether market participants are selling at a profit or loss. The 1.0 baseline acts as support in bull markets and resistance in bear markets - recognizing this pattern is key. Precision increases with aSOPR and LTH/STH-SOPR, and observing MVRV and exchange flows together enables effective capture of cycle turning points.
Next article: NUPL - Market Sentiment Through Unrealized Profit/Loss