Discovery and markets API
Large limit orders (walls) in one coin's spot book on one exchange
The large limit orders resting in one coin's spot pair on one of six major exchanges, and those that filled or were pulled in the last 7 days. Keyed by coin ticker and exchange.
/api/external/discovery/spot-large-orders/{symbol}What it returns
The large limit orders (order-book walls) in one coin's spot pair 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, 500k for ETH, 50k for smaller coins. Prices and values are in the pair's quote currency, named in quote. 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. Without quote, the exchange's USDT pair is used, else its USD pair, else its USDC pair, else the first of the rest in alphabetical order. A pair with no large order answers empty lists; a coin the exchange lists no pair for, or none in the quote asked, 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/discovery/spot-large-orders/<symbol>?venue=Binance"
| Parameter | Description |
|---|---|
venuequery · string · required | The exchange, spelled exactly as listed (case-sensitive), as spot-coin-venues names it.BinanceBitfinexBybitCoinbaseKrakenOKX |
quotequery · string · optional | The quote currency of the pair, e.g. "USDT" or "USD". Case-insensitive. Optional: without it, USDT, then USD, then USDC. |
limitquery · 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. |
symbolpath · string · required | The coin (base asset) ticker, e.g. "BTC" or "SOL" — not a pair such as "BTCUSDT" or "BTC/USDT", 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 coin ticker as the exchange lists it, e.g. "BTC" for "btc". |
venue | string | The exchange. |
quote | string | The currency every price and value is in, e.g. "USDT" or "USD". |
pair | string | The pair, BASE/QUOTE, as spot-coin-venues prints it. |
resting | object[] | The large orders resting now, highest price first. |
resting[].id | string | An id for the order, stable across reads. |
resting[].side | string | bid: an order to buy; ask: an order to sell. |
resting[].price | number | The limit price, in quote. |
resting[].openedAt | number | null | When the order was first seen in the book, unix seconds. null when not stated. |
resting[].updatedAt | number | When the order was last updated, unix seconds. An order that has not changed keeps an old time. |
resting[].endedAt | number | null | When the order left the book, unix seconds. null while it rests. |
resting[].initialQuantity | number | null | The quantity when first seen, in units of the coin. null when not stated. |
resting[].initialValue | number | null | initialQuantity times price, in quote. null when not stated. |
resting[].quantity | number | null | The quantity at the last update, in units of the coin. It can exceed initialQuantity when the order grew. null when not stated. |
resting[].value | number | null | quantity times price, in quote. null when not stated. |
resting[].filledQuantity | number | null | How much of it traded, in units of the coin. null when not stated. |
resting[].filledValue | number | null | The traded part times price, in quote. null when not stated. |
resting[].trades | number | null | How many trades filled part of it. null when not stated. |
resting[].status | string | resting: still in the book; filled: left the book having traded some or all of it; pulled: left without trading. |
staleOmitted | integer | Resting orders left out because an opposite order updated later crossed their price, so they had already gone. |
ended | object[] | The large orders that left the book in the last seven days, newest first, at most limit. |
ended[].id | string | An id for the order, stable across reads. |
ended[].side | string | bid: an order to buy; ask: an order to sell. |
ended[].price | number | The limit price, in quote. |
ended[].openedAt | number | null | When the order was first seen in the book, unix seconds. null when not stated. |
ended[].updatedAt | number | When the order was last updated, unix seconds. An order that has not changed keeps an old time. |
ended[].endedAt | number | null | When the order left the book, unix seconds. null while it rests. |
ended[].initialQuantity | number | null | The quantity when first seen, in units of the coin. null when not stated. |
ended[].initialValue | number | null | initialQuantity times price, in quote. null when not stated. |
ended[].quantity | number | null | The quantity at the last update, in units of the coin. It can exceed initialQuantity when the order grew. null when not stated. |
ended[].value | number | null | quantity times price, in quote. null when not stated. |
ended[].filledQuantity | number | null | How much of it traded, in units of the coin. null when not stated. |
ended[].filledValue | number | null | The traded part times price, in quote. null when not stated. |
ended[].trades | number | null | How many trades filled part of it. null when not stated. |
ended[].status | string | resting: 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