SOPR

SOPR

Spent Output Profit Ratio. Above 1 = coins moved at profit, below 1 = at loss. Key sentiment indicator.

Current Value

1.0029

As of

2026-10-16

Z-Score

—

Signal

Yellow

Loading chart…

Methodology

Open, reproducible — computed from our own archive node

Definition

Spent Output Profit Ratio — the aggregate profit multiple of coins moved on-chain on a given day. A reading of 1.0 means the average spent coin moved exactly at its cost basis (break-even).

Formula

SOPR = Σ realized_value_usd(spent) / Σ cost_basis_usd(spent)

How we compute it

For every output spent on the day, we know its cost basis (the USD value of the coin when it was created, from the UTXO record) and its realized value (USD value at the moment it was spent). SOPR is the ratio of the summed realized value to the summed cost basis across all of that day's spends — computed directly from our node's spent-output set, not estimated.

Provenance · Every on-chain metric traces back to our own self-hosted Bitcoin archive node — no third-party data vendor sits in the path. We extract the full UTXO lifecycle (each output's creation height/time, value, and the height/time it was later spent), join it against an independent USD price oracle, and roll it up into daily aggregates. The metric formulas are pure functions over those aggregates (src/pipeline/formulas.py), so any value on this page can be reproduced from the published daily archive.

Interpretation

Above 1 = coins are, on aggregate, moving at a profit; below 1 = at a loss. In bull markets SOPR tends to hold above 1 (the 1.0 line acts as support); in bear markets it caps below 1 (1.0 acts as resistance).

> 1.05Net profit-taking
0.95 – 1.05Around break-even (decision zone)
< 0.95Net loss realization

Caveats & limitations

  • ·SOPR is dominated by large transfers (whales, exchange shuffles); a few large outputs can swing the daily value. Use the median or winsorized variants for a noise-robust read.
  • ·Exchange-internal and consolidation transactions are not filtered out in raw SOPR — see Adjusted SOPR (aSOPR) for a cleaner signal.

References

Renato Shirakashi / Willy Woo, "SOPR" (2019) · Glassnode Academy

Data points: 5,903 rows, 2010-08-18 to 2026-10-16Open in Lab →

Current SOPR reading

As of 2026-10-16, Bitcoin’s SOPR is 1.003, compared with 0.992 one year earlier (2025-10-16). The series has 5,903 daily readings from 2010-08-18 to 2026-10-16, computed from our own full-archive Bitcoin node and refreshed every day.

Historical extremes

The highest SOPR on record is 3.298 on 2010-08-18; the lowest is 0.649 on 2011-11-16. Readings near either end of that range have historically coincided with cycle turning points — use the chart above to see where today sits relative to past extremes.

Read it with

  • Adjusted SOPR — SOPR computed only over spends of coins held at least 1 day, removing same-day change and relay churn.
  • SOPR Z-Score — SOPR standardized against its historical distribution.
  • SOPR Percentile — Where current SOPR sits relative to its full history (0–1).
  • SOPR Momentum — Rate of change in SOPR.
  • SOPR Oscillator — Mean-reverting SOPR oscillator.

Data & method

Source: computed from raw UTXO data on OnChainLab’s own Bitcoin node — no third-party data vendor. Category: SOPR. Last updated 2026-10-16. The full series is free to download as JSON or as part of the full daily CSV, and the published dataset is cryptographically committed — you can verify it yourself. Browse all metrics.