> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.paradex.trade/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.paradex.trade/_mcp/server.

# Mark price

Dated Option pricing and risk metrics are computed using the **Black-76 model**, which prices options directly off the forward price of the underlying. The mark price depends on the following dynamic inputs:

1. **Synthetic Forward Price (F)** — constructed as

$$
F = S \times e^{\,f \,T}
$$

where $S$ is the Paradex spot oracle price, $f$ is the **annualized forward rate** for the option's expiry (calibrated externally from Deribit), and $T$ is the time to expiry in years.
2\. **Mark Implied Volatility (Mark IV)** — the external IV fit from a reference exchange (see below).
3\. **Risk-free rate (r)** — used only for discounting the option payoff from expiry back to present value. Currently set to **0%**.

> **Note**
>
> Under Black-76, the synthetic forward $F$ is the level the option is priced against. The spot oracle price $S$ enters only through $F$; any expectations about funding, dividends, or carry are absorbed into the externally calibrated annualized forward rate $f$. The risk-free rate $r$ and the annualized forward rate $f$ are separate inputs and serve different roles — $f$ shapes the forward, $r$ discounts the payoff.

## Mark Implied Volatility

Mark IV is calculated directly by fitting the implied volatility surface from a reference exchange:

| Underlying | Reference exchange |
| ---------- | ------------------ |
| BTC        | Deribit            |
| ETH        | Deribit            |
| HYPE       | Derive             |

## Forward rate calibration

The **annualized forward rate $f$** is calibrated externally from Deribit for each option expiry and refreshed continuously. It is combined with the Paradex spot oracle to produce the synthetic forward $F = S \times e^{\,f\,T}$.

The **risk-free rate $r$** is a separate platform parameter used solely for discounting. It is currently set to **0%**.