Liquidation summary for one coin
Self-data layer: liquidation summary for one coin
/api/sd/liquidationsRequest
Query parameters
| Name | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| coin | string | Required | — | — | Coin symbol; 400 when missing. Alias: `base`. Example: BTC |
Example request
curl -s "https://www.coinboss.com/api/sd/liquidations?coin=BTC"Response fields
The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.
| Field | Type | Unit | Description |
|---|---|---|---|
| success | boolean | — | true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`. |
| coin | string | — | Coin symbol, upper case (for example BTC). |
| now | number | ms | Server time when the response was built. |
| windows | object | — | Totals for each window (keys such as `1h`, `4h`, `12h`, `24h`). dynamic keys: 1h,4h,12h,24h |
| windows.{*} | object | — | Per-window values. |
| windows.{*}.long_usd | number | USD | Liquidated long positions; null when no source covered the window. |
| windows.{*}.short_usd | number | USD | Liquidated short positions; null when no source covered the window. |
| windows.{*}.total_usd | number | USD | Long + short. |
| windows.{*}.count | number | — | Number of liquidation orders. |
| windows.{*}.long_pct | number | % | Share of longs in the total. |
| windows.{*}.max_order | object | — | Largest single liquidation in the window. |
| windows.{*}.max_order.exchange | string | — | Exchange id, lower case (for example `binance`). |
| windows.{*}.max_order.symbol | string | — | Instrument symbol as normalised by CoinBoss (for example BTCUSDT). |
| windows.{*}.max_order.side | string | — | Side of the liquidated position (`long` = a long was liquidated). |
| windows.{*}.max_order.price | number | — | Last price in the quote currency (USD or USDT unless stated). |
| windows.{*}.max_order.qty | number | — | Order size in contracts or coins as published by the exchange. |
| windows.{*}.max_order.contract_multiplier | number | — | Coins per contract used to convert `qty` to notional. |
| windows.{*}.max_order.value_usd | number | USD | Notional of the liquidation: price × qty × contract multiplier. |
| windows.{*}.max_order.timestamp | number | ms | Timestamp. |
| by_exchange | object | — | Per-exchange split for each window. dynamic keys: 1h,4h,12h,24h |
| by_exchange.{*} | array | — | Per-exchange breakdown. |
| by_exchange.{*}[] | object | — | Per-exchange breakdown. |
| by_exchange.{*}[].exchange | string | — | Exchange id, lower case (for example `binance`). |
| by_exchange.{*}[].long_usd | number | USD | Long side. |
| by_exchange.{*}[].short_usd | number | USD | Short side. |
| by_exchange.{*}[].total_usd | number | USD | Total. |
| by_exchange.{*}[].count | number | — | Number of liquidation orders. |
| by_exchange.{*}[].share_pct | number | % | Share of the total. |
| last_event_at | number | ms | Time of the most recent liquidation for this coin. |
| last_event_age_s | number | s | Seconds since that event. |
| sources | array | — | State of every liquidation feed: how it is collected and when it last delivered. |
| sources[] | object | — | Data sources. |
| sources[].exchange | string | — | Exchange id, lower case (for example `binance`). |
| sources[].via | string | — | Collection method (`ws`, `rest`, …). |
| sources[].status | string | — | Feed state judged from its own event times and heartbeats. |
| sources[].feed_last_event_age_s | number|null | s | Seconds since the event. |
| sources[].ws_heartbeat_age_s | number|null | s | Seconds since the event. |
| sources[].judged_by | string | — | Which timestamp the status was judged from. |
| sources[].coin_last_event_age_s | number|null | s | Seconds since the event. |
| sources[].min_event_usd | number | USD | Smallest order size the feed publishes; smaller liquidations are not visible on this venue. |
| sources[].note | string|null | — | Note. |
| sources[].node_heartbeat_age_s | number | s | Seconds since the event. may be absent |
| sources[].pipeline_last_event_age_s | number | s | Seconds since the event. may be absent |
| coverage | object | — | What is and is not included in the numbers above. Compare this before comparing totals with another source. |
| coverage.collected_exchanges | array | — | Exchanges with a public liquidation feed that CoinBoss collects. |
| coverage.collected_exchanges[] | string | — | Exchanges collected. |
| coverage.unavailable | array | — | Exchange / contract pairs that could not be included, each with a reason. They are never counted as 0. |
| coverage.unavailable[] | object | — | Items for which no data is available, with reasons. Never reported as 0. |
| coverage.unavailable[].exchange | string | — | Exchange id, lower case (for example `binance`). |
| coverage.unavailable[].reason | string | — | Reason code. |
| method | object | — | Plain-text statement of the formulas used for this response. |
| method.event | string | — | Plain-text note on what one liquidation event is: one liquidation order pushed by the exchange stream or returned by its public REST API. |
| method.side | string | — | Side of the liquidated position (`long` = a long was liquidated). |
| method.value_usd | string | USD | Notional of the liquidation: price × qty × contract multiplier. |
| method.dedupe | string | — | Plain-text note on de-duplication: events are unique by exchange, symbol, side, price, value and timestamp, plus the exchange order id where provided. |
| method.null_rule | string | — | Plain-text note that a window without any collected event returns null rather than 0, and where exchanges without a public feed are listed. |
| method.binance_note | string | — | Plain-text caveat that Binance pushes at most one liquidation per symbol per second, so Binance totals are a lower bound. |
| method.min_event_usd | string | USD | Smallest order the feed publishes. |
Generated 2026-11-11 23:00 UTC from 4 real responses.
Example response
/api/sd/liquidations?coin=BTC · Real response captured 2026-11-13 03:57:52 UTC. Long arrays and maps are shortened for display: sources had 11 items; windows had 4 items; by_exchange had 4 items; by_exchange.{*} had 10 items; coverage.unavailable had 10 items; coverage.collected_exchanges had 11 items.
- "success"true
- "coin""BTC"
- "now"1794542272606
- "windows"
- "1h"
- "4h"
- "by_exchange"
- "1h"
- "4h"
- "last_event_at"1794542269523
- "last_event_age_s"3
- "sources"
- "coverage"
- "collected_exchanges"
- "unavailable"
- "method"
- "event""one row per liquidation order pushed by the exchange (WS) or returned by its public REST; REST used to fill WS gaps (OKX/Gate/HTX)"
- "side""LONG = a long position was liquidated (forced sell); SHORT = a short position was liquidated (forced buy)"
- "value_usd""linear: filled qty × price; inverse: contracts × contract face value (USD)"
- "dedupe""unique (exchange, symbol, side, price, value_usd, timestamp) + exchange order id hash where provided"
- "null_rule""a window with no collected event returns null (shown as —), never 0; exchanges without a public feed are listed in coverage.unavailable"
- "binance_note""Binance WS pushes at most one liquidation per symbol per second (latest only) → Binance totals are a lower bound"
- "min_event_usd""collectors keep events above a per-exchange floor (sources[].min_event_usd: OKX/Bitget/HTX/Bitfinex/Deribit ≥ $100; Gate/Hyperliquid/Lighter ≥ $1; Binance/Bybit…"
Verified samples
Besides the example above, the probe calls this endpoint with these parameters and checks the schema each time.
| Parameters | HTTP | Latency | Result |
|---|---|---|---|
| coin=ETH | 200 | 59 ms | Pass |
| coin=SOL | 200 | 30 ms | Pass |
| coin=ARKM | 200 | 17 ms | Pass |
| — | 400 | 2 ms | Pass returns the expected error |
Checked 2026-11-13 03:57:52 UTC
Details
- Authentication
- None. Public endpoint.
- Rate limit
- 1200 requests per minute per IP
- Server cache
- 15s
- Edge micro-cache
- 10s
- Update frequency
- real-time (exchange WebSocket push); REST polling: okx every 15 s, gate every 25 s, htx every 5 min; hyperliquid node fill batches ingested every 5 s
- Window
- rolling windows 1 h, 4 h, 12 h, 24 h
- Data sources
- Liquidation orders collected in-house from the public liquidation feeds of 11 venues (e.g. binance, okx, bybit, gate, bitget, htx); Hyperliquid liquidations come from the fills of a self-operated Hyperliquid node.
- Exchange coverage
- 11 venues with active collectors (binance USDT-M + COIN-M, okx, bybit linear + inverse, gate USDT + BTC settled, bitget, htx, hyperliquid, aster, lighter, bitfinex, deribit); crypto assets only (tokenized stock / index / commodity / FX contracts are routed to the separate TradFi dataset); binance pushes at most one liquidation per symbol per second, so its totals are a lower bound; minimum stored event size: 100 USD on okx / bitget / htx / bitfinex / deribit / binance COIN-M, 1 USD on gate / hyperliquid / lighter, none on binance USDT-M / bybit / aster
- Units
- USD notional (price x quantity) per liquidation order; timestamps in Unix ms; side LONG = long position liquidated, SHORT = short position liquidated; max_order price normalized for multiplier contracts
- Method
- per window: long_usd, short_usd, total_usd = SUM(value_usd), count; by_exchange breakdown; largest single order
- Timestamps
- Unix epoch milliseconds (UTC) unless the field description says otherwise
- Response format
- json
- Stability
- Stable
- Available since
- 2026-11-11
Live status
Availability, last 30 days
100% of 410 checks passed
Errors
Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →
| Code | HTTP | Meaning | What to do |
|---|---|---|---|
| INVALID_PARAM | 400 | A required parameter is missing or a value is not accepted. `param` names the parameter when it is known. | Do not retry unchanged; fix the request. |
| UNAUTHORIZED | 401 | The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key. | Do not retry unchanged. |
| FORBIDDEN | 403 | The route is not part of the public API (internal or account-only). | Do not retry. |
| NOT_FOUND | 404 | Unknown route, or the requested coin / exchange / fund does not exist. | Do not retry; check the path and identifiers against the catalog. |
| RATE_LIMITED | 429 | More requests than the per-minute limit. `Retry-After` gives the seconds to wait. | Wait for `Retry-After`, then retry with backoff. |
| INTERNAL | 500 | Unexpected server error. The message is generic by design; quote `request_id` when reporting it. | Retry once after a few seconds; report it with the request id if it persists. |
| UPSTREAM_FAILED | 503 | The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place. | Retry with backoff; check the status page. |
| UNAVAILABLE | 501 / 503 | The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet. | Retry later; the catalog marks endpoints that are unavailable by design. |
| REQUEST_FAILED | 200 | Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status. | Depends on the message; treat as a failed request. |
Try it
/api/sd/liquidationsAvailablestring — Coin symbol; 400 when missing. Alias: `base`.
https://www.coinboss.com/api/sd/liquidations?coin=BTCMore in this category
- Liquidation summary for one coin /api/sd/liquidations
- Largest liquidation days (Top 10) /api/liquidation-events
- Raw liquidation prints (24h) /api/liquidations
- All coins with liquidation records /api/liquidations/all-coins
- 24h liquidation time series for one contract symbol /api/liquidations/chart
- Per-exchange liquidation split for one coin /api/liquidations/coin-exchanges
- Largest liquidation orders for one coin /api/liquidations/coin-largest
- Coins with liquidations in the window /api/liquidations/coin-list
- Multi-window liquidation totals for one coin /api/liquidations/coin-overview
- Price line overlaid with liquidation bars for one coin /api/liquidations/coin-price-liq
- Liquidation statistics for one coin /api/liquidations/coin-stats
- Liquidation time series for one coin /api/liquidations/coin-total-chart
- Liquidation leaderboard aggregated per coin /api/liquidations/coins
- Per-coin liquidation table /api/liquidations/coins-table
- Liquidation detail for one exchange /api/liquidations/exchange-detail
- Liquidation notional and share per exchange /api/liquidations/exchanges
- Market-wide liquidation feed /api/liquidations/feed
- Largest liquidation orders market-wide /api/liquidations/largest
- Market-wide liquidation totals (1h / 4h / 12h / 24h) /api/liquidations/overview
- 24h liquidation stats by exchange, contract and side /api/liquidations/stats
- Market-wide liquidation time series /api/liquidations/total-chart
- Liquidation ranking per coin /api/market/liq-rank
- Live stream of large liquidations /api/market/liq-stream