Perpetuals API

Funding-rate arbitrage: the widest funding gap per coin between two venues

Per coin, the two futures venues with the widest funding-rate gap: long and short leg with rate and open interest, the gap per interval and annualised. Keyed by ticker.

GET/api/external/perps/derivatives-funding-spreads

What it returns

For every coin listed on at least two perpetual-futures venues, the pair of venues whose funding rates are furthest apart: the long leg (lowest funding) and the short leg (highest), each with its rate and open interest, the gap per funding interval, and that gap annualised. Ordered by aprPercent descending. No chain and no token subject in the request; symbol is a derivatives ticker (e.g. "BTC"), never a token mint or contract address. Every rate and spread is a percentage. The APR assumes the gap holds for a year and ignores fees and price moves. The top of the ranking is often thin: minOpenInterestUsd keeps only pairs whose two legs both carry at least that much open interest. A large priceSpreadPercent usually means the two legs are not the same contract.

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-spreads"
Parameters
ParameterDescription
limit

query · integer · optional

How many coins to return, from the top. Defaults to 20; at most 100.
minOpenInterestUsd

query · number · optional

Keep only pairs whose long AND short legs each carry at least this much open interest, USD (a leg with no figure fails). Applied before limit. Omit for every pair.

Response fields

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

Response fields of Funding-rate arbitrage: the widest funding gap per coin between two venues
FieldTypeDescription
spreadsobject[]One row per coin, by aprPercent descending (rows without one last).
spreads[].symbolstringThe derivatives ticker, e.g. "BTC". Not a token mint or contract address.
spreads[].longobjectThe venue to go long on: the lowest funding rate.
spreads[].long.venuestringThe derivatives venue of the long leg, e.g. "Binance".
spreads[].long.fundingRatePercentnumber | nullThe long venue's current funding rate, percent per funding interval.
spreads[].long.openInterestUsdnumber | nullOpen interest in this coin on the long venue, USD. Check it before trusting the spread: a thin leg cannot absorb a position.
spreads[].shortobjectThe venue to go short on: the highest funding rate.
spreads[].short.venuestringThe derivatives venue of the short leg, e.g. "Binance".
spreads[].short.fundingRatePercentnumber | nullThe short venue's current funding rate, percent per funding interval.
spreads[].short.openInterestUsdnumber | nullOpen interest in this coin on the short venue, USD. Check it before trusting the spread: a thin leg cannot absorb a position.
spreads[].fundingIntervalHoursnumber | nullHow often both legs settle funding, hours (1, 4 or 8). null unless both legs state the same interval.
spreads[].fundingSpreadPercentnumber | nullShort rate minus long rate, percent per funding interval: what one interval collects on a hedged long/short pair of equal size.
spreads[].aprPercentnumber | nullfundingSpreadPercent × (24 / fundingIntervalHours) × 365, percent, not compounded. Assumes the gap holds; excludes fees and price moves.
spreads[].priceSpreadPercentnumber | null(long price − short price) / long price × 100. Near 0 for the same contract on two venues; a large magnitude usually means the legs are different instruments.
spreads[].nextFundingAtinteger | nullWhen the next funding settles, Unix seconds.

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