Contents
Liquidation totals
Liquidation totals of the last hours (default 24): long/short USD and count, per venue, the 50 coins with the most USD, the largest single liquidation and an hourly series.
/api/v1/liquidations/summaryEvery keyDescription
CEX totals are what the venues report (they undercount); coveredSince tells from when every venue was collected, and the series starts at the first covered hour (meta.warnings names the cut). Licence review: totals, per-venue sums and the series include every venue (our own aggregates), except that byVenue leaves out a withheld venue whose sum holds a single liquidation (that sum would be the liquidation itself; the totals still count it); largest is a single liquidation of a venue the API serves.
Who can call it
Available with every key and keyless (X-Blockmetric-Access: public). Keys of Free accounts get free-tier data (real-time feeds, 30 days of history, heatmap over time for every coin over the last 24 hours, liquidation levels now for every coin, the same as the free web plan); Pro and Desk keys the data of their plan; API Dev / API Pro raise the limits.
- No key
- 24 h
- Free
- 30 days
- Pro
- 365 days
- Desk
- 1095 days
- API Dev
- 365 days
- API Pro
- 1095 days
History window per plan. Limits: Authentication & limits.
Parameters
| Parameter | Description |
|---|---|
coinstring | Coin name as on Hyperliquid (BTC, ETH, kPEPE, HIP-3 names like xyz:TSLA); case-insensitive. |
hoursinteger | Look-back window in hours, default 24, clamped to 1–26280 (1095 days; single events 120 days, older hours are hourly sums, see hourlySumsBefore; liquidations of $10,000 or more are kept 3 years for largest) and to the plan history (free key 30 days, keyless 24 h).1–26280 · default 24 |
Response fields
Every success is { data, meta }; these are the fields of data. meta is the same on every endpoint.
| Field | Description |
|---|---|
hoursnumber | Window in hours. |
totalUsdnumber | Total (USD). |
longUsdnumber | Long positions liquidated (USD). |
shortUsdnumber | Short positions liquidated (USD). |
countinteger | Number of items (liquidations, positions …) in the group. |
byVenue[]array of objects | Split per venue. |
byVenue[].venuestring | Trading venue the row comes from. |
byVenue[].longUsdnumber | Long (USD). |
byVenue[].shortUsdnumber | Short (USD). |
byVenue[].countinteger | Number of items (liquidations, positions …) in the group. |
byCoin[]array of objects | The 50 coins with the most USD. |
byCoin[].coinstring | Coin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA). |
byCoin[].longUsdnumber | Long (USD). |
byCoin[].shortUsdnumber | Short (USD). |
byCoin[].countinteger | Number of items (liquidations, positions …) in the group. |
largestobject · nullable | Largest single liquidation in the window (of a venue the API serves), null when there is none. |
largest.idinteger | Stable id of the item; on paginated feeds the order key together with ts. |
largest.tsstring (ISO 8601) | Time of the event (ISO 8601 UTC). |
largest.venue"hyperliquid" | "lighter" | "binance" | "bybit" | "okx" | Trading venue. |
largest.coinstring | Coin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA). |
largest.side"long" | "short" · nullable | Side of the liquidated position. |
largest.pricenumber · nullable | Fill price. |
largest.qtynumber · nullable | Quantity in coins. |
largest.usdnumber · nullable | Notional (USD). |
series[]array of objects | Hourly series, oldest → newest. null = the hour is not covered (before coveredSince, a CEX stream was silent for more than 30 min inside it, or the collector was offline in it); 0 = covered, nothing liquidated. |
series[].tstring (ISO 8601) | Start of the UTC hour. |
series[].longUsdnumber · nullable | Long; null = hour not covered (USD). |
series[].shortUsdnumber · nullable | Short; null = hour not covered (USD). |
coveredSincestring (ISO 8601) · nullable | From when every venue stream was collected (totals before that are incomplete). |
updatedAtstring (ISO 8601) · nullable | Newest stored liquidation in the window. |
hourlySumsBeforestring (ISO 8601) · nullable | Liquidations before this time are kept as hourly sums only (single events 120 days, then hourly sums): they count in totals, per venue / coin and the series. Of those hours the single liquidations of $10,000 or more are kept 3 years: largest is the largest single event after this time or, when bigger, the largest of $10,000 or more before it. null = no compacted hours in the window. |
offlineMinutesinteger | Minutes of the window in which the collector was offline: no data was collected then, so those liquidations are missing from every total. Absent when 0. |
Errors
- 400
invalid_paramInvalid parameter - 401
unauthorizedMissing or invalid API key - 403
plan_requiredPlan does not include this - 403
scope_requiredKey not scoped for this API - 403
ip_not_allowedAddress not on the IP allowlist of the key - 403
origin_not_allowedKey used from a browser origin it does not allow - 403
source_restrictedExchange data not redistributed - 403
https_requiredhttps required - 429
rate_limitedPer-minute limit reachedretry - 429
daily_limit_exceededDaily limit reachedretry - 429
stream_limitToo many open streamsretry - 500
internal_errorInternal errorretry
Methodology
- Liquidations (reported totals) (how it is computed and its limits)
Code snippets in these docs are licensed under MIT-0: copy them into your own code without attribution. The SDKs, CLI and MCP server will be, once published, Apache-2.0; the name Blockmetric is not licensed (forks must be renamed). Data from the API is governed by the API terms; third-party exchange data by the exchange’s terms.