# Pre-market Listings

Pre-markets enable trading before a formed spot market exists. As a result, mark and index prices are derived from internal order book dynamics rather than external reference markets.

Due to the absence of reliable external pricing and typically lower liquidity, pre-markets carry increased risk, including higher volatility, wider spreads, and greater susceptibility to price dislocations.

### Risk Framework

To account for these risks, pre-markets are launched with conservative risk parameters, including:

* Lower position limits
* More restrictive margin requirements

These parameters are designed to protect both users and the protocol during the early stages of price discovery.

### Mark and Index Price

In pre-markets, both Mark and Index prices are derived from exponentially weighted averages of order book prices.

The market is initialised with `initial_mark_price`, derived from:

* OTC quotes
* Polymarket FDV
* Assumed token supply

**Oracle Price**

The oracle price represents a smoothed estimate of fair value based on historical mark prices.

* Sampled once per minute
* Defined as a 45-min EWMA of past mark prices
* When historical marks are unavailable, `initial_mark_price` is used as padding

```
oracle_0 = initial_mark_price

oracle_t = α · mark_{t−1} + (1 − α) · oracle_{t−1}

α = 1 − exp(−1 / 45)
```

To prevent runaway pricing in illiquid conditions:

```
oracle_t ≤ 5 × initial_mark_price
```

**Mark Price**

The mark price is the executable fair price used for PnL and liquidations.

* Computed once per minute, after the oracle update
* Uses impact mid price with $500 notional
* Combines the oracle (slow anchor) with a smoothed deviation

```
mark_t = oracle_t + D_t

D_0 = 0

D_t = β · (impact_mid_t − oracle_t) + (1 − β) · D_{t−1}

β = 1 − exp(−1 / 45)
```

Intuition:

* `oracle_t` captures long-term fair value
* `impact_mid_t` reflects current tradable levels
* `D_t` ensures gradual adjustment without overreacting to short-term noise

**Index Price**

The index price is a slower, manipulation-resistant reference price.

* Defined as a 45-min EWMA of mark prices
* Updated once per minute
* Uses the same decay as the oracle
* No caps are applied

```
index_0 = initial_mark_price

index_t = α · mark_t + (1 − α) · index_{t−1}

α = 1 − exp(−1 / 45)
```

### Transition to Regular Market

Once the underlying spot market is live and reliable external pricing is available:

* Mark and Index prices transition to standard oracle-based pricing, referencing external market data
* Risk limits and margin schedules are revised to reflect improved liquidity and reduced uncertainty

No user action is required during the transition.
