Bitcoin Realized Profit

Total profit (in USD) from coins that were moved when their price was lower at their last movement compared to their current movement

How to call

Request format

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

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.

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.

1 metrics
Metric

Realized Profitrealized_profit

Data used by the Realized Profit chart.

Resolutions: 1d, 12h, 4h, 1h, 30m, 10m.

Endpoint
https://newhedge.io/api/v2/metrics/realized-profit/realized_profit?api_token=YOUR_TOKEN

Replace `YOUR_TOKEN` with your API token.

Sample response
200 Successful response
[
  [
    1792972800000,
    636825112.79
  ],
  [
    1793059200000,
    346353461.93
  ],
  [
    1793145600000,
    473175998.69
  ]
]
Definition

Value: Realized profit in US dollars: the trailing 24-hour sum of profit locked in by outputs spent above their cost basis, taken at the day's final block. A suffix of _lth or _sth selects the holder cohort and no suffix is all holders. Long-term holders (LTH) hold outputs at least 150 days old and short-term holders (STH) hold outputs younger than 150 days. UTXO-based, not entity-adjusted.

Units: usd

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

Revision policy: append_only. A stored day is not rewritten by the regular daily update. From 2026-10-09 the short-term series comes from the same data source as the long-term and total series, so they are additive: short-term plus long-term equals the total, and short-term profit minus short-term loss equals short-term net. Earlier short-term values can differ.

Universe: Bitcoin on-chain, UTXO-based.

Methodology version: 2026-10-09