Recipe 1 of 65
Hyperliquid liquidation heatmap: where are BTC liquidation clusters?
The liquidation heatmap bins every open BTC position by its own liquidation price and weights each bin by notional, so the tallest bins are the price levels where the most size would be force-closed.
GET /v1/hyperliquid/symbols/{symbol}/liquidation-heatmap answers it in one call, as equal-width price bins around
the mark price. Each bin holds the USD notional of open positions whose liquidation price falls inside it, split into
longs and shorts, and a coverage block says how much of the book the bins leave out. The full parameter list is on
Liquidation heatmap.
Quick answer
Put the coin in the path and choose how many bins to cut the window into.
# where open BTC positions would be liquidated, in ten price bins around the mark
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/BTC/liquidation-heatmap?bins=10"Example response
Captured from the live API on 2026-10-24 at 17:15 UTC, trimmed to 3 of 10 bins. The legacy coin copy of symbol is left out.
Bins below the mark are almost all long liquidations (price must fall to reach them), and bins above it are short
liquidations. All values are USD notional. most_impacted_cohort is the account-size tier holding the most notional in that bin, and
coverage.in_window_fraction_of_open says the bins cover 65% of the open BTC book in this capture.
{
"symbol": "BTC",
"mark_price": 79887.0,
"snapshot_ts": "2026-10-24T16:52:00+00:00",
"bins": [
{
"price_bin_index": 0,
"price_bin_start": 39943.5,
"price_bin_end": 47932.2,
"liquidation_value_usd": 51993690.23028,
"positions_count": 1802,
"long_value_usd": 51993690.23028,
"short_value_usd": 0.0,
"most_impacted_cohort": "3x whale"
},
{
"price_bin_index": 1,
"price_bin_start": 47932.2,
"price_bin_end": 55920.9,
"liquidation_value_usd": 265536812.31578997,
"positions_count": 2484,
"long_value_usd": 265414029.99113998,
"short_value_usd": 122782.32465000001,
"most_impacted_cohort": "4x whale"
},
{
"price_bin_index": 2,
"price_bin_start": 55920.9,
"price_bin_end": 63909.6,
"liquidation_value_usd": 300637130.98599,
"positions_count": 3160,
"long_value_usd": 300158881.06953,
"short_value_usd": 478249.91646,
"most_impacted_cohort": "3x whale"
}
],
"total_value_usd": 2256639790.7779794,
"cohort_axis": "size",
"window": {
"price_low": 39943.5,
"price_high": 119830.5,
"range_pct": 0.5,
"bin_width": 7988.7,
"spacing": "linear"
},
"coverage": {
"open_value_usd": 3472097398.848539,
"open_positions": 40494,
"no_liq_price_value_usd": 133663296.73697999,
"no_liq_price_positions": 5214,
"outside_window_value_usd": 1081794311.3335795,
"in_window_fraction_of_open": 0.6499356243653635,
"in_window_fraction_of_priced": 0.6759575662585807
}
}Variations
Finer bins, heaviest levels first. Ask for 100 bins and keep the five with the most notional.
# the five price bins with the most BTC notional to liquidate
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/BTC/liquidation-heatmap?bins=100" \
| jq '.bins | sort_by(-.liquidation_value_usd) | .[:5] | map({price_bin_start, price_bin_end, liquidation_value_usd, long_value_usd, short_value_usd})'Another market. The same call for ETH, at the default 50 bins.
# the ETH heatmap at the default 50 bins
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/symbols/ETH/liquidation-heatmap"What has already been liquidated. The heatmap is standing risk. The realized side is the liquidation feed.
# the newest realized BTC liquidations
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/liquidations?symbol=BTC&limit=100"Before you rely on it
The bins cover only ±50% of mark
The price window is fixed at half the mark price on each side, and bins is the only parameter. Positions whose
liquidation price falls outside it are dropped, not piled into the edge bins: in this capture that was $1.08B. Positions
with no liquidation price (5,214 here) are left out too. Read coverage before you compare two heatmaps.
It is a snapshot of hypothetical risk
The heatmap is built from one complete position snapshot, taken about every 5 minutes; snapshot_ts names it. A
cross-margin position's liquidation price moves with the whole account, so the clusters shift as other positions in
the same account gain or lose. Nothing here has happened yet.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The hl_liquidations tool answers with view: heatmap, at 1 credit a call.
Where are the biggest BTC liquidation clusters on Hyperliquid right now?