Perpetuals API

Liquidation heatmap for one coin: modelled liquidations by price, over time

A liquidation heatmap: US dollars of a coin's leveraged positions modelled to liquidate at each price, over time, summed across major exchanges or for one exchange. Keyed by coin ticker.

GET/api/external/perps/derivatives-liquidation-heatmap/{symbol}

What it returns

A liquidation heatmap: where one coin's leveraged derivatives positions were modelled to be force-liquidated, by price level and over time. prices is the price axis (lowest first), candles the time axis (oldest first, with the price candle of each step), and each cell [candleIndex, priceIndex, usd] is the US dollars of positions modelled to liquidate at that price at that time; only non-zero cells are listed. By default the map is summed across the major centralized venues; venue (with an optional instrument, else the venue's main USD-margined perpetual) narrows it to one venue, Hyperliquid included, always in US dollars. range sets the window and with it the candle spacing: 5 minutes up to 24h, 15 minutes at 3d, 30 at 7d, 2 hours at 30d, 6 at 90d, 12 at 180d, a day at 1y (the wide model: 1 minute at 12h, 5 up to 3d, 30 at 7d, 1 hour at 30d, 4 at 90d, 8 at 180d and 1y). model picks one of two liquidation models, standard by default. Large maps keep only their largest cells: cellCount says how many there were and capped whether some were dropped. The cells are a model, not a record of real liquidations. A coin or instrument that is not mapped 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-liquidation-heatmap/<symbol>"
Parameters
ParameterDescription
range

query · string · optional

The window: 12h, 24h, 3d, 7d, 30d, 90d, 180d or 1y. A longer one spaces its candles wider. Defaults to 24h.12h24h3d7d30d90d180d1y
model

query · string · optional

The liquidation model. standard (the default) maps a narrow band around the price. wide is a second model over a band about four times wider on about three times as many levels; its dollars are a separate, much smaller estimate (about 3-5% of the standard total), so compare levels within one model, never across the two. With venue, wide maps only Binance, OKX, Bybit, Bitget.standardwide
venue

query · string · optional

One venue to map, spelled as listed. Omit it for the map summed across venues.BinanceOKXBybitGateBitgetDeribitMEXCBingXKrakenHTXAsterHyperliquid
instrument

query · string · optional

The venue's instrument id, e.g. "BTCUSDT", "BTC-USDT-SWAP" or "BTC-USD" on Hyperliquid; case-insensitive. Only with venue; omitted, the venue's main USD-margined perpetual for the coin.
symbol

path · string · required

The coin (base asset) ticker, e.g. "BTC" or "SOL" — not a venue instrument id such as "BTCUSDT" (that goes in instrument), 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 Liquidation heatmap for one coin: modelled liquidations by price, over time
FieldTypeDescription
symbolstringThe coin ticker, upper-cased.
venuestring | nullThe venue mapped; null for the map summed across venues.
instrumentstring | nullThe venue's instrument id mapped, upper-cased; null for the map summed across venues.
rangestringThe window asked for.
modelstringThe liquidation model asked for: standard or wide.
intervalnumber | nullSeconds between candles; null with fewer than two.
updatedAtnumber | nullWhen the model was last recomputed, unix seconds; null when not stated (180d and 1y).
pricesnumber[]The price axis, lowest first. A cell's priceIndex points into it.
candlesobject[]The time axis, oldest first, with the coin's price candle at each step. A cell's candleIndex points into it.
candles[].atnumberThe candle's open, unix seconds.
candles[].opennumberOpening price.
candles[].highnumberHighest price.
candles[].lownumberLowest price.
candles[].closenumberClosing price.
cellsnumber[][][candleIndex, priceIndex, usd]: US dollars of positions modelled to liquidate at prices[priceIndex] during candles[candleIndex]. Non-zero cells only, by candle then price.
cellCountnumberNon-zero cells in the whole map, before any were dropped.
cappedbooleantrue when the map had more cells than one response carries and only the largest are listed.
maxUsdnumber | nullThe largest cell in the map, US dollars — the top of the colour scale; null when the map has no cell.

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