Mark Price vs Last Price: What It Means for Automated Futures Orders

Mark price vs last price explained: what each number means, why they differ, and how the distinction drives automated futures fills, stops, liquidations, and PnL.

If you automate futures trading, you have probably noticed something confusing: your chart shows one price, but your position's liquidation level and profit-and-loss seem to react to a different number. That gap is the difference between mark price vs last price, and understanding it is essential before you let any system submit orders for you. The two numbers usually sit close together, but they are calculated differently and used for different jobs. When they diverge, automated orders can behave in ways that surprise traders who assume the exchange only ever looks at the most recent trade.

This guide explains what each price is, why exchanges maintain both, and exactly how the distinction shapes the behavior of your automated futures orders.

Last price: the most recent trade

The last price is the simplest number on the screen. It is the price at which the most recent trade actually executed on that exchange's order book. Every time a buy order matches a sell order, the last price updates. It is the number most charts plot by default, and it is what most people mean when they say "the price right now."

Because the last price reflects real, completed trades, it moves tick by tick with live order flow. That responsiveness is useful for a chart. It is also its weakness: on a thin order book, a single large market order can push the last price several ticks away from where the broader market is trading, even if only for a moment. That momentary move is often called a wick, and it is exactly the kind of noise that can cause trouble for an order that reacts to the wrong number.

Mark price: a smoothed, manipulation-resistant reference

The mark price is a calculated reference value that exchanges use to measure the fair value of a futures contract. Instead of tracking one exchange's most recent trade, it blends several inputs. A typical mark price combines an index price — an average of spot prices across major exchanges — with a funding component for perpetual contracts. The exact formula varies by venue, but the goal is the same everywhere: produce a stable number that is hard to move with a single trade.

This matters because the mark price decides when positions are liquidated and how unrealized profit and loss is calculated. If exchanges used the last price for liquidations, someone could briefly spike or crush the last price on one venue and force liquidations the real market never justified. The mark price exists to prevent exactly that. If you want the full picture of how this plays out, our guide on how automated futures traders track a liquidation price goes deeper, and perpetual funding rates explains the funding component.

Why exchanges maintain two different prices

At first glance, two prices for the same contract looks redundant. It is not. Each one has a distinct job.

The last price answers the question "what just traded?" It is the right input for order matching, because an order can only fill against real resting liquidity at real prices. The mark price answers a different question: "what is this position fairly worth right now?" That is the right input for risk decisions like liquidation, because those decisions should reflect the broader market, not a single noisy tick.

Keeping the two separate lets an exchange match orders responsively while still protecting traders from being closed out by a momentary wick. For anyone building automation, the key takeaway is that your entry and exit fills follow one number while your liquidation and PnL follow another.

How the distinction affects your automated orders

This is where the theory becomes practical. When your strategy fires a signal and your automation submits an order, several price-dependent behaviors come into play — and they do not all use the same price.

Order fills use the last price and the order book. A market order fills against the best available resting orders, so the price you actually get is driven by live order flow, not the mark price. This is also where slippage lives.

Stop and trigger orders can use either price, depending on the exchange and your settings. Many venues let you choose whether a stop is triggered by the last price or the mark price. A last-price trigger reacts faster but is more easily tripped by a brief wick. A mark-price trigger is steadier but can lag a sharp real move. If your automation sets stops, this choice directly changes when those stops fire.

Liquidation always uses the mark price. Your position is only force-closed when the mark price — not the last price — reaches your liquidation level. This is why a long wick on the chart might not close your position even though the last price briefly touched your liquidation number.

Unrealized PnL uses the mark price too. The profit-and-loss figure your automation reads from the exchange is marked against the mark price, so a position's displayed value can differ slightly from what you would get by closing at the last price.

A worked example

Suppose your automation is long a perpetual contract. The chart's last price dips sharply for a few seconds because someone dropped a large market sell on this one exchange, then it recovers. If your stop was set to trigger on the last price, it may have fired during that wick and closed your position at a poor fill. If your stop was set to trigger on the mark price, the smoothed reference may never have reached your stop level, so the position stayed open.

Neither choice is universally correct. A last-price trigger protects you faster in a genuine fast move; a mark-price trigger protects you from noise. The point is that your automation's behavior becomes predictable once you know which price each order type references.

Best practices for automating around mark and last price

Before you wire a strategy to live orders, build these habits:

  • Check which price your exchange uses to trigger stop and conditional orders, and set it deliberately rather than accepting the default.
  • Decide per strategy whether you want last-price or mark-price triggers — fast scalping strategies and slower swing strategies often want different answers.
  • Read unrealized PnL from the exchange's mark-price figure, not from your chart's last price, when your automation makes sizing or exit decisions.
  • Track your liquidation level against the mark price, and keep margin headroom so a noisy last-price wick never becomes a real problem.
  • Test the behavior with small size, or in a sandbox, before trusting it with a full position.

A relay like SignalToExchange submits the exact order your signal asks for, so the price references above are set by your exchange settings and your strategy — not by the relay. That is the design goal: you keep control of the logic and the risk configuration, and the infrastructure just delivers the order reliably.

Where this fits in an automated setup

The relay layer is a non-custodial webhook service. It receives your trading signal and submits the corresponding order to your exchange using trade-only API keys, which cannot withdraw funds. Your money never leaves your own exchange account. Because the relay only places the orders you define, understanding mark price vs last price is part of designing a strategy that behaves the way you expect once it runs automatically. Whether you fill at the last price or get stopped out on the mark price is determined by your settings, and the relay faithfully carries out whatever you configured.

Frequently Asked Questions

Is mark price or last price the "real" price?

Both are real; they simply answer different questions. The last price is the most recent executed trade. The mark price is a calculated fair value used for risk. For automated trading, treat the last price as what you fill at and the mark price as what your open position is measured against.

Which price triggers a liquidation?

The mark price. Exchanges liquidate positions based on the mark price specifically so that a brief spike or wick in the last price on a single venue cannot force a liquidation the broader market does not justify.

Can I choose which price triggers my stop orders?

On many exchanges, yes. Stop and conditional orders often let you pick a last-price or a mark-price trigger. Check your venue's order settings and set this deliberately in any strategy you automate, because the default is not always what your strategy needs.

Why is my unrealized PnL different from the chart?

Because unrealized PnL is usually calculated from the mark price, while your chart plots the last price. When the two diverge, your displayed PnL will differ slightly from a naive calculation based on the last traded price.

Does this matter for spot trading too?

Mark price mainly applies to derivatives such as perpetual futures. Spot trading generally references the last traded price directly. If you are weighing the two, our guide on spot vs futures automation covers the practical differences, and market vs limit orders explains how each order type interacts with live prices.

Bringing it together

Knowing how mark price vs last price drive your fills, stops, and liquidations is the kind of detail that separates a strategy that looks good on a chart from one that behaves predictably in live markets. The last price is what you trade at; the mark price is how your risk is measured. Set your trigger prices deliberately, read PnL from the right number, and give your margin some headroom.

When you are ready to route your signals to your exchange with trade-only keys and full custody of your funds, request access / start your free trial and connect your first strategy.

Automated trading involves risk. SignalToExchange is execution infrastructure and does not provide financial advice, trading signals, or guarantees of any kind.

Secure Signal Routing Infrastructure

Non-custodial execution. Trade-only API keys. Independent infrastructure built for reliability.

Request Early Access

Trade-only API key enforcement. No withdrawal permissions. No custody.