Perpetuals API

Large limit orders (walls) in one derivatives instrument's book on one exchange

The large limit orders resting in one perpetual or future on one of five major exchanges, and those that filled or were pulled in the last 7 days. Keyed by instrument id and exchange.

GET/api/external/perps/derivatives-large-orders/{symbol}

What it returns

The large limit orders (order-book walls) in one perpetual or future's book on one exchange: those resting now, highest price first, and those that left the book in the last seven days, newest first, each marked filled (it traded some or all) or pulled (cancelled untraded). Only orders above a size floor that depends on the coin are tracked — about 1M in the quote currency for BTC, about 50k for smaller coins such as SOL. Quantities are in units of the coin, coin-margined instruments included; prices and values are in the instrument's quote currency, named in quote (USD on a coin-margined one). A resting order that an opposite order updated later crosses (a bid at or above an ask) had already gone and is left out; staleOmitted counts those. symbol is the venue's instrument id — take venue and instrument from a derivatives-coin-venues row. An instrument with no large order answers empty lists; an id the exchange does not list 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-large-orders/<symbol>?venue=Binance"
Parameters
ParameterDescription
venue

query · string · required

The exchange, spelled exactly as listed (case-sensitive), as derivatives-coin-venues names it.BinanceBitgetBybitGateOKX
limit

query · integer · optional

How many of the orders that left the book most recently to return, 1 to 200. Defaults to 50. Does not limit the resting orders.
symbol

path · string · required

The venue's own instrument id, as instrument in derivatives-coin-venues rows: e.g. "BTCUSDT" (Binance, Bybit), "BTC-USDT-SWAP" (OKX), "BTC_USDT" (Gate), "BTCUSDT_UMCBL" (Bitget) — not a bare coin ticker such as "BTC", and not a token mint or contract address. The exact spelling is matched first; otherwise the one listed id that differs only in case.

Response fields

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

Response fields of Large limit orders (walls) in one derivatives instrument's book on one exchange
FieldTypeDescription
instrumentstringThe instrument id as the exchange lists it, e.g. "BTCUSDT" for "btcusdt".
venuestringThe exchange.
symbolstringThe coin (base asset) ticker, as the exchange lists it.
quotestringThe currency every price and value is in, e.g. "USDT" or "USD".
restingobject[]The large orders resting now, highest price first.
resting[].idstringAn id for the order, stable across reads.
resting[].sidestringbid: an order to buy; ask: an order to sell.
resting[].pricenumberThe limit price, in quote.
resting[].openedAtnumber | nullWhen the order was first seen in the book, unix seconds. null when not stated.
resting[].updatedAtnumberWhen the order was last updated, unix seconds. An order that has not changed keeps an old time.
resting[].endedAtnumber | nullWhen the order left the book, unix seconds. null while it rests.
resting[].initialQuantitynumber | nullThe quantity when first seen, in units of the coin. null when not stated.
resting[].initialValuenumber | nullinitialQuantity times price, in quote. null when not stated.
resting[].quantitynumber | nullThe quantity at the last update, in units of the coin. It can exceed initialQuantity when the order grew. null when not stated.
resting[].valuenumber | nullquantity times price, in quote. null when not stated.
resting[].filledQuantitynumber | nullHow much of it traded, in units of the coin. null when not stated.
resting[].filledValuenumber | nullThe traded part times price, in quote. null when not stated.
resting[].tradesnumber | nullHow many trades filled part of it. null when not stated.
resting[].statusstringresting: still in the book; filled: left the book having traded some or all of it; pulled: left without trading.
staleOmittedintegerResting orders left out because an opposite order updated later crossed their price, so they had already gone.
endedobject[]The large orders that left the book in the last seven days, newest first, at most limit.
ended[].idstringAn id for the order, stable across reads.
ended[].sidestringbid: an order to buy; ask: an order to sell.
ended[].pricenumberThe limit price, in quote.
ended[].openedAtnumber | nullWhen the order was first seen in the book, unix seconds. null when not stated.
ended[].updatedAtnumberWhen the order was last updated, unix seconds. An order that has not changed keeps an old time.
ended[].endedAtnumber | nullWhen the order left the book, unix seconds. null while it rests.
ended[].initialQuantitynumber | nullThe quantity when first seen, in units of the coin. null when not stated.
ended[].initialValuenumber | nullinitialQuantity times price, in quote. null when not stated.
ended[].quantitynumber | nullThe quantity at the last update, in units of the coin. It can exceed initialQuantity when the order grew. null when not stated.
ended[].valuenumber | nullquantity times price, in quote. null when not stated.
ended[].filledQuantitynumber | nullHow much of it traded, in units of the coin. null when not stated.
ended[].filledValuenumber | nullThe traded part times price, in quote. null when not stated.
ended[].tradesnumber | nullHow many trades filled part of it. null when not stated.
ended[].statusstringresting: still in the book; filled: left the book having traded some or all of it; pulled: left without trading.

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