₿ Risk Indicator: Percent STH Supply in Profit
Glassnode-style risk bands — share of short-term holder supply ( <155 days) in profit (0–1) · trailing 1000-day mean & ±0.5σ / ±1σ bands · black/white line = BTC price (log, right axis)
Loading data…
Drag = pan · shift+drag = box-zoom · scroll = zoom X · Y-axis drag/scroll = zoom Y · dblclick = reset
Methodology — reading the Risk Indicator
Percent STH Supply in Profit is the share (0–1) of coins held by short-term holders (<155 days) whose cost basis is below the current BTC price — i.e. how much of the “hot” supply is sitting on unrealised gains. It is the classic Glassnode on-chain risk gauge: when it pushes toward 1.0, almost every new buyer is in profit and distribution risk is high; when it collapses toward 0.0, the short-term cohort has capitulated.

How the series is built here (Glassnode proxy)

The live Glassnode metric requires the full UTXO age distribution. This site reconstructs it as a price-proxy: for each day t, profitt = #{ j ∈ [t-155, t-1] : pricet > pricej } / 155. In words, what fraction of the last 155 closes was cheaper than today’s close. If today’s price exceeds almost every close in the last five months, nearly all STH coins are in profit (→ 1); if it’s below them, almost none are (→ 0). The result is extremely spiky and mean-reverting, matching the published Glassnode trace to a high degree for directional moves (the absolute level can differ by a few points vs UTXO-weighted truth).

Bands (Neutral / Heated / Over-Heated / Cooled)

Bands are a slow moving reference frame so the spiky red line can be judged in context. For each day t, look back at the prior 1000 days of the profit series (min 200 observations before any band is drawn; strictly prior — today never in its own benchmark).
  • Neutral (blue) = rolling mean μ
  • Heated (yellow) = μ + 0.5·σ   • Over Heated (red) = μ + 1·σ   • Cooled (teal) = μ − 0.5·σ
σ is the population standard deviation over the same window. All bands are clamped to [0,1] for display. Because the window is ~2.7 years, the bands move very slowly (flat in 2024-26 at ~0.55/0.66/0.84/0.31 in the reference image) and re-centre only gradually after prolonged high- or low-profit regimes.

Interpretation

  • Sustained prints above Over Heated (+1σ) (≈0.85-0.92) — STH euphoria; historically coincided with cycle tops and “risk-off” zones in Glassnode’s framework (late 2024, Sep-Oct 2025 in the image).
  • Pressing Heated (+0.5σ) — elevated risk, distribution underway but not extreme.
  • Hovering around Neutral (~0.53-0.60 recently) — balanced.
  • Down to Cooled (−0.5σ) — the weak hands have largely sold at a loss; past capitulation bottoms (Jun-Dec 2022, Aug-Sep 2024, Feb-Mar & Jun 2026 in the image) printed at or below this line.
The BTC price (white/right axis, log) is shown only for context — the indicator leads price at turns, it doesn’t predict it mechanically.

Data & caveats

Price history is bitcoin-data.com (daily closes) with a live Binance fill for today. Profit and bands are recomputed daily by sth-supply-in-profit-update.py from the local price cache .db_btc-price.json. This is a proxy, not Glassnode’s UTXO-native series: exact levels will differ by a few percent from Glassnode, venue-to-venue, or CryptoQuant/CheckOnChain variants. Use it as a risk framework, not a tick-level signal. Not investment advice.