Epoch SOPR Comparison
24h SOPR overlaid for each halving era - five lines comparing realized profit-loss patterns across cycles. SOPR = 1 marks the break-even line; eras above 1 are net realising profit, eras below 1 are net realising losses.
What is it?
This metric computes SOPR (Spent Output Profit Ratio) restricted to the cohort of UTXOs mined during each halving era. SOPR measures the ratio between spend value and acquisition value (cost basis). For each era, we observe the 24h window of coins from that cohort that were spent on a given day. The SOPR = 1 line marks aggregate break-even: above, this era's holders are on average selling at a profit; below, they are realising losses.
How to read
The Y axis shows the 24h SOPR ratio. The SOPR = 1 line separates profit (above) and loss (below). Five distinct colors represent the five eras. A cohort touching 1 from above indicates a local capitulation (this era's holders accepting to sell at break-even). A cohort dropping sharply below 1 (toward 0.95 or less) indicates a deep capitulation of that specific generation.
Key zones
Crossing SOPR = 1 from below (transition from capitulation to profit) historically marks the start of recovery phases. Dispersion between the five eras indicates heterogeneous behavior: older eras remain well above 1 (low cost basis) while recent eras oscillate around 1. A convergence toward SOPR ≈ 1 across all eras marks macro transition zones.
What to observe
Track the active era's cohort: its dips below SOPR = 1 mark local capitulations typical of cycle lows. Conversely, SOPR > 1.05 spikes on the active era indicate excessive profit-taking (often end of bull market). Divergences between older eras (remaining stable) and the active era (plunging) characterise phases where new entrants panic while multi-cycle holders hold firm.
Historical context
The original SOPR (Renato Shirakashi, 2019) analyses all spent outputs. Decomposition by halving era allows isolating the realisation profile of each UTXO generation, revealing behaviors masked by the aggregate. The native 24h resolution is sufficient to capture daily transitions; a 7-day smoothing is applied frontend-side to dampen noise on low-volume days.
Expert notes
The per-era SOPRs exposed here are deterministic per-cohort aggregates from the Bitcoin full node (spent UTXOs filtered by issuance block height). The B11 SOP §1.2 exception (native cohorts) applies: each era exposes a non-ambiguous ratio, and Trinity's TAE chain step 6 RECOMPUTE_C catches any drift. Audit tolerance for these series: 1.5%. A 30-day rolling mean is applied pipeline-side to dampen daily spikes (notably Era 50 BTC genesis cohort whose rare spends produce strong statistical noise). **Why Era 3.125 BTC appears flat near 1 over the full timeframe**: it is the active post-halving 2024 cohort (UTXOs minted since April 2024). Its coins were acquired at prices very close to current BTC price, so the realized/acquisition ratio naturally oscillates around 1 (break-even). On the multi-cycle log Y axis spanning 7 orders of magnitude (from 0.5 to 10M+ for genesis Era 50 BTC), Era 3.125 BTC's micro-variations 0.95-1.05 appear visually crushed into a flat line. To observe its institutional oscillations, use the dataZoom slider at the bottom of the chart to zoom on the 2024+ period only - the break-even zone then becomes readable with its profit/loss realization peaks for the recent generation.
Common mistakes to avoid
SOPR does not measure total realised USD profit but an aggregate ratio. Do not sum the five eras' SOPRs: they are independent per-cohort ratios, not additive. An older cohort holding at SOPR ≈ 2 does not mean its holders are selling heavily - it simply indicates that those who sell are realising an average 2× profit on their cost basis. The spend volume of that cohort can remain very low.
Programmatic access
REST API
curl -sS \
'https://api.trinityinsights.io/api/v1/onchain/epoch-sopr-comparison/history?days=90' \
-H 'X-API-Key: $TRINITY_API_KEY'MCP server
{
"tool": "get_chart_value",
"metric_id": "epoch-sopr-comparison",
"timeframe": "1y"
}Required tier: pro. See the pricing grid for the tier list and the MCP documentation for multi-client configuration.
Related metrics
Institutional disclaimer
Trinity Insights is an educational and analytical tool. The metric above does not constitute investment advice. Trinity Insights is not a Crypto-Asset Service Provider (CASP) registered under MiCA Regulation (EU) 2023/1114. See the full disclaimer.