Skip to main content
GET
cURL

What it measures

Net change in Bitcoin supply inactive for 1+ year, adjusted for daily block rewards, as a 30-day and 1-year rolling sum in BTC

How to interpret it

30-day. Positive = market absorbing more BTC than being released (bullish). Negative = supply outpacing demand (bearish). Sharp reversals from deep negative territory have historically preceded price rallies. 1-year. Rising = institutional/long-term capital accumulating structurally (bull). Falling even alongside rising prices = bull cycle losing foundation. Both 30D and 1Y negative simultaneously = confirmed bear market.

Key thresholds

30-day. 490K–550K BTC = peak demand cycle tops; 0 = critical demand/supply boundary; Below 0 = contraction; Below –200K BTC = extreme weakness. A 30-day moving average crossover (above/below) indicates bullish/bearish conditions forming. 1-year. Positive and rising = structural bull; Flat/slowing = mid-cycle warning; Negative or below its 365-day moving average = bear market (–857K BTC recorded in April 2026 bear phase)

How to use it

30-day. Necessary condition for sustained ATH rallies. Slowing rate of decline before zero crossing = early reversal signal. Read alongside ETF demand and whale accumulation. 1-year. Compare against 30-day reading to assess momentum direction. 1-year still positive but 30-day negative = bull correction. Both negative = structural bear market confirmed.

Run this metric in CryptoQuant Analytics

Authorizations

Authorization
string
header
default:Bearer <YOUR_API_KEY>
required

For each API request, include the Authorization HTTP header with Bearer <YOUR_API_KEY>.

Query Parameters

window
string
default:day

Time interval for aggregation.

from
string

Starting time, formatted as YYYYMMDDTHHMMSS (UTC). If window=day, YYYYMMDD is also accepted.

to
string

Ending time, formatted as YYYYMMDDTHHMMSS (UTC). If window=day, YYYYMMDD is also accepted.

limit
integer
default:100

Maximum number of data rows to return. Ranges from 1 to 10,000.

Required range: 1 <= x <= 10000

Response

200 - application/json

Monitoring Bitcoin demand

status
object
required

Returned with every response; indicates whether the request was successful.

Example:
result
object
required