Bitcoin Difficulty Ribbon
8-window simple moving average ribbon of Bitcoin's network difficulty.
The Difficulty Ribbon: 9/14/25/40/60/90/128/200-day SMAs of network difficulty. Compression of the ribbon has historically preceded major price bottoms.
Request format
curl -X GET "https://newhedge.io/api/v2/metrics/difficulty-ribbon/METRIC_NAME?api_token=YOUR_TOKEN"
api_token (required) — 24 character token.
resolution (optional) — 1d (default), 12h, 4h, 1h, 30m, 10m, coarsest to finest. Finer buckets are served to Advanced and Enterprise accounts, and only for the metrics that ingest them (listed per metric below); see Resolutions.
before (optional) — exclusive cursor, returns observations older than this timestamp_ms. Works on every resolution.
limit (optional) — the most recent N observations, maximum 5000. Finer resolutions page by default (2500); a 1d request returns the whole series unless you send limit or before.
before and limit narrow a time series. A response with no single time axis, such as a hash keyed by venue or a labelled snapshot table, has nothing to cut on. It is returned whole, and both parameters are ignored rather than rejected.
A before that is not a positive epoch-millisecond timestamp is a 400. It is the one paging value we reject rather than ignore, because a page size has a sensible default and a cursor does not.
include (optional) — definition wraps the response as {"definition": …, "data": …} and returns the record shown under each metric; see Definitions. Any other value is a 400.
:metric_name — one of the metric names listed below.
200 with JSON payload, 400 for an unknown include value, 401 for missing/invalid token, 404 for missing resources. A 404 for a metric withdrawn on purpose adds withdrawn, withdrawn_on and reason, for example {"error":"Metric not found","withdrawn":true,"withdrawn_on":"2026-09-07","reason":"The venue's public feed reports insurance-fund settlements, not liquidation orders."}; a removed chart can add successor.
Plan and quota refusals keep these statuses and error texts and add code, required_plan, current_plan, feature, upgrade_url, limit and resets_at where they apply. A Pro token whose history window removed points also gets the X-Newhedge-History-Truncated headers, and for a Pro token X-Newhedge-Available-From is the start of the window. See Errors and plan limits.
Metrics
Each metric is fetched independently. Responses are trimmed samples to show structure.
Network Difficultynetwork_difficulty
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
140577680051919
],
[
1792627200000,
140577680051919
],
[
1792713600000,
140577680051919
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
9-Day SMAnetwork_difficulty_sma_9
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_9?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
137957120818189.7
],
[
1792627200000,
138830640562766.1
],
[
1792713600000,
139704160307342.6
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
14-Day SMAnetwork_difficulty_sma_14
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_14?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
136085292794097.3
],
[
1792627200000,
136646841201325.0
],
[
1792713600000,
137208389608552.7
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
25-Day SMAnetwork_difficulty_sma_25
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_25?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
134612662062717.6
],
[
1792627200000,
134925486326814.8
],
[
1792713600000,
135238310590912.1
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
40-Day SMAnetwork_difficulty_sma_40
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_40?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
132988216679368.4
],
[
1792627200000,
133316388937770.3
],
[
1792713600000,
133644561196172.2
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
60-Day SMAnetwork_difficulty_sma_60
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_60?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
130786269838320
],
[
1792627200000,
131032446563398.7
],
[
1792713600000,
131278623288477.4
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
90-Day SMAnetwork_difficulty_sma_90
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_90?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
129486506953775.0
],
[
1792627200000,
129635475616251.5
],
[
1792713600000,
129794877537696.5
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
128-Day SMAnetwork_difficulty_sma_128
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_128?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
129339387555105.5
],
[
1792627200000,
129461612664835
],
[
1792713600000,
129583837774564.4
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily
200-Day SMAnetwork_difficulty_sma_200
Data used by the Bitcoin Difficulty Ribbon chart.
Resolutions: 1d, 12h, 4h, 1h, 30m.
https://newhedge.io/api/v2/metrics/difficulty-ribbon/network_difficulty_sma_200?api_token=YOUR_TOKEN
Replace `YOUR_TOKEN` with your API token.
[
[
1792540800000,
131818091527588.2
],
[
1792627200000,
131826145567491.7
],
[
1792713600000,
131834199607395.2
]
]
Units: difficulty
Timestamp (1d): Labelled 00:00 UTC of the day it describes.
Timestamp (finer resolutions): A finer resolution is labelled in UTC at the end of the interval it covers, not at its start. Add include=definition to a request and the definition describes the bucket that request was served.
Calendar: calendar_daily