GOXEVA cost & mechanics desk
English

How your liquidation price is actually calculated

The isolated-margin formula derived line by line, with the algebra left visible, plus what changes under cross margin and what happens to the money that is left. Written for someone who wants to reproduce the exchange's number rather than trust it.

Goxeva plate 04: a vertical price axis with entry, liquidation and bankruptcy levels marked, showing the gap between them narrowing as leverage rises

The first futures position I ever opened had a liquidation price shown under the order form, and I read it the way you read a speed limit sign: a fixed thing, posted by someone in authority, not really my problem. Then I added to the position and the number moved. Not by a rounding amount. It moved against me, while price had gone nowhere.

That is when it became worth learning where the number comes from. It is not a risk score. It is the output of a short piece of algebra with three inputs, and once you have written that algebra out once, most of the surprising behaviour stops being surprising. A liquidation price that drifts, a liquidation price that differs between two accounts holding the same trade, a liquidation that fires at a price the chart never printed: all of these have ordinary explanations.

The arithmetic is the easy half. Here is the half that is not arithmetic.

Read this before the algebra

When an isolated position is fully closed out, plan on losing most or all of the margin behind it, plus the liquidation fee. Larger positions may be reduced in stages instead, so a total wipe is the case to plan for rather than a certainty — and at high leverage a move of two or three percent is enough to get there. Most retail accounts trading leveraged crypto lose money over time, and understanding the formula below does not change that — it only tells you how close to the edge you are standing. Nothing on this page is a recommendation to open a leveraged position.

Where equity and the maintenance floor cross

Your liquidation price is the mark price at which the equity backing your position falls to the maintenance margin the exchange requires for a position that size, at which point the exchange closes the position for you rather than letting it run.

Two things in that sentence do the work. The first is equity: the margin you posted plus or minus what the position has made or lost so far. The second is maintenance margin: a floor, expressed as a fraction of the position's current value, below which the exchange will not let your backing fall.

Liquidation happens where those two lines cross, and the crossing point is the single price the interface reports.

The two lines behave differently on the way there, which is worth picturing. Equity falls roughly one-for-one with the price move, multiplied by your position size. The maintenance requirement drifts in the same direction but far more slowly, because it is a small fraction of a position value that is itself shrinking. On a long at 20× with a 0.4% requirement, equity is falling about 250 times faster than the floor is. That ratio is why the leverage figure, not the maintenance rate, decides how much room you have — and why arguing about brackets before you have picked a leverage is arguing about the wrong term.

The useful consequence is that liquidation is not a penalty triggered by loss. It is triggered by loss relative to posted collateral. A position down 40% with plenty of margin behind it is fine. A position down 4% at a hundred times leverage is already gone. The percentage on the chart is not the quantity being tested.

One distinction is worth fixing early. The liquidation price is where equity hits the maintenance floor. The bankruptcy price is where equity hits zero. The gap between them is the buffer the exchange keeps so it can close you in the market before your collateral is actually gone.

What is the maintenance margin rate?

The maintenance margin rate, usually written MMR, is the minimum fraction of a position's notional value that must remain as equity before the exchange liquidates it.

So if a position is worth 10,000 USDT at the current mark price and the maintenance margin rate is 0.5%, the exchange requires at least 50 USDT of equity standing behind it. Fall below 50 and the position gets closed.

The part that catches people is that MMR is not one number per contract. It is tiered by position size. Every large venue publishes a bracket table: the first tranche of notional carries the lowest rate, the next tranche a higher one, and so on upward. A small position on a major pair sits in the bottom bracket. A very large position on the same pair sits several brackets up and carries a materially higher maintenance requirement, which means it liquidates sooner for the same leverage.

This is not arbitrary. A big position is harder to unwind without moving the market, so the exchange wants a thicker cushion before it has to try. But it produces a behaviour that feels wrong the first time you meet it: adding contracts to a winning position can push you across a bracket boundary and move your liquidation price closer, even though you have added margin along with the size.

Typical values for the major pairs sit roughly in the 0.4% to 1.0% band for ordinary retail-sized positions, with smaller and less liquid contracts starting higher. Those are the numbers I checked against Binance's published futures documentation in 2026-08, and they are useful as a mental default and nothing more. The exchange's own bracket table is the authority, it is versioned, and it changes. Binance publishes the working, including the tier-by-tier maintenance amounts, in its futures liquidation price FAQ, and the live per-contract brackets sit on the leverage and margin page. Read the rate off there for the contract and size you are actually trading, not off this page.

One refinement, since it explains a discrepancy you will otherwise chase. The published formula does not simply multiply notional by the bracket's rate. It multiplies by the rate and then subtracts a fixed maintenance amount for that bracket, so that crossing a boundary does not step your requirement up all at once. Inside the first bracket that amount is zero and you can ignore it. For anything larger it is the reason your arithmetic will be slightly off from theirs, and the maintenance amount for each bracket sits in the same table as the rate.

Binance Futures leverage and margin page for BTCUSDT Perpetual, showing the maintenance margin formula as position value times maintenance margin rate minus maintenance amount, above a bracket table where tier one runs to 300,000 USDT at a 0.40 per cent rate with a maintenance amount of zero
The exchange's published bracket table, captured 2026-08. Two things to read off it: the maintenance amount column is zero only in tier one, and the maintenance margin rate rises with position notional rather than being a single number.

Deriving the long formula, line by line

For a first-bracket isolated position whose maintenance amount is zero, set fixed posted margin plus unrealised profit and loss equal to the rate-only maintenance requirement and solve for price. That gives liquidation price = entry × (1 − 1/leverage) ÷ (1 − MMR), which simplifies to approximately entry × (1 − 1/leverage + MMR).

Here is the algebra with nothing skipped. Take an isolated long position. Call the entry price P₀, the position size in units of the base asset Q, and the leverage L. The notional at entry is P₀ × Q, and the margin you posted is that notional divided by leverage:

Initial margin, IM = P₀ × Q ÷ L

At some later mark price P, the position's unrealised result is (P − P₀) × Q. For a long, that is positive when price has risen. So the equity standing behind the position is:

Equity = IM + (P − P₀) × Q

The simplified maintenance requirement used in this derivation is the rate applied to the position's value at the current mark price, not at entry. It matches a first bracket whose maintenance amount is zero. Higher brackets require the exchange's full formula, which also subtracts the bracket's maintenance amount. The current-price detail is why the rate-only expression has a division rather than only a subtraction:

Maintenance margin, MM = MMR × P × Q

Liquidation is the price where those two meet. Set them equal:

P₀ × Q ÷ L + (P − P₀) × Q = MMR × P × Q

Every term carries a factor of Q, so divide it out. Within one fixed bracket under this simplified first-tier model, position size drops out of the algebra. Size still matters in practice because it selects the bracket, and brackets above the first bring both a different rate and a non-zero maintenance amount into the full exchange formula.

P₀ ÷ L + P − P₀ = MMR × P

Collect the P terms on one side and the P₀ terms on the other:

P − MMR × P = P₀ − P₀ ÷ L
P × (1 − MMR) = P₀ × (1 − 1 ÷ L)

Divide through, and this is the rate-only isolated long result under the stated first-bracket, fixed-margin assumptions:

Pliq = P₀ × (1 − 1/L) ÷ (1 − MMR)

Now the approximation everyone actually quotes. MMR is small, so 1 ÷ (1 − MMR) is very close to 1 + MMR. Substituting and expanding gives P₀ × (1 − 1/L + MMR − MMR/L), and that last cross-term is a product of two small numbers, so dropping it costs almost nothing:

Pliq ≈ P₀ × (1 − 1/L + MMR)

Read as a sentence: your liquidation price is entry, less the fraction of entry your leverage lets you lose, plus a little back for the cushion the exchange keeps. The 1/L term does all the work. The MMR term only becomes visible at high leverage, where it is the difference between a 1% move and a 0.5% move.

A worked case under those assumptions: long at an entry of 2,400, ten times leverage, one unit of size, MMR of 0.5%, maintenance amount zero, with no accrued funding or closing-fee allowance. The rate-only formula gives 2,400 × 0.9 ÷ 0.995 = 2,170.85. The mental approximation gives 2,400 × 0.905 = 2,172.00. The two differ by 1.15 in price, about five hundredths of one percent. The calculator on this site uses the divided rate-only expression rather than the mental shortcut. It remains an estimate; for a higher bracket or an exchange-operational figure, use the venue's full formula and its displayed liquidation price.

The short side flips two signs

For a short the two sign-carrying terms flip: liquidation price = entry × (1 + 1/leverage) ÷ (1 + MMR), which approximates to entry × (1 + 1/leverage − MMR).

The derivation is the same shape with one substitution. A short makes money when price falls, so the unrealised result is (P₀ − P) × Q rather than (P − P₀) × Q. Everything else is unchanged.

P₀ ÷ L + P₀ − P = MMR × P
P₀ × (1 + 1/L) = P × (1 + MMR)
Pliq = P₀ × (1 + 1/L) ÷ (1 + MMR) ≈ P₀ × (1 + 1/L − MMR)

Note that the MMR term now subtracts. On a long, the maintenance cushion pulls the liquidation price up toward entry. On a short it pulls it down toward entry. In both cases it moves the liquidation price closer, which is the only direction a safety buffer for the exchange could sensibly move it.

There is a genuine asymmetry worth naming, and it is not in the formula, it is in the geometry of prices. A long at ten times leverage liquidates about 9.5% below entry. A short at ten times liquidates about 10.5% above. But price can only ever fall 100%, while it can rise without bound. A short's adverse move has no ceiling. The formula treats the two symmetrically; the market does not.

Cross margin makes it an account-level output

Isolated margin ring-fences a fixed amount of collateral to one position, which is what makes a single liquidation price meaningful; cross margin backs every position with the entire futures wallet balance, so the liquidation price is a moving output of your whole account rather than a property of one trade.

In isolated mode the margin term is ring-fenced, so the simplified arithmetic above is useful when that margin stays fixed, the position remains in the first bracket with maintenance amount zero, and no funding or estimated closing fee has entered the calculation. The exchange's displayed liquidation price can still differ because its complete formula includes those operational inputs. If the position is liquidated, the isolated collateral is the amount exposed; an idle balance elsewhere in the wallet does not automatically support it.

Cross mode removes the ring fence. Every open position draws on the same wallet balance, and unrealised profits on one position count as equity supporting another. The intuitive appeal is obvious. A position under pressure is automatically defended by the rest of the account instead of being left to die with an untouched balance nearby.

What that costs is the ability to describe your risk with one number. Under cross margin the liquidation condition is an account-level statement: total equity, meaning wallet balance plus the net unrealised result across everything you hold, must stay above the summed maintenance requirement of all open positions. Solve that for the price of one particular contract and you can still produce a figure, and the interface will show you one. But it is conditional on every other input being held still.

So the cross liquidation price for one long moves when an unrelated short gains, when you close something else, and when you transfer funds in or out of the futures wallet. The published cross formula reflects this directly: its numerator is wallet balance minus the maintenance margin of all other positions, adjusted for their unrealised results, before anything about the contract you are asking about enters it.

Where this breaks

People run cross margin because it liquidates later, then reason about it using an isolated mental model, and hold a second speculative position on the assumption that the first one's risk is capped. Under cross margin those two positions are one position for margin purposes. A bad day on the small trade brings the large one closer to liquidation. If you want positions that cannot hurt each other, that is the thing isolated mode exists to do.

Does adding margin move my liquidation price?

In isolated margin, yes, and by a directly calculable amount: each unit of margin you add moves the liquidation price away from you by roughly that amount divided by the position size in base units.

Rewrite the isolated derivation with an arbitrary margin M instead of the initial P₀ × Q ÷ L, and the long result becomes:

Pliq = (P₀ × Q − M) ÷ (Q × (1 − MMR))

Substitute M = P₀ × Q ÷ L and you recover the earlier formula, which is a good check that nothing went wrong. But in this form the effect of a top-up is plain. Increase M by an amount ΔM and the liquidation price falls by ΔM ÷ (Q × (1 − MMR)), which for small MMR is just ΔM divided by position size.

Within the same first-bracket assumptions, take the earlier example. Long at 2,400, one unit, ten times leverage, so 240 of margin, with the rate-only result at 2,170.85. Add 120 of margin. Position size and entry stay unchanged, and the simplified result becomes 2,400 × (1 − 360/2,400) ÷ 0.995 = 2,050.25. The 120.60 move is the 120 added divided by 0.995. A live platform figure may also reflect funding, a closing-fee allowance and any bracket-specific maintenance amount.

Two consequences, one comforting and one not.

The comforting one: it is a predictable lever. If you want 150 more points of room on a two-unit position, that is 300 of margin, and you can work it out in advance rather than during. Effective leverage falls too, from ten to about 6.7 in the example above.

The uncomfortable one: the relationship is linear in price and linear in money, which means the marginal room is constant while the amount you have exposed keeps growing. The first 120 bought about 120 points. The next 120 buys another 120. You are not buying safety at a discount as you go; you are buying it at exactly the same rate while steadily increasing the sum that a genuine adverse move takes from you. Adding margin to a losing isolated position converts a bounded loss into a larger bounded loss in exchange for time. That is a real trade and sometimes the right one. It is not risk reduction, and treating it as risk reduction is how a contained mistake turns into an uncontained one.

Under cross margin the top-up gesture does not exist in the same form, and this is the part that confuses people who switch modes. There is no per-position margin field to increase, because the position is already backed by the whole wallet. Transferring funds into the futures wallet does push the liquidation price further away, since wallet balance is a term in the cross condition. But it is not a targeted act. The new money supports every position at once, it changes the liquidation price of contracts you were not thinking about, and there is no ring fence keeping it attached to the trade you meant to defend. Under isolated margin you are moving one number in one equation. Under cross you are moving a term that appears in all of them.

If you want to see the sensitivity for your own inputs rather than these, the liquidation price calculator on this site takes entry, leverage, side and MMR and shows the distance as well as the level.

How far can price move before I am liquidated?

At a 0.5% maintenance margin rate the adverse move that closes a long is about 33% at 3×, 19.6% at 5×, 9.5% at 10×, 4.5% at 20×, 1.5% at 50× and 0.5% at 100×.

The table below uses an entry of 100 so the price column doubles as a percentage, one unit of size, isolated margin, MMR = 0.5% and a first-bracket maintenance amount of zero. The middle column ignores maintenance margin; the right-hand column uses the simplified rate-only expression. Both also assume fixed margin with no funding or closing-fee allowance, so neither is a promise of the exchange's displayed level.

Worked example — entry price 100, one unit, isolated margin, MMR 0.5%, no fees or funding charged.
Leverage Liquidation price (entry 100) Naive distance, 1/L Actual distance at MMR 0.5%
67.0033.33%33.00%
80.4020.00%19.60%
10×90.4510.00%9.55%
20×95.485.00%4.52%
50×98.492.00%1.51%
100×99.501.00%0.50%

Read down the right-hand column and notice what MMR does. At three times leverage it removes a third of a percentage point from a 33-point cushion, which is noise. At a hundred times leverage it removes half of the entire cushion. The same 0.5% is trivial in one row and decisive in another, because it is being subtracted from a shrinking quantity.

The other thing the column shows is that leverage buys distance with sharply diminishing insult. Going from 3× to 5× costs you 13 points of room. Going from 50× to 100× costs one point, because there was only one point left to lose. Past a certain level you are no longer meaningfully choosing how much room you have; you are choosing between very little and almost none, and the deciding factor becomes whether a routine minute-scale wick happens to reach you.

Worth restating in plain terms, because the arithmetic is easy to admire and hard to internalise:

At 100× a position is liquidated by a move smaller than the daily range of almost every liquid crypto pair. The question is not whether such a move occurs but when.

The table assumes MMR stays at 0.5%. On smaller contracts the base rate starts higher, which shifts every row.

Why was I liquidated at a price the chart never showed?

Because liquidation is triggered by the mark price, which is derived from an index of several spot venues rather than from the last trade on the exchange you are using.

Every large derivatives venue separates two prices. The last price is what a contract most recently traded at on that venue's own order book. The mark price is a reference built from an index of spot prices across multiple exchanges, with an adjustment that accounts for the basis between the perpetual and spot. Your unrealised profit and loss, your margin ratio and your liquidation trigger all use the mark price. Only your fills use the last price.

The reason is manipulation. If liquidations keyed off one venue's last traded price, then a thin book at three in the morning would be a business opportunity: push the book through a cluster of stops and liquidation levels, collect, let it snap back. Anchoring to a multi-venue index makes that attack cost roughly as much as moving the whole market, which is the point.

The consequence for you cuts both ways, and it is worth holding both halves. A violent wick on your exchange that does not appear on the index will not liquidate you, which is a real protection and one people rarely notice because nothing happens. But a broad move that shows up across the index can liquidate you even if your own venue's candle never printed the level. Looking at the chart afterwards, you see a low that never reached your liquidation price, and it looks like an error. It is not. You were looking at the wrong series.

Easy to miss

Most interfaces let you switch the chart between last price and mark price, and default to last. If you are managing a leveraged position near its liquidation level, switch to mark. It is the series the exchange is actually reading, and the two can diverge by more than your remaining cushion during fast moves.

This is also where the stop-loss question belongs, because people reach for one as though it made liquidation impossible. It helps and it is not the same protection. A stop-loss is an order that has to find a counterparty at the moment it triggers, so in a fast gap it can fill well past its trigger price, or in the worst case not fill at all until price is already at your liquidation level. Liquidation is not an order you placed. It is the exchange taking the position off you, and it happens on the mark series rather than on whatever your stop was watching. A stop set well inside the liquidation price is worth having. It is not a guarantee that liquidation cannot happen.

Because the mark price carries a basis adjustment, it can also sit slightly off spot while positioning is one-sided. That is the same imbalance that shows up as an expensive funding rate, and the two tend to bite the same positions at once.

Three things eat the margin that is left over

Very little of it comes back, because liquidation is not a close at your liquidation price: the exchange takes the position, closes it in the market, charges a clearance fee, and the buffer between the liquidation price and the bankruptcy price generally ends up in the insurance fund.

Follow the sequence. Your position reaches the liquidation price. At that instant, by construction, it still has equity equal to the maintenance requirement standing behind it: at 0.5% MMR on a 10,000 notional, 50 USDT. It is natural to expect that 50 back.

What actually happens is that the position is taken over by the liquidation engine and closed into the live order book. Three things then eat the remainder.

  1. A liquidation clearance fee is applied. It is a fee on the notional being closed, set out in the venue's own schedule, and it is typically higher than an ordinary taker fee because the close is involuntary and unpriced.
  2. The close itself pays the spread and any slippage. A liquidation is a market order that must be filled, into a book that is often thin at exactly that moment because everyone else's level is nearby. It is the worst possible order in the worst possible conditions.
  3. Whatever survives both is compared against the bankruptcy price. If the position closed better than bankruptcy, the surplus goes to the insurance fund rather than back to you. If it closed worse, the insurance fund covers the shortfall.

That third point is the design and it is stated openly. The maintenance cushion is not your reserve; it is the exchange's working capital for closing you out, and the fund it feeds is what prevents losses being socialised across profitable traders when a position closes past bankruptcy. Binance describes the mechanism, including how the fund is used and what auto-deleveraging is for when it is not enough, in its futures liquidation protocols documentation.

The practical version, which I would rather have understood before learning it the other way: when an isolated position liquidates, plan on the isolated margin being gone. Not mostly gone. Gone. Any residual return is a rounding pleasure, not a recovery, and building a plan around getting some of it back means you have sized the trade on a number that will not arrive.

The related question is whether you can end up owing more than you put in. On an isolated position at a major venue, normally no: the isolated margin is the ring-fenced maximum, and the insurance fund is what absorbs the shortfall when a close happens past the bankruptcy price. Under cross margin the exposed amount is the whole futures wallet balance rather than one position's margin, which is a different answer to the same question. Negative-balance protection and auto-deleveraging are both described in the exchange's own documentation, and both are policy rather than arithmetic. They can be changed. Read the version in force on your account rather than assuming the one you read about last year.

Larger positions may be closed in stages. Tiered liquidation reduces the position bracket by bracket, lowering the maintenance requirement as it goes, and can leave something alive at the end. Whether it applies depends on your size relative to the bracket structure, and the fee applies to each tranche closed.

Reproduce the exchange's number yourself

Use the venue's complete published formula with the rate and maintenance amount for your position's actual bracket, then compare the result with the platform figure. The comparison is a check on your inputs, while the platform figure remains the operative liquidation level.

A short procedure that takes about a minute and is worth doing once per contract you trade regularly.

  1. Write down the entry price, the position size in base units, and the margin actually posted. Use the posted margin rather than the leverage setting, because a top-up or a partial close will have separated the two.
  2. Compute the notional as entry times size, and look up which bracket that notional falls into on the venue's published leverage and margin table. Take the maintenance margin rate and the maintenance amount for that bracket.
  3. For a first bracket whose maintenance amount is zero, apply the rate-only isolated formula shown above: for a long, (entry × size − margin) ÷ (size × (1 − MMR)). For a short, (entry × size + margin) ÷ (size × (1 + MMR)). For any higher bracket, use the venue's published complete formula and include its maintenance amount.
  4. Compare with the platform's figure. Do not diagnose the cause from the size of the gap alone. Check the bracket rate and maintenance amount, fixed margin, accrued funding, open-order margin and any closing-fee allowance against the venue's current rules.
  5. Convert the result into a percentage distance from the current mark price, not from entry. Distance from entry is a historical fact. Distance from mark is the thing that can hurt you today.

Do this and one more habit follows naturally, which is checking the liquidation price again after every change to the position rather than only at open. Adding size changes it. Adding margin changes it. Partially closing changes it, and often by more than people expect, because a partial close reduces notional while leaving margin behind and can drop you into a lower bracket at the same time. Under cross margin it also moves when an unrelated position in the same account gains or loses. The only case where the number genuinely sits still is a single isolated position you never touch, and even then a bracket change published by the exchange can shift it underneath you.

A discrepancy can come from several places. The published formula subtracts a maintenance amount as well as applying a rate, which keeps the brackets continuous at their boundaries. Accrued funding changes available margin, open orders that would increase the position can reserve margin, and some venues include an estimated closing fee. The size of the difference is not a reliable diagnosis: it depends on the bracket, position and account state. Where the two disagree, use the platform number, because that is the level its engine will act on.

The number under the order form is correct. It is just not constant, and it is not the same number ten minutes later if you have touched anything. Reading it as a fixed property of the trade is the specific error that this whole page exists to fix, and it is the one I made first.