Contents
Wallets with their liquidation price in a band
Tracked Hyperliquid wallets whose position in this coin has its liquidation price in a band right now: size, side, leverage, liquidation price and its signed distance from the mark (liqDistance, fraction), with a link to the wallet page (url).
/api/v1/heatmap/{coin}/walletsEvery keyDescription
The same positions the live heatmap columns are built from (the newest poll of each wallet, minutes old; a long whose liquidation price is already at or above the mark, or a short at or below it, is left out as on the heatmap). Reconstructed or daily columns have no wallets: wallets are listed for now only. Ask for one band with lo and hi, the heatmap row holding a price with price, or the N largest levels above and below the mark of the current liquidation map with clusters (the default, clusters=3, when none of them is given; each with its wallets; longLevelUsd / shortLevelUsd = the USD of that level in the map). positions, longUsd and shortUsd count every tracked position in the band, wallets lists the largest (limit). Only wallets we track, not every account on Hyperliquid. Same plan rule as /liqmap/{coin}.
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 · pathrequired | Coin name, e.g. BTC (case-insensitive). |
lonumber | Lower edge of the band (USD, inclusive). Needs hi; the band is at most 20 % of the price wide.≥ 0 |
hinumber | Upper edge of the band (USD, exclusive). Needs lo.≥ 0 |
pricenumber | Instead of lo / hi: the heatmap row (0.5 % bucket of the liquidation map) holding this price.≥ 0 |
clustersinteger | Instead of a band: the N (1 to 10) largest levels above and below the mark of the current liquidation map, each with its wallets. Default 3 when neither lo / hi nor price is given.1–10 · default 3 |
sidestring | long | short (optional).one of long, short |
minUsdnumber | Minimum position notional in USD, default 0.≥ 0 · default 0 |
limitinteger | Number of items, default 20, clamped to 1–100.1–100 · default 20 |
Response fields
Every success is { data, meta }; these are the fields of data. meta is the same on every endpoint.
| Field | Description |
|---|---|
coinstring | Coin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA). |
marknumber · nullable | Hyperliquid mark now. |
bucketSizenumber · nullable | Row width of the current liquidation map (USD). |
mapUpdatedAtstring (ISO 8601) · nullable | Time of the current liquidation map. |
bands[]array of objects | One band (lo / hi or price), or the clusters largest levels above the mark, then below it. |
bands[].priceLonumber | Lower edge of the band (USD, inclusive). |
bands[].priceHinumber | Upper edge of the band (USD, exclusive). |
bands[].distancenumber · nullable | Signed distance from the mark to priceLo, fraction (−0.03 = 3 % below). |
bands[].positionsinteger | Tracked positions with their liquidation price in the band now (all of them). |
bands[].longUsdnumber | Notional of those long positions (USD). |
bands[].shortUsdnumber | Notional of those short positions (USD). |
bands[].updatedAtstring (ISO 8601) · nullable | Newest poll among those positions. |
bands[].wallets[]array of objects | The largest of them, largest first (limit). |
bands[].wallets[].addressstring | Hyperliquid address, lowercase. |
bands[].wallets[].labelstring · nullable | Wallet label (leaderboard display name). |
bands[].wallets[].side"long" | "short" | Position side (for liquidations: the side of the liquidated position). |
bands[].wallets[].positionUsdnumber | Notional (USD). |
bands[].wallets[].sizenumber | Size in coins. |
bands[].wallets[].entryPxnumber · nullable | Entry price. |
bands[].wallets[].leveragenumber · nullable | Leverage of the position (notional / margin). |
bands[].wallets[].leverageTypestring · nullable | cross | isolated |
bands[].wallets[].liqPxnumber · nullable | Liquidation price. |
bands[].wallets[].liqDistancenumber · nullable | Signed distance from the mark to the liquidation price, fraction (−0.12 = 12 % below the mark). |
bands[].wallets[].accountValuenumber · nullable | Account value (USD). |
bands[].wallets[].updatedAtstring (ISO 8601) | When the wallet was last read. |
bands[].wallets[].urlstring | The wallet page on the website. |
bands[].longLevelUsdnumber | clusters only: long liquidations of this level in the current liquidation map (USD). |
bands[].shortLevelUsdnumber | clusters only: short liquidations of this level in the current liquidation map (USD). |
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 - 404
not_foundNot found - 429
rate_limitedPer-minute limit reachedretry - 429
daily_limit_exceededDaily limit reachedretry - 429
stream_limitToo many open streamsretry - 500
internal_errorInternal errorretry
Methodology
- Liquidation clusters (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.