Mark Price vs Last Price on Binance: Which Liquidates You

· 13 min read

On Binance USDⓈ-M Futures, the last price is the price of the most recent trade on the contract, and the mark price is a fair value Binance calculates from a multi-exchange spot index and the funding basis. The mark price liquidates you: liquidation and unrealized PnL are calculated on it. Your stop-loss triggers on whichever one you choose, and the defaults differ by order type.

Cover: mark price vs last price on Binance, which one liquidates you and which one triggers your stop

Two prices, two jobs

Every futures screen on Binance carries both numbers, and the chart can show either one. They usually sit close together. Binance's own stop-loss FAQ says "the mark price is generally a few cents from the last price", and in the same breath warns that "the last price might deviate dramatically and significantly from the mark price during extreme price movements."

Comparison of last price and mark price on Binance Futures: what each one is and what it drives

The split is deliberate: the last price settles what you actually traded at, and the mark price judges whether your position can survive. Which one triggers a stop is your choice, and that choice is most of this article.

What is the last price on Binance?

Binance's liquidation FAQ defines it in one line: "Last Price refers to the latest transaction price the contract was traded at." It is the price printed by the last match on the contract's own order book.

That makes it honest and jumpy. One large market order on a thin book can sweep several levels and print a trade far from where the market was a second earlier: a long wick, and a moment later the price is back. Nothing about the coin's value changed. Binance's PnL FAQ calculates realized profit and loss on the last price.

What is the mark price in Binance futures?

The mark price is Binance's estimate of the contract's fair value. Its mark price FAQ describes it as a mechanism "to ensure a fair and accurate pricing for Futures contracts", less volatile in the short term than the contract's own trades. The reason it exists is stated just as plainly: "Binance uses the Mark Price to prevent unnecessary liquidations and discourage market manipulations by bad actors."

If liquidation ran on the last price, anyone able to push one thin book for a second could liquidate the positions resting there.

The Binance mark price formula

For USDⓈ-M perpetual contracts, Binance's FAQ (updated 25 September 2026) gives the formula as the median of three prices:

  • Price 1 = Price Index × (1 + Last Funding Rate × (Time Until Next Funding ÷ Funding Period))
  • Price 2 = Price Index + the average basis over the last 30 seconds
  • Contract Price, the futures contract's own price

The 30-second basis is sampled once a second: Binance takes the midpoint of the best bid and best ask, subtracts the price index, and averages 30 of those samples. TradFi perpetual contracts use a 60-second window, and pre-market perpetuals use a different method.

Flow of how Binance builds the perpetual mark price: spot index, Price 1 with funding, Price 2 with basis, median of three

The median is the clever part, and you can check it yourself. With three inputs, the median is the middle one. If a wick drags the contract price far below both Price 1 and Price 2, the median becomes the higher of those two: the wick's own price is simply outvoted.

Mark price vs index price on Binance

The price index is the foundation under both Price 1 and Price 2. Binance defines it as "the weighted average spot price of the asset across multiple crypto exchanges", and it protects it in three ways:

  1. Outlier cap. If one exchange's price strays more than 3% from the median of all sources, Binance caps it at 1.03 or 0.97 times that median; some symbols use a tighter 1% cap.
  2. Stale feeds. An exchange that has not updated for five minutes gets a weight of zero.
  3. Fallback. If no stable reference is available, a "Last Price Protected" mechanism temporarily updates the index from recent contract trades.

So the index is spot value across markets; the mark price is that value adjusted for where the perpetual is trading relative to it, through the funding rate and the bid-ask basis. Through the API, GET /fapi/v1/premiumIndex returns markPrice, indexPrice and lastFundingRate side by side, which is the quickest way to see all three at once.

Which price liquidates you

The mark price, without exception. Binance's liquidation FAQ (updated 4 January 2026): "Liquidation occurs when the Mark Price hits the liquidation price of a position", and "liquidation will always be triggered when a position's Mark Price reaches its liquidation price."

Underneath, the test is about margin. A liquidation is triggered when your collateral, including unrealized PnL, falls below the maintenance margin. Binance tracks this as the margin ratio, maintenance margin divided by margin balance, and recommends keeping it below 80%. Because unrealized PnL is valued at the mark price, the mark price is what pushes that ratio to the edge.

Illustration: the last price wicks below a long's liquidation price while the mark price stays above it

Two consequences follow. A wick on the last-price chart can cross your liquidation price while you survive, because the mark price never got there. And a genuine move across all markets moves the index, so the mark price can reach your liquidation price while the contract's own chart looks orderly.

What each price feeds, with the Binance page that says so:

Table of what each price drives on Binance USDS-M Futures: liquidation, PnL, funding and stop defaults

Funding belongs on that list too. Binance's funding FAQ calculates each payment from the position's nominal value, mark price times size, every 8 hours by default.

Entry price vs mark price: what your PnL shows

Your entry price is the average price your position was filled at. Your unrealized PnL compares it with the mark price. Binance's PnL FAQ gives the formula as position size × direction × (mark price − entry price), with direction +1 for a long and −1 for a short.

A long of 0.1 BTC entered at 60,000 USDT with the mark price at 60,500 shows 0.1 × (60,500 − 60,000) = +50 USDT unrealized, whatever the last trade printed. Those numbers are an example; the formula is Binance's.

The Positions tab lets you switch the displayed PnL and ROI% to another price basis (click PnL (ROI%)). That changes the number on your screen, not the one Binance's liquidation engine reads.

Which price triggers your stop-loss and take-profit

Here you choose. Binance's stop order FAQ (updated 11 March 2026) lets you pick Last Price or Mark Price as the trigger for stop-limit and stop-market orders, and the defaults are not the same:

  • Stop-limit: "The stop price that triggers the limit order is 'Last Price' by default."
  • Stop-market: "The stop price that triggers the market order is 'Mark Price' by default."

Through the API the setting is called workingType, with two values, MARK_PRICE and CONTRACT_PRICE, and the default is CONTRACT_PRICE, the last price. So the same stop placed in the app and by a script can watch different prices unless you set it explicitly.

Two more details from the stop-loss FAQ. A mark-price trigger is compared after the mark price is truncated down to the contract's price precision, so a stop can fire a fraction past your level. And to switch between mark and last, cancel the order and place a new one.

The trigger direction matters as much as the price type. A stop that is already on the wrong side of the chosen price when you place it is refused, which is the story behind Binance error -2021, "Order would immediately trigger".

Why mark price and last price diverge

The gap opens when the contract's own trading moves faster or further than the spot markets behind the index:

  • Thin order books. Smaller contracts have fewer resting orders, so one large market order prints trades far from fair value.
  • Liquidation cascades. Forced closes arrive together and hit the same book at once.
  • News. The futures contract can react before spot exchanges catch up, and the 30-second basis takes time to follow.

Illustration timeline of a wick: the last price drops 3.8% in a second, a last-price stop triggers, a mark-price stop does not

Most of the time the choice of trigger changes nothing. It matters in exactly the seconds that hurt.

Mark price or last price for a stop-loss: which is better?

Neither, in general. Binance's own explainer on stop orders states the trade-off on both sides:

  • Last price trigger: it "ensures the stop price is closer to the order's execution price", but "it is not a foolproof method to avoid liquidation since the liquidation price is always the Mark Price."
  • Mark price trigger: it "always coincides with the liquidation price of a futures contract", but "the price at which your stop order is executed may deviate further from your trigger price."

Quadrant: which stop trigger fits deep or thin markets, and exiting near a level or staying clear of liquidation

A useful way to decide is to ask what the stop is for:

  1. To get out before liquidation: use the mark price. It watches the same number the liquidation engine watches.
  2. To cap the loss at a precise level: use the last price. It reacts to the trades you can exit into, and the fill lands closer to your level.
  3. On a thin, wicky coin: expect last-price stops to trigger on spikes that reverse. Widen the stop or move it to the mark price.
  4. With a stop-limit: be careful with the mark price. Binance warns the order "may not be executed at all", because the mark price "cannot be used to fill an order": the limit order lands on a book that may already be past it.

Binance even suggests both at once: one stop on the last price "to prevent excessive losses, and another with the Mark Price as the trigger to avoid liquidation." Make both reduce-only or close-position orders, so neither can open a new position after the other has closed yours; why a reduce-only order fails on Binance covers the errors there.

The cost of a stop in a fast market

A stop-market order guarantees an exit, not a price. In a fast move the market order fills against whatever the book holds, and the loss can run past the distance you planned.

Illustration: a stop-market exit in a fast move, planned stop distance plus slippage plus fees

So a stop needs room inside the liquidation distance. At 10x, a position loses its margin on a move of roughly 10% before fees, and Binance liquidates a little earlier because of the maintenance margin; a stop at 9.5% leaves no room for slippage. How leverage trading works in crypto walks through that arithmetic, and how to set a stop-loss in crypto covers where to put one in the first place.

Price protection: the third setting

Binance adds one more safeguard on top of the trigger type. With Price Protection on, a stop-loss or take-profit is not triggered when the gap between the last price and the mark price exceeds the contract's threshold, which Binance lists in its Trading Rules. Its FAQ (updated 2 January 2026) describes the purpose as protecting open orders "from extreme market movements and abnormal trading activities."

Illustration gauge of the gap between mark and last price against a price protection threshold

The app toggle does not reach API orders: "orders placed via API won't be affected by the Price Protection function." There it is set per order (below). And protection cuts both ways: in a real crash the gap can be wide exactly when you want out, so a protected stop may wait while the market keeps moving.

Setting the trigger through the API

Binance's current USDⓈ-M documentation places TP/SL and trailing stop orders on the algo order endpoint, POST /fapi/v1/algoOrder, where the level is sent as triggerPrice. Three fields decide how the order behaves:

  • workingType: MARK_PRICE or CONTRACT_PRICE. Default CONTRACT_PRICE.
  • priceProtect: true or false, for STOP_MARKET and TAKE_PROFIT_MARKET. Default false; the symbol's threshold is triggerProtect in GET /fapi/v1/exchangeInfo.
  • reduceOnly or closePosition: so the exit can only shrink the position.

A script that never sends workingType is running last-price stops, whatever its author assumed from the app. Read the price you will be judged on immediately before placing, and check the trigger is on the correct side of it. Errors from this path are collected in Binance Futures error codes.

How HafizeBot's autotrader handles it

HafizeBot sends AI-generated signals from a model that evaluates 240+ indicators, formulas and components across 523 Binance USDⓈ-M pairs. Members who switch on autotrading set their own leverage, position size, maximum open positions and stop-loss, on their own Binance account; the key needs futures trading only, so use a key with withdrawals off. HafizeBot never withdraws or transfers funds.

A member's stop goes to Binance as a reduce-only stop-market order on their own account. On isolated margin the bot does not accept a stop wider than 70% of the liquidation distance for the member's leverage, the rule explained in Binance Futures leverage limits, so the stop has room to trigger before the mark price reaches liquidation. That room is not a guarantee: in a fast market a stop-market order can still fill past its level.

Broadcast signals carry a target and a maximum hold, not a stop, and each one's outcome is published on the performance page, where a signal that misses its target in time counts against the target-hit rate.

Checklist before choosing a stop's trigger type: liquidation is a mark-price level, mark for liquidation, last for precise exits

Frequently asked questions

What is the difference between mark price and last price on Binance? The last price is the price of the most recent trade on the futures contract. The mark price is a fair value Binance calculates from a multi-exchange spot index plus the funding basis, and it is what Binance uses for liquidation and unrealized PnL.

Does Binance liquidate on mark price or last price? On the mark price. Binance's liquidation FAQ says liquidation is always triggered when a position's mark price reaches its liquidation price, so a wick on the last price alone does not liquidate you.

Should I use mark price or last price for a stop-loss? Use the mark price when the stop's job is to get you out before liquidation, because it watches the same price. Use the last price when you want the exit close to a precise level and accept that a brief wick can trigger it.

What is the default trigger for stop orders on Binance Futures? In the app, a stop-market order triggers on the mark price by default and a stop-limit order on the last price. Through the API, workingType defaults to CONTRACT_PRICE, which is the last price.

How is the Binance mark price calculated? For perpetuals it is the median of three prices: the index adjusted by the last funding rate, the index plus a 30-second average of the bid-ask basis, and the contract price. The index is a weighted average of spot prices across several exchanges.

The short version

The last price is where the contract traded; the mark price is Binance's fair value, built from a spot index, funding and a 30-second basis, behind a median a single wick cannot drag. Liquidation and unrealized PnL run on the mark price. Your stops run on whichever price you pick, with different defaults in the app and the API, so pick on purpose.

Three numbers inside Binance's mark price: a 30-second basis window, a 3% index outlier cap, an 8-hour funding interval

To see HafizeBot's record before anything else, read the performance page, misses included, or follow the free Telegram channel, which posts the stronger signals (strength 3 and up) 20 minutes after VIP. If you want every signal instantly and optional autotrading, there is a 3-day free trial, and plans start at 50 USDT a month with /join in @hafizebot. This is information, not investment advice: leveraged futures can lose more than you expect, so trade only what you can afford to lose.

mark price vs last price binance what is mark price in binance futures binance mark price formula mark price or last price for stop loss mark price vs index price binance entry price vs mark price binance