> For the complete documentation index, see [llms.txt](https://docs.force.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.force.xyz/perp-mechanics/mark-price.md).

# Mark Price

The mark price is what positions are margined and liquidated against, what triggers stop and limit orders, and what unrealised PnL is computed from. It is deliberately harder to move than the last traded price.

It is the **median of three components**:

1. The oracle price.
2. The oracle price plus a 150 second exponentially weighted moving average of the difference between the perp's mid price and the oracle price.
3. The median of the best bid, the best ask, and the last trade.

$$
\text{Mark} = \mathrm{median}\Big(S,;; S + \mathrm{EMA}*{150s}(P*{\text{mid}} - S),;; \mathrm{median}(P\_{\text{bid}},, P\_{\text{ask}},, P\_{\text{last}})\Big)
$$

where $$S$$ is the oracle price and $$P\_{\text{mid}}$$ is the midpoint of the best bid and best ask.

Taking the median of three independently derived numbers is what makes the mark robust: no single component can drag it on its own. If the oracle is pushed, the two order-book components outvote it. If the book is pushed, the oracle and the smoothed basis outvote that. The 150 second average damps sudden moves in the book rather than passing them straight through.

Liquidations use the mark price, not the last trade. A brief spike in the last traded price does not by itself put a position at risk.

## The bound

On top of the median, the mark is restricted to within **±(1 / max leverage)** of the [external price](/perp-mechanics/external-price.md), the last price a real market set. That is ±5% for FORCE-US10Y and ±10% for FORCE-MORT30.

The bound applies at all times, and it does the most work during the Internal session, when the external price is frozen at the last market close and the order book is thin. It is what stops a weekend book from dragging the mark an arbitrary distance.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.force.xyz/perp-mechanics/mark-price.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
