Bitcoin Hashprice Index

Expected miner revenue on a per petahash basis

How to call

Request format

GET
curl -X GET "https://newhedge.io/api/v2/metrics/hashprice/METRIC_NAME?api_token=YOUR_TOKEN"
Query params

api_token (required) — 24 character token.

resolution (optional) — 1d only for the metrics on this chart. A finer value is refused, never served as 1d: 401 when the token is not entitled to finer buckets, 400 when it is entitled and the metric does not ingest that bucket; 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.

Path params

:metric_name — one of the metric names listed below.

Responses

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.

2 metrics
Metric

Hashprice (sats/PH/DAY)hashprice_btc

Data used by the Bitcoin Hashprice Index chart.

Resolutions: 1d only.

Endpoint
https://newhedge.io/api/v2/metrics/hashprice/hashprice_btc?api_token=YOUR_TOKEN

Replace `YOUR_TOKEN` with your API token.

Sample response
200 Successful response
[
  [
    1792972800000,
    44939.76033389314
  ],
  [
    1793059200000,
    44930.32898207828
  ],
  [
    1793145600000,
    44961.4494957799
  ]
]
Definition (from the chart description)

Value: Hashprice (sats/PH/DAY) — Bitcoin Hashprice Index: Expected miner revenue on a per petahash basis.

Units: sats

Timestamp: Labelled 00:00 UTC of the day it describes.

Calendar: calendar_daily

Metric

Hashprice (USD/PH/DAY)hashprice_usd

Data used by the Bitcoin Hashprice Index chart.

Resolutions: 1d only.

Endpoint
https://newhedge.io/api/v2/metrics/hashprice/hashprice_usd?api_token=YOUR_TOKEN

Replace `YOUR_TOKEN` with your API token.

Sample response
200 Successful response
[
  [
    1792972800000,
    35.95015897791026
  ],
  [
    1793059200000,
    36.27679704349188
  ],
  [
    1793145600000,
    36.54401870529717
  ]
]
Definition (from the chart description)

Value: Hashprice (USD/PH/DAY) — Bitcoin Hashprice Index: Expected miner revenue on a per petahash basis.

Units: usd

Timestamp: Labelled 00:00 UTC of the day it describes.

Calendar: calendar_daily