Market

On-Chain Indicator

Returns on-chain indicator time-series for BTC or ETH.

Available metrics: nupl, sopr, mvrv, puell-multiple, nvm, nvt, nvt-golden-cross, exchange-flows (inflow/outflow/netflow/reserve).

Long ranges: each response is capped at about 100 data points. When meta.has_more=true, split from/to into smaller windows (about 90 days for daily data) and merge by timestamp client-side. For exchange-flow metrics, all_exchange, spot_exchange, and derivative_exchange are aggregate filters, not sums over the curated individual exchange list.

get/gateway/v1/market/onchain-indicator

Request

  • Base URL
    https://api.asksurf.ai
  • Auth
    HTTP bearer

Query parameters

symbol'BTC' | 'ETH' required

Token ticker symbol. Can be BTC or ETH.

Example:BTC
metric'nupl' | 'sopr' | 'mvrv' | 'puell-multiple' | 'nvm' | 'nvt' | 'nvt-golden-cross' | 'exchange-flows/inflow' | 'exchange-flows/outflow' | 'exchange-flows/netflow' | 'exchange-flows/reserve' required

On-chain metric name. Can be nupl, sopr, mvrv, puell-multiple, nvm, nvt, nvt-golden-cross, or exchange-flows/{inflow,outflow,netflow,reserve}.

Example:nupl
granularity'day'

Aggregation granularity.

Example:day
fromstring

Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD). Defaults to 90 days ago when omitted. Maximum range is 365 days. Responses are capped at about 100 data points; when meta.has_more is true, split from/to into smaller windows (about 90 days for daily data).

Example:2026-01-01
tostring

End of time range. Accepts Unix seconds or date string (YYYY-MM-DD). Defaults to today when omitted. Maximum range is 365 days. Responses are capped at about 100 data points; when meta.has_more is true, split from/to into smaller windows (about 90 days for daily data).

Example:2026-03-01
exchange'all_exchange' | 'spot_exchange' | 'derivative_exchange' | 'coinbase_prime' | 'binance' | 'coinbase_advanced' | 'okx' | 'kraken' | 'bybit' | 'bitstamp' | 'gemini' | 'bitget' | 'kucoin' | 'bitfinex' | 'gate_io' | 'deribit' | 'mexc' | 'htx_global' | 'bitflyer' | 'coinone' | 'bithumb' | 'upbit' | 'hashkey_exchange'

Curated exchange filter for exchange-flow metrics. Use /v1/market/exchange-flow/exchanges to list labels.

Example:all_exchange

Response

OK

$schemastring uri

A URL to the JSON Schema for this object.

Example response

{
  "$schema": "https://example.com/schemas/DataResponseMarketMetricPoint.json"
}

Changes

No recorded changes to this operation across all 12 revisions of this API.