# Price Oracles

Each product uses an external, verifiable price oracle. The accepted oracle price is the mark used for unrealized PnL, margin, liquidations, stop triggers, and funding. It is separate from the last trade and order-book midpoint.

Meridian validates incoming updates against the product's configured price bounds. WebSocket `Ticker` publishes the mark in `markPx`, and `GET /v1/product/market-price` returns it in `oraclePrice`. Liquidations also include oracle data that the smart contracts validate for freshness.

Current deployments source reference prices from Pyth Lazer. Product metadata identifies the configured feed in `pythFeedId`.

## Scheduled mPerp Gaps

For mPerps with scheduled reference-market closures, Meridian freezes the last accepted mark for the gap. The next accepted price replaces it at reopen and can trigger stops or liquidations.

Use `GET /v1/product/mark-price-gap` to get scheduled windows. See [Mutualized Perps](/trading/perpetual-futures/rwa-perpetuals).
