PolyTerminal
Language en
Open Terminal

Perps guide

Perps Mark Price vs Index Price vs Last Price

The three prices of a Polymarket Perps market: how the index and mark prices are built, why liquidation uses the mark price and what sessions change.

  • By PolyTerminal Team
  • Checked against the docs
  • Updated
  • 6 min read
On this page

Why there are three prices

(The Perps guide introduces all three prices.) If a position were valued at the last trade, one small trade in a thin book could move your profit and loss, your margin and even trigger a liquidation. Polymarket avoids that by keeping two kinds of price apart.

Execution prices come from fills in the order book. Calculated prices are Polymarket's own estimates, built for reference and for risk checks. The split matters because one small or isolated trade should not be able to change an account's risk state or trigger liquidation by itself.

Price What it is What it is used for
Last price The price of the latest fill on this order book Trade history and execution records
Index price The exchange's estimate of the fair value of the underlying asset The reference price that the funding premium is measured against
Mark price The price used to value positions Profit and loss, margin checks and liquidation triggers

The last price does not value your position directly, and Polymarket's pages word this in two ways. The Perps FAQ says the last trade price is not used for margining. The mark price page lists the last trade as one of the three inputs of candidate two, median(BestBid, BestAsk, LastTrade), so a recent trade can influence the mark through that candidate. This guide follows the mark price page, because it gives the formula.

The index price

The index price is the exchange's view of what the underlying asset is worth. It is built from outside price feeds such as Pyth, Chainlink Data Streams and Hyperliquid. The exchange combines the feeds as a weighted average after stale prices and outliers are dropped, which keeps one stale or odd feed from moving it. It is published every 200 milliseconds for each market.

Which feeds are used depends on the market session, as described below.

The mark price

The mark price is the median of three candidates, and it is updated every 200 milliseconds. Each candidate looks at a different source of truth.

How the Perps mark price is builtThree candidates feed the mark price: an order book candidate smoothed against the index, a local activity candidate, and an external mark candidate. The mark price is their median, the middle value. It is used for unrealized profit and loss, margin checks and liquidation triggers.C1Index + smoothed gapto the order book midC2Median of best bid,best ask and last tradeC3Aggregated externalmark feedsMedianMark priceProfit and lossMargin checksLiquidation triggersThe mark price is the middle value of the three candidates.
The three candidates and what the mark price is used for.
  • Candidate one follows the order book, but slowly. It is Index + EMA(Mid - Index), where the mid price sits halfway between the best bid and the best ask, and EMA is an exponential moving average, a smoothing that gives recent values more weight. The smoothing uses a window of 150 seconds, so it resists short bursts and manipulation of the book. It lags in fast markets.
  • Candidate two follows what is trading locally. It is median(BestBid, BestAsk, LastTrade). A last trade is only used if it is recent, so an old print cannot anchor the price. It reacts quickly and can be pushed around when liquidity is thin.
  • Candidate three is independent of the local book. It is built from separate outside mark feeds: the exchange drops stale samples, filters outliers and averages what remains. It depends on those feeds being available.

The median is what makes this robust. Polymarket's wording is that at least two of the three candidates have to line up before the mark moves. In plain arithmetic, the median of three values always sits within the range spanned by any two of them, so one candidate that runs far away cannot drag the mark beyond the other two. The result is snapped to the nearest tick size before it is published.

When data is missing the mark does not stop. Each input falls back to the index price, and in the worst case, with no book, no recent trades and no outside mark feeds, all three candidates equal the index and the mark simply tracks the index.

What the mark price decides for you

Almost everything about the safety of a position is measured at the mark price.

  • Profit and loss. Unrealized profit and loss is the position size times the gap between the mark and your entry price, in your favor or against you depending on the side.
  • Margin checks. Your equity, and so your margin state, moves with the mark.
  • Liquidation. Liquidation starts when equity, valued at the mark, falls below the maintenance margin. See the liquidation guide.
  • Funding. Here Polymarket's pages differ. The funding page builds the premium from the order book and the index price: IPD = max(bid_impact - Index, 0) - max(Index - ask_impact, 0). The mark price page lists funding premium computation among the uses of the mark price, the Perps FAQ lists funding too, and a Sep 14, 2026 changelog entry says mark, funding, and margin all follow the index. This guide describes funding as measured against the index, the way the formula reads. See the funding rate guide.

Your fills happen at traded prices, while your risk is judged at the mark. You can try your own numbers in the liquidation calculator.

Market sessions

Perps trade around the clock, apart from short maintenance windows, but many underlying markets do not. Sessions are the exchange's way of describing the state of the underlying market and its price feeds.

A session changes one thing: which set of outside feeds builds the index and the external mark candidate. Regular hours can use feeds from a primary venue, for instance, while overnight hours can use feeds from after-hours venues. Sessions do not change funding, margin, leverage tiers, matching and liquidation triggers, so those run in the same way at every hour.

Polymarket's pages disagree on which session categories exist. The market sessions page lists Regular, Overnight, Weekend, Disrupted, Halted. A Sep 21, 2026 changelog entry says that page was corrected to list Regular, Premarket, Postmarket, Overnight, Halted, Unknown, Weekend and Closed, and that Disrupted never existed in the engine. The page still showed the old list on Oct 19, 2026.

Because the changelog entry is the newer word, this guide does not describe Disrupted as a real state. Regular, Overnight, Weekend and Halted appear on both lists. Halted means a trading halt or corporate-action freeze on the underlying; it changes how the index and the mark are sourced, and the perp keeps matching orders.

FAQ

How do the three prices of a Perps market differ?

The index price is Polymarket's own estimate of what the underlying asset is worth, built from outside feeds. The mark price is the one used for margin, profit and loss, and liquidation. The last price is simply the latest fill on the local order book.

Can the mark price differ from the last traded price?

Yes. The last price is the latest fill, while the mark price is the median of three candidates. Candidate one lags in fast markets and candidate two can be influenced by thin liquidity, so the mark and the last trade can part ways when the book is thin or the market moves quickly.

How does the mark price behave if outside feeds fail?

Each candidate falls back to the index price when its own data is missing. If the index feeds are also stale, the exchange uses the last known index. In the worst case every candidate equals the index and the mark tracks it.

Do market sessions change funding or liquidation?

No. Sessions only change which outside feeds are used for the index and the external mark candidate. Funding, margin, leverage tiers, order matching and liquidation triggers work in the same way at every hour of the day and week.

Sources and checks

Every rule quoted in this article comes from the registry below. Each row names the official page and the day it was compared with the text.

All 22 rules used in this article
RuleValueOfficial sourceChecked
Why execution prices and calculated prices are kept apartone small or isolated trade should not be able to change an account's risk state or trigger liquidation by itselfdocs.polymarket.com/perps/concepts
What the Perps FAQ says about the last trade priceis not used for marginingdocs.polymarket.com/perps/faq
Mark candidate C2median(BestBid, BestAsk, LastTrade)docs.polymarket.com/perps/learn-about-trading/mark-price
Index price feed sourcesPyth, Chainlink Data Streams and Hyperliquiddocs.polymarket.com/perps/learn-about-trading/index-price
How the index is combineda weighted average after stale prices and outliers are droppeddocs.polymarket.com/perps/learn-about-trading/index-price
Index price publication interval200 millisecondsdocs.polymarket.com/perps/learn-about-trading/index-price
Mark price constructionmedian of three candidatesdocs.polymarket.com/perps/learn-about-trading/mark-price
Mark price update interval200 millisecondsdocs.polymarket.com/perps/learn-about-trading/mark-price
Mark candidate C1Index + EMA(Mid - Index)docs.polymarket.com/perps/learn-about-trading/mark-price
Smoothing window of the order-book candidate150 secondsdocs.polymarket.com/perps/learn-about-trading/mark-price
How many candidates must agree for the mark to moveat least two of the threedocs.polymarket.com/perps/learn-about-trading/mark-price
Final step of the mark pricesnapped to the nearest tick sizedocs.polymarket.com/perps/learn-about-trading/mark-price
What each mark input does when its data is missingfalls back to the index pricedocs.polymarket.com/perps/learn-about-trading/mark-price
Impact price differenceIPD = max(bid_impact - Index, 0) - max(Index - ask_impact, 0)docs.polymarket.com/perps/learn-about-trading/funding
A use of the mark price listed on the mark price pagefunding premium computationdocs.polymarket.com/perps/learn-about-trading/mark-price
A use of the mark price listed in the Perps FAQfundingdocs.polymarket.com/perps/faq
Sep 14 changelog entry on what follows the indexmark, funding, and margin all follow the indexdocs.polymarket.com/changelog/perps
What sessions do not changefunding, margin, leverage tiers, matching and liquidation triggersdocs.polymarket.com/perps/learn-about-trading/market-sessions
Session categories listed on the market sessions pageRegular, Overnight, Weekend, Disrupted, Halteddocs.polymarket.com/perps/learn-about-trading/market-sessions
Session categories according to the Sep 21 changelog entryRegular, Premarket, Postmarket, Overnight, Halted, Unknown, Weekend and Closeddocs.polymarket.com/changelog/perps
What the Sep 21 changelog entry says about Disruptednever existed in the enginedocs.polymarket.com/changelog/perps
Halted session categorya trading halt or corporate-action freeze on the underlyingdocs.polymarket.com/perps/learn-about-trading/market-sessions

Perps · 8 min

Polymarket Perps Liquidation Explained

How liquidation works on Polymarket Perps: the trigger, the insurance fund, auto-deleveraging, the extra fee and how to read your distance to liquidation.

Perps · 6 min

Polymarket Perps Funding Rate Explained

How the Polymarket Perps funding rate is built from the order book, settled every hour and capped, who pays whom, and what it costs to hold a position.

Perps · 10 min

Polymarket Perps: How They Work

How Polymarket Perps work: perpetual futures with no expiry, margin, funding, mark price and liquidation, with the official rules and dates.

PolyTerminal is an independent interface for Polymarket and is not operated or endorsed by Polymarket. Orders placed through PolyTerminal carry PolyTerminal’s Polymarket builder code, and PolyTerminal may charge a builder fee on top of Polymarket’s own fees. This page is educational and is not investment advice. Rules were compared with the official documentation on Oct 19, 2026; check the source before you act on a number.