Perpetuals API
One coin's futures markets across venues: funding, open interest, volume
One coin's funding-quoting futures markets (nearly all perpetuals), venue by venue: price, open interest, volume, funding rate and interval, max leverage, tick size, liquidations. Keyed by ticker.
/api/external/perps/derivatives-coin-venues/{symbol}What it returns
Every futures market of one coin that quotes a funding rate — nearly all perpetuals; a dated contract that quotes one is kept — one row per venue market, ordered by 24h volume descending (markets with no volume last). Markets with no funding rate (most dated futures) are left out; a quoted 0 is kept. 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. Funding is each venue's own quote for its own funding interval, and fundingIntervalHours states that interval, so two venues are compared per hour rather than per payment. Each market also carries the venue's maximum leverage and the contract's price tick where the venue publishes them. delistedVenues lists the contracts of the coin a venue listed and does not today, so a venue missing from markets can be told apart from one that never listed it. When the main market feed cannot be read, a backup feed answers with fewer venues: there a quoted 0 is left out (the backup does not tell a zero from no quote), price is null below 100 or when it cannot be confirmed against the index, and pair, the 24h changes of open interest and volume and the liquidations are null. An unknown ticker answers 404.
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-coin-venues/<symbol>"
| Parameter | Description |
|---|---|
symbolpath · string · required | The coin (base asset) ticker, e.g. "BTC" or "1000PEPE" — 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.
| Field | Type | Description |
|---|---|---|
symbol | string | The ticker asked for, upper-cased. |
markets | object[] | Markets that quote a funding rate, by 24h volume descending. Empty when none of the coin's markets does. |
markets[].venue | string | The trading venue, e.g. "Binance". |
markets[].instrument | string | The venue's own instrument id, e.g. "BTCUSDT" or "BTC-PERPETUAL". |
markets[].pair | string | null | Base and quote, e.g. "BTC/USDT". |
markets[].price | number | null | Last price, in the pair's quote currency. |
markets[].indexPrice | number | null | The venue's index price, in the pair's quote currency. |
markets[].priceChangePercent24h | number | null | Price change over the last 24 hours, percent. |
markets[].openInterestUsd | number | null | Open interest on this market, USD. |
markets[].openInterestChangePercent24h | number | null | Open-interest change over the last 24 hours, percent. |
markets[].volumeUsd24h | number | null | Trading volume on this market over the last 24 hours, USD. |
markets[].volumeChangePercent24h | number | null | Change of the 24-hour volume against the previous 24 hours, percent. |
markets[].fundingRatePercent | number | Current funding rate, percent per this venue's own funding interval (hourly on Hyperliquid and Kraken, 8 hours on Binance). |
markets[].longLiquidationsUsd24h | number | null | Long liquidations on this market over the last 24 hours, USD. null where no liquidation data is available for the venue. |
markets[].shortLiquidationsUsd24h | number | null | Short liquidations on this market over the last 24 hours, USD. null where no liquidation data is available for the venue. |
markets[].maxLeverage | number | null | The venue's maximum leverage on this contract, e.g. 150. null where the venue does not publish its terms — half of the venues listed do not, so it is not a property of the contract. |
markets[].fundingIntervalHours | number | null | Hours between funding payments on this contract — 1, 4, 8 or 24 across the market. Divide fundingRatePercent by it to compare venues on the same footing: 0.00125% every hour and 0.005% every 4 hours are the same cost of carry. null where the contract funds not at all or the venue does not publish its terms. |
markets[].priceTickSize | number | null | The contract's minimum price increment, in the pair's quote currency, e.g. 0.1. |
delistedVenues | object[] | null | Contracts of this coin that a venue listed and does not today, ordered by venue then instrument. Empty when no venue has dropped it; null when that document could not be read this time — an empty list never means "unknown". The source states no delisting date, so this says a venue dropped the contract, never when. |
delistedVenues[].venue | string | The trading venue, e.g. "Binance". |
delistedVenues[].instrument | string | The venue's own instrument id, e.g. "EOSUSD_PERP". |
delistedVenues[].pair | string | Base and quote, e.g. "EOS/USD". |
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