Perpetuals API

One coin's funding rate across all venues, as candles over time

A coin's perp funding rate averaged across venues by open interest or volume, as 1m to 1w candles, percent per 8 hours, so every candle and coin compares directly.

GET/api/external/perps/derivatives-funding-history/{symbol}

What it returns

One coin's perpetual funding rate over time: every venue's rate averaged into one, weighted by each venue's open interest (default) or by its volume, as open/high/low/close candles, oldest first. Rates are percent per 8 hours whatever the venues settle on, so candles compare directly with each other and across coins; positive means longs pay shorts. With open-interest weighting the newest candle is normally the one in progress (complete: false, its close the latest rate); volume weighting answers finished candles only. symbol is the coin ticker (e.g. "BTC"), matched case-insensitively — not an instrument id, not a token mint or contract address, and not scoped to any of this API's chains. An unknown ticker answers 404. With venue and instrument (both or neither) the answer is that one market's own funding rate instead, in the same shape and the same unit (restated per 8 hours from the market's own settlement interval), with venue and instrument echoed; weighting has no effect there. A dated contract pays no funding and answers 404; so does a market whose funding settlement interval is not stated, since its rate cannot be given per 8 hours.

Chains

This endpoint is not tied to a chain: it takes no chain in its request.

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/perps/derivatives-funding-history/<symbol>"
Parameters
ParameterDescription
interval

query · string · optional

Candle width. Defaults to one day.1m3m5m15m30m1h4h6h8h12h1d1w
limit

query · integer · optional

How many of the most recent candles to return, 1 to 1000. Defaults to 100. Fewer come back when the coin's history is shorter or a candle carries no figures. limit ≤ 300 keeps the answer under 32 KB.
weighting

query · string · optional

How the venues' rates are averaged: by each venue's open interest (default) or by its trading volume. No effect with venue and instrument, which name one market.open_interestvolume
venue

query · string · optional

Together with instrument: the exchange whose funding rate to answer instead of the total across venues, as derivatives-coin-venues names it (e.g. "Binance", "OKX", "Bybit", "Hyperliquid"), matched ignoring case.
instrument

query · string · optional

Together with venue: the exchange's own instrument id, as instrument in derivatives-coin-venues rows (e.g. "BTCUSDT" on Binance, "BTC-USDT-SWAP" on OKX, "BTC-USD" on Hyperliquid). It must trade the coin in the path.
symbol

path · string · required

The coin (base asset) ticker, e.g. "BTC" or "kPEPE" — not a venue instrument id such as "BTCUSDT", and not a token mint or contract address. Case-insensitive.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of One coin's funding rate across all venues, as candles over time
FieldTypeDescription
symbolstringThe coin, spelled as it is listed (e.g. "BTC", "kPEPE").
venuestringOnly with venue and instrument: the exchange, as it names itself. Absent from the answer across venues.
instrumentstringOnly with venue and instrument: the exchange's instrument id, as it lists it.
intervalstringThe candle width.
weightingstringHow the venues' rates were averaged.
candlesobject[]Oldest first.
candles[].atnumberThe bucket's open, unix seconds.
candles[].opennumber | nullWeighted funding rate at the bucket open, percent per 8 hours. null when not stated.
candles[].highnumber | nullHighest weighted funding rate in the bucket, percent per 8 hours. null when not stated.
candles[].lownumber | nullLowest weighted funding rate in the bucket, percent per 8 hours. null when not stated.
candles[].closenumber | nullWeighted funding rate at the bucket close — the latest rate while the bucket is in progress. Percent per 8 hours; positive: longs pay shorts. null when not stated.
candles[].completebooleanWhether the figures are final. false only on the newest candle, which was still in progress when its figures were read.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key