Liquidation Map · cross-exchange

Liquidation Heatmap

API ▸ How to call this

Forced liquidations that actually executed on Binance, OKX, Bybit, Bitget and BitMEX, placed at the time they printed and at the price the exchange reported for them — and only Binance reports a fill. Bybit, Bitget, OKX and BitMEX report a price their liquidation engine set, not a level the tape traded, which is why some cells sit outside the candle beside them. Switch to Projected for a model of where liquidations would sit instead.

2:00
How to read this heatmap

Every cell already happened

This view plots forced liquidations the exchanges publicly reported. Cyan/green/yellow = longs were liquidated there, red/pink = shorts. Colour follows the side that was actually liquidated, so a long wipeout can print above price during a whipsaw. Brighter = more notional in that cell, log-scaled so one cascade cannot black out the rest.

Candles

A candle is green when the bar closed up and red when it closed down — that is the default. The candle-colour button above the chart switches the pair to the original white up / black down scheme and remembers which you chose; the two outlined chips in the chart legend always show the pair actually being drawn. Whichever pair is on, a candle is the only mark here with a wick and a hard keyline around its body, and the flat unoutlined blocks behind it are liquidation cells whose colour means which side was liquidated, never a direction — so a red candle is a bar that closed down, while a red cell is a short that was force-closed. Real Binance USD-M perpetual bars — the same market the liquidations come from. Each column's candle is aggregated from several finer bars that open inside that column, so the bar you see spans the column it is drawn on. The note under the timeframe buttons says which market drew them, how many bars went into each candle and how much of the column they are guaranteed to cover — for the few symbols Binance lists on spot only, it says the overlay fell back to spot.

Why colour can sit where the candle never went

A cell is placed at the price the exchange reported for that liquidation, and the venues do not all report the same thing. Only Binance publishes a fill: its stream carries ap, the average fill price of the liquidating order. The other four publish an engine price. Bybit publishes a bankruptcy price, Bitget a liquidation price, OKX a liquidation-mark price (bkPx, which OKX defines as “the price of the transaction with the system’s liquidation account”), and BitMEX a resting liquidation order price whose quantity field is leavesQty — the part that had not filled. Four of the five are prices the exchange’s engine set, not prices anything changed hands at. Measured 2026-08-18 17:47 → 2026-08-28 17:47 UTC on 31,544 BTC prints, each venue against its own 1-minute perpetual candles — Binance USD-M BTCUSDT, Bybit linear BTCUSDT, OKX BTC-USDT-SWAP, Bitget BTCUSDT, BitMEX XBTUSD/XBTUSDT — allowing the adjacent minute and a 2 basis-point tolerance: Bitget 90.9% of its prints outside the traded high/low of the minute they printed in (median $245 away), Bybit 65.7% (median $191), OKX 5.3% (median $255), Binance 1 print in 5,744 (0.02%). BitMEX contributed only 79 BTC prints in the window, too few to put a percentage on. Bybit and Bitget together were 64.8% of the prints. So a bright cell above or below the candle is usually the engine’s price for a forced close, not a level price reached. There was a second cause, and it was ours: every cell is a perpetual-futures liquidation, and the candle behind it used to be drawn from Binance spot. Over 1,000 consecutive 1-minute bars the BTC perp mid sits a median $31.78 below spot, and 1,000 of those 1,000 perp bars have a range the spot bar does not contain — so a perp print drawn against a spot wick escapes it as arithmetic, whatever the venue reported. The overlay is now the USD-M perpetual market, and so is the current-price line and every cluster distance measured from it.

Cluster labels

Pills on the right edge mark the three heaviest long and short clusters in this window — price level, and how far that level sits from the current price as a percentage. That percentage is a distance, not a probability.

Blank space is coverage, not calm

An empty column can mean nothing liquidated, or that nothing was being recorded yet. The note under the timeframe buttons says which, and from when recording starts. Cascade risk and the nearest-cluster distances are model outputs, so this view has no number for them and displays the placeholder character “—” (an em dash) instead; switch to Projected for those.

View:

Realized = forced liquidations that actually executed on the exchanges, placed at the price each exchange reported for them. Projected = where liquidations would occur if price reached that level, modelled from open interest and leverage bands — not events that happened.

Timeframe:
Cascade Risk
Nearest Long Liq
below current price
Nearest Short Liq
above current price
Open Interest
What these metrics mean

Cascade Risk

Reads — in this view, and that is the honest answer: cascade risk is scored from projected positions, and the realized feed reports executed events instead. A number here would have to be invented. Switch to Projected to see it, and read its definition there before you use it.

Nearest Long Liq

How far below the current price the closest realized long cluster sits — a price level where longs were actually force-closed inside this window. It is history, not a warning that longs are stacked there now: that leverage is already gone. Reads — when no long cluster printed below spot.

Nearest Short Liq

The same measurement above the price, for shorts. The two are independent readings here and will normally differ — unlike in the Projected view, where the model forces them to be equal.

Long / Short Liq (window)

The one KPI this view can fill: total notional liquidated on each side inside the window the feed actually returned — the header states that window. Long-heavy means longs were the ones being flushed, which is history, not positioning.

Liquidation Heatmap
BTC/USDT
Long liquidated (cell) Short liquidated (cell) Candle up Candle down Price
Volume traded measured zero not recorded partial bucket
--
Current: --
--
How to Read the Heatmap
Dual-Color Heatmap
Cyan→green→yellow = longs were liquidated there, red→pink = shorts. Colour follows the side that was actually liquidated (usually longs below price, shorts above — but a whipsaw prints both). Brightness is notional in that cell, log-scaled so a single cascade cannot black out everything smaller. Bright cells are levels where leverage has already been cleared — a record, not a forecast. A cell’s price is the price the venue reported for that liquidation, which on Bybit and Bitget is their engine’s order price rather than a traded one, so colour can appear where the candle never went.
Candles & Timeframes
Candles are green up / red down by default; the candle-colour button above the chart switches them to white up / black down and remembers the choice, and the outlined chips in the chart legend always show the pair in use. A candle body and a liquidation cell can land on the same hue — with the default candles and the default ramp it is red on both — and they mean different things, so a candle is drawn the way nothing else here is: it has a wick and a hard keyline around its body, and that body is opaque. A liquidation cell has none of those — it is a flat translucent block filling a whole column and price band. A red candle = the bar closed down. A red cell = a short was force-closed. The Look button above the chart measures how close your candle colours actually sit to the ramp in use, and offers the white-up / black-down pair, which no cell can be confused with. The timeframe button sets the candle interval and the lookback window — 5m shows the last few hours in 5-minute columns, 1D up to 90 days in daily ones — and each column’s candle is aggregated from several finer Binance USD-M perpetual bars that open inside that column — the same market as the liquidations — never one coarser bar stamped onto a column it does not cover. Controls follow TradingView: scroll zooms time around the cursor, drag pans, drag the price axis stretches price (shift+scroll does the same), drag the time axis stretches time, and double-click resets — on an axis, just that axis.
Cluster Labels & Tooltip
Labeled pills on the right edge mark the three heaviest long (cyan) and short (red) clusters, each with its price and its distance from the current price — that percentage is how far away the level is, never a likelihood. Dashed lines trace them across the chart. Hover or tap any cell for what it actually contains: the price bucket, the notional liquidated, and the candle it sits under.
Long liq
Dense
Short liq
Dense
Cyan/teal cells — longs that were force-closed at that time, at the price the exchange reported for them. Heavy cyan marks a level where downside leverage has already been flushed out. It is not support and not a target; it is the receipt for a move that has been and gone.
Red cells — shorts that were force-closed at that time, at the price the exchange reported for them, i.e. a squeeze that already ran. Reading it as resistance is a forecast you are adding; the data says only that shorts were wiped out there.
Reading tip: a heavy cluster is where leverage was cleared, so the leverage that was sitting there is gone. Popular strategies read old clusters as magnets; we have run pre-registered tests on whether this data forecasts direction and published the ones that found no durable edge. Treat clusters as context, not as targets.
Data: /v1/liquidations → docs
Top Liquidation Clusters
Side Liq Price Leverage Volume Distance Intensity
Loading...
How to Read the Cluster Table
Side (Long vs Short)
Long clusters sit below the current price — these liquidate on a drop. Short clusters sit above — these liquidate on a pump. Rows sorted by total notional size so the most impactful levels appear first.
Leverage Band
Higher leverage (50x, 100x) positions liquidate at much closer distances to entry price, making them fragile. A 100x position liquidates just 1% away. Lower leverage (2x–5x) positions need a 20–50% move to liquidate.
Distance % and Intensity
Distance shows how far price must move to reach that cluster. Intensity bar compares cluster size relative to the largest cluster on screen. Bright yellow = most dangerous. Prioritize clusters within 3–5% of current price.
Strategy tip: when a large long cluster sits 2–3% below and a large short cluster sits 4–5% above, the market may be range-bound until one side gives. A break toward either cluster often accelerates sharply once liquidations begin.
Data: /v1/liquidations → docs
Realized Liquidations by Price Level
Free · Live CEX feeds BTC
Longs Liquidated
Shorts Liquidated
Total Events
Exchanges
Forced-liquidation notional per price bucket — longs vs shorts (stacked)
Long Short
Price Level Total Notional Long Short Events Dominant
Loading…
These are REAL executed forced liquidations, streamed live from five CEX WebSocket feeds (Binance, OKX, Bybit, Bitget, BitMEX) and bucketed by the price each exchange reported for the liquidation — an average fill price on Binance alone, and a price the liquidation engine set on Bybit (bankruptcy), Bitget (liquidation), OKX (liquidation-mark) and BitMEX (a resting liquidation order), none of which is a level the tape traded. Tall bars = price levels where leveraged traders were actually wiped out; the biggest clusters mark leverage pockets that already blew up. This is not a prediction — it is a record of what happened. The estimated-cluster heatmap above projects where liquidations could trigger; this section shows where they did.
Free & public — no API key required. Data depends on the live stream; quiet symbols or a just-restarted gateway will show an empty window until liquidations print.
Data: /v1/liquidations/heatmap → docs

Where the events come from

Forced-liquidation prints are read straight off the exchanges' own public WebSocket streams — Binance, OKX, Bybit, Bitget and BitMEX. Every cell is an order the exchange itself reported as a liquidation. Nothing is modelled, inferred or filled in. The chart header names the venues that actually contributed to the window you are looking at, not a fixed list.

How a cell is built

Each print is placed in the time bucket it printed in and in the price bucket of the price the exchange reported for it, and the notional in that cell is summed. That reported price is usually not a traded price. Only Binance publishes a fill: its stream carries ap, the average fill price of the liquidating order. The other four publish an engine price. Bybit publishes a bankruptcy price, Bitget a liquidation price, OKX a liquidation-mark price (bkPx, which OKX defines as “the price of the transaction with the system’s liquidation account”), and BitMEX a resting liquidation order price whose quantity field is leavesQty — the part that had not filled. Four of the five are prices the exchange’s engine set, not prices anything changed hands at. Measured 2026-08-18 17:47 → 2026-08-28 17:47 UTC on 31,544 BTC prints, each venue against its own 1-minute perpetual candles — Binance USD-M BTCUSDT, Bybit linear BTCUSDT, OKX BTC-USDT-SWAP, Bitget BTCUSDT, BitMEX XBTUSD/XBTUSDT — allowing the adjacent minute and a 2 basis-point tolerance: Bitget 90.9% of its prints outside the traded high/low of the minute they printed in (median $245 away), Bybit 65.7% (median $191), OKX 5.3% (median $255), Binance 1 print in 5,744 (0.02%). BitMEX contributed only 79 BTC prints in the window, too few to put a percentage on. Bybit and Bitget together were 64.8% of the prints. So cells at price levels the candle never reached are the normal case here, not an error — they are where the engine priced a forced close. There was a second cause, and it was ours: every cell is a perpetual-futures liquidation, and the candle behind it used to be drawn from Binance spot. Over 1,000 consecutive 1-minute bars the BTC perp mid sits a median $31.78 below spot, and 1,000 of those 1,000 perp bars have a range the spot bar does not contain — so a perp print drawn against a spot wick escapes it as arithmetic, whatever the venue reported. The overlay is now the USD-M perpetual market, and so is the current-price line and every cluster distance measured from it. Colour is the side that was liquidated, so a long wipeout can print above price during a whipsaw. Brightness is log-scaled against the smallest populated cell, because one cascade routinely carries a thousand times the median cell and would otherwise black out everything else.

Coverage is the honest caveat

The limit on this view is not accuracy, it is coverage: we can only show what was being recorded. A blank column means nothing was recorded then, which is not the same as a quiet market — the note under the timeframe buttons states how many columns carry recorded liquidations and, where the window starts before recording did, from when recording begins.

Every bright cell already happened

A bright red cell is shorts that were force-closed at that time, at the price the exchange reported for them; a bright cyan cell is longs. This is a record, so it carries no opinion about the future — it tells you which price levels have already been cleared of leverage, and how violently. The levels that blew up are, by definition, the ones no longer stacked there.

Read the gaps as carefully as the clusters

Sparseness is normal and it is the truth: real forced liquidations are rare and clustered. In a live 4h BTC window only a small minority of cells are populated at all. Resist reading an empty stretch as calm until you have checked the coverage note — an empty column is either “nothing liquidated” or “nothing was recording”, and the page distinguishes them for you rather than letting them look identical.

Coverage, not completeness

We show every liquidation our recorders saw, which is not every liquidation that occurred. A venue whose socket dropped, a symbol that was never subscribed, or a window that reaches back before recording started all produce blank space. Blank space here means “not recorded”. The coverage note under the timeframe buttons says which it is, and we would rather print that than a tidier-looking chart.

Venue mix moves the picture

Different exchanges report liquidations differently — some aggregate, some throttle, some publish each fill. They also disagree about what the price on a print means: Binance reports an average fill price, and Bybit, Bitget, OKX and BitMEX each report a price their liquidation engine set — a bankruptcy price, a liquidation price, a liquidation-mark price and a resting liquidation-order price respectively — all of which sit away from the last trade by construction. So the relative height of two clusters partly reflects which venues were live and talkative, and their exact price level partly reflects which of those two things a venue publishes. Compare clusters within one window before comparing across windows.

History is not a forecast

A record of forced selling tells you where leverage has already been cleared. It does not predict direction, and we have published the pre-registered studies where this data showed no durable directional edge. Use it as one input alongside your own analysis and position sizing.

Realized view: every cell above is a forced liquidation an exchange publicly reported, at the price that exchange reported for it — an average fill price on Binance, and a price the liquidation engine set on Bybit, Bitget, OKX and BitMEX, which is not a price anything traded at. The candle overlay is the Binance USD-M perpetual market, the same instrument the prints come from. Coverage begins when our recorders did, so gaps mean unrecorded, not calm. Informational only — not a recommendation, and not a forecast.

DeFi Lending Liquidations

Real, executed on-chain liquidations on AAVE, Venus & Benqi — captured directly from the project's own BSC & Avalanche full nodes. Unlike the CEX perp-liquidation heatmap above (which estimates leveraged positions), every row here is a confirmed on-chain event you can independently verify on the block explorer.

Straight from our nodes
We run a full BSC (geth) node and a full Avalanche node. Liquidation events are decoded from the chain as they happen — no third-party feed, no scraping.
Confirmed, not estimated
Each entry is a real LiquidationCall that already executed: a borrower's debt was repaid and their collateral seized. These are facts, not modelled positions.
A genuine differentiator
On-chain lending liquidations across AAVE / Venus / Benqi are something most derivatives aggregators (incl. Coinglass) don't surface. Distinct signal from the CEX perp map above.

Liquidation heatmap — common questions

What is a crypto liquidation heatmap?

A liquidation heatmap shows where leveraged positions would be forcibly closed if price reached a given level. Bright bands mark price levels where a large notional value of positions shares a liquidation price, so a move into that band can trigger a cascade of forced selling or buying.

How is this heatmap calculated?

Two different ways, and you choose which with the Realized / Projected toggle above the chart — the badge always says which one you are looking at. Realized is the default: actual forced-liquidation events that executed, bucketed by time and by the price the exchange reported for each one, with brightness on a log scale. Only Binance reports an average fill price there; Bybit reports a bankruptcy price, Bitget a liquidation price, OKX a liquidation-mark price and BitMEX a resting liquidation-order price, so cells can sit outside the candle beside them. The timeframe button sets both the column width and the lookback window — from 5-minute columns over the last few hours up to daily columns over 90 days — and the chart labels the window it actually received. Projected (also shown as Estimate) is the model, and the fallback when no liquidations printed for that symbol (or the feed is down): it projects where liquidation prices cluster from live open interest, funding and long/short data plus the leverage bands typical of each venue. An estimate cannot see individual traders' actual liquidation prices, which no public data source can.

Which exchanges and symbols are covered?

Realized liquidations come from Bybit, Binance, OKX, Bitget and BitMEX; the estimate view is built from Bybit, Binance and Hyperliquid derivatives data. 500+ derivatives markets either way. The free tier covers BTC, ETH and SOL; paid tiers cover every symbol.

How often does the data update?

Derivatives data refreshes every two minutes, and the heatmap is rebuilt from the latest snapshot on each load.

Do liquidation clusters predict price?

No, and we will not claim otherwise. We have run pre-registered studies on whether this data forecasts direction and published the ones that found no durable edge. A heatmap tells you where forced flow would occur if price arrives there — it does not tell you that price will arrive there.

Is the liquidation heatmap free to use?

Yes. The page is public, and the free API tier gives 200 calls a day with no delay, covering BTC, ETH and SOL. No card is required.