Skip to content

← On-chain Bitcoin

SOPR Z-Score

Standardized SOPR using rolling Z-score normalization. Statistical extremes above +2 or below -2 identify overbought and oversold conditions with greater precision than raw SOPR thresholds.

Tier proOn-chain Bitcoinvaluationsoprz-scorestatisticalnormalized

What is it?

SOPR Z-Score applies statistical normalisation (expanding Z-score) to the classic SOPR. Rather than interpreting raw SOPR (whose absolute thresholds evolve across cycles), the Z-Score measures how many standard deviations current SOPR is from its historical mean. This allows more reliable cross-cycle comparisons. A Z-Score > +2 means spending profitability is statistically extreme (overbought); a Z-Score < -2 indicates statistically extreme losses (oversold).

How to read

The Z-Score oscillates around 0 (mean). Zones above +2 and below -2 are the primary indicators. Duration spent at extremes is as informative as the level: a Z-Score > +2 for weeks indicates prolonged distribution, not a single spike.

Key zones

Z-Score > +2: statistical overbought - extreme spending profitability, associated with late bull markets. Z-Score 0 to +2: normal moderate profit conditions. Z-Score -1 to 0: mild stress, spending approaching break-even. Z-Score < -2: statistical oversold - spending is massively at a loss, indication of capitulation.

What to observe

Divergences between SOPR Z-Score and price are powerful: if price makes new highs but Z-Score makes lower highs, spending profitability is degrading despite the rally - a warning indication.

Historical context

SOPR Z-Score reached extreme levels (> +3) at the 2013, 2017, and 2021 tops. Troughs below -2 coincided with the 2015, 2018, and 2022 capitulations. Z-Score normalisation makes these readings comparable despite structural market evolution.

Expert notes

The Z-Score uses an expanding window (all data since genesis), not a fixed rolling window. This means ±2σ thresholds become progressively harder to reach over time as standard deviation increases with more data. This is a feature, not a bug - recent extremes are thus relatively more significant.

Common mistakes to avoid

A negative Z-Score does not mean SOPR is negative. SOPR is always > 0 (it is a ratio). A negative Z-Score means SOPR is below its historical mean. Similarly, the Z-Score is not bounded - it can theoretically reach any value.

Programmatic access

REST API

curl -sS \
  'https://api.trinityinsights.io/api/v1/onchain/sopr-z-score/history?days=90' \
  -H 'X-API-Key: $TRINITY_API_KEY'

MCP server

{
  "tool": "get_chart_value",
  "metric_id": "sopr-z-score",
  "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.