Start here: which price are you looking at
The most common cause, and it has nothing to do with the formula.
**Liquidation is judged on the mark price, not the last traded price.** The mark price is derived from an index and a funding basis, precisely so that a momentary wick on one venue cannot cascade into mass liquidations.
The practical consequence is that the low on your chart can sit below your liquidation price without the position closing, as long as the mark price never got there. The reverse also happens: the mark price can reach your level while the traded price has not.
So "price never hit my liquidation" is frequently an observation about the wrong price. Most interfaces display both; check which one you are reading before checking anything else.
Isolated or cross
Under isolated margin the position is backed only by the margin you assigned it, and its liquidation price depends only on that position's own parameters.
Under cross margin the whole account balance backs it, and **unrealised PnL on your other positions moves it in real time**. Another position going into profit pushes this one's liquidation price further away; that position turning red pulls it closer — while you do nothing.
The calculator here models isolated margin, one-way mode. If you are on cross, a mismatch is expected, and its size depends on what the rest of your account is doing at that moment.
The maintenance amount (Binance)
On Binance there is a deduction term that is easy to omit.
Binance's tiered maintenance margin carries a cumulative "maintenance amount" alongside the tier rate — an absolute deduction whose job is to keep the ladder continuous so the liquidation price does not jump at a boundary.
Computing "notional × tier rate" alone is wrong for any position beyond the first tier, and the error grows with size.
Whether closing fees are included (Bybit)
Bybit's maintenance requirement additionally includes **the taker fee you would pay to close**.
At an identical maintenance-margin rate, Bybit therefore liquidates marginally earlier than a venue that excludes it. The gap is small; its direction is fixed.
The calculator models this term separately, which is part of why three venues produce three different numbers from one set of inputs.
What the tiers are counted in (OKX)
OKX bands position tiers by contract count. Binance and Bybit band by notional value.
The difference shows up as price moves: notional tracks price, a contract count does not. Applying an OKX ladder as though it were notional-banded selects the wrong tier the moment price leaves the level it was converted at, and a wrong tier means a wrong liquidation price.
Funding has already come out of your margin
Every funding settlement while the position is open debits or credits your margin.
After a few days your actual margin is no longer the number you opened with. Calculating from your entry margin, while the exchange calculates from your current margin, will not agree.
You added to the position and crossed a tier
If you added after opening, two things changed at once: your average entry, and the position's notional.
Once notional crosses into a higher maintenance tier the applicable rate rises and the liquidation price moves against you — sometimes by more than the improved average entry gained. It is counterintuitive enough to deserve its own explanation.
The order to check in
The first three usually find it.
- Whether you are reading mark price or last traded price
- Isolated or cross, and if cross, what the rest of the account is doing right now
- Whether your formula includes that venue's specific term: Binance's maintenance amount, Bybit's closing fee, OKX's contract-count bands
- Funding accrued since you opened
- Whether adding to the position crossed a tier
- Whether the ladder you applied is current
The exchange's number is the one that counts
All of the above explains where a difference comes from; none of it establishes who is right. **The liquidation that happens is the one the exchange computes**, and any third-party calculator is an estimate.
What a calculator is for is knowing, before you open, how far apart the venues are — not replacing the exchange's own live determination.