> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Index Price

> Index price aggregates major spot venues with 24-hour volume weighting, deviation filtering, and failover to produce a manipulation-resistant fair value.

The index price is Intention's best-effort fair value for an asset, computed from a basket of major external spot venues. It is the ground truth that the [mark price](/trading/mark-price), funding, and liquidation systems all build on. Because it is aggregated from multiple sources and checked for anomalies, it is far harder to manipulate than any single venue's order book.

Index price is recomputed every **3 seconds** and published on-chain, so every downstream calculation (mark price, unrealized PnL, funding basis) uses a fresh number.

## Core formula

```
index_price = Σ (price_i × weight_i)
weight_i = exchange_i_24h_volume / total_24h_volume_of_reference_exchanges
```

Each component exchange contributes in proportion to its 24-hour trading volume in the base asset. Higher-volume venues have proportionally more influence.

## Source exchanges

At launch, Intention supports the following spot venues as index components:

* **Tier 1 (Phase 1)** — Binance, Bybit, OKX, Coinbase, Kraken, KuCoin, Gate.io, MEXC, Bitget, Binance Perp
* **Tier 2 (future)** — Upbit, plus decentralized venues like Uniswap, PancakeSwap, and Raydium

For each contract, Intention picks 3–5 of these venues that have the deepest liquidity for the specific pair. For example, BTCUSDT pulls from Binance, Bybit, Coinbase, Gate.io, KuCoin, and OKX; USDCUSDT uses a different subset.

## Currency conversion

Not every spot venue lists a symbol with USDC as quote. When needed, prices are converted:

```
(BASE/USDT) × (USDT/USDC) = BASE/USDC
```

Stablecoin conversion rates are themselves pulled from index data. If USDT depegs beyond 1%, an alarm fires and the risk team can switch the conversion basis.

For contracts with a non-unit multiplier (for example, `1000PEPEUSDC`), the conversion also multiplies by the contract multiplier so the resulting price is in the correct contract units:

```
(PEPE/USDC) × 1000 = 1000PEPE/USDC
```

## Data checks

On each 3-second sampling cycle, every source is checked for:

* **Freshness.** If a source has not updated in more than 5 minutes, it is marked stale and excluded from this cycle.
* **Availability.** If the API call fails, the source is marked unavailable.
* **Deviation.** If a source's latest price deviates from the median by more than the configured threshold, it is excluded from this cycle. Defaults: 3% general, 1% for majors (BTC, ETH, XRP, stables), 10% for new listings on day one.

A whitelist override can temporarily exempt specific exchange/pair combinations from the deviation check, for situations where a venue is known to legitimately diverge for a short period.

## Healthy, degraded, and emergency modes

* **Healthy (≥ 2 exchanges).** Compute the volume-weighted average across valid exchanges.
* **Degraded (1 exchange).** Use that single exchange's price directly.
* **Emergency (0 exchanges).** Fall back to an internal calculation using an EMA of the platform's own order-book mid.

### Emergency formula

```
T_n index = α × target_price_at_T_n + (1 − α) × index_at_T_(n−1)
```

Default smoothing factor `α = 0.1818`. The target price is either the last trade (if the order book is invalid) or the depth-weighted mid computed using the impact margin notional — see [Funding](/trading/funding) for the same depth-weighted mechanism.

The emergency path ensures price continuity during extreme events without letting the internal book alone drive the oracle forever. As soon as at least two external sources come back online, the system switches back to normal mode.

## Pre-listing price generation

For contracts that are about to list, Intention starts computing the index price at least 10 minutes before trading opens. This gives the derivative a reliable price anchor at the first block of trading and lets the risk team verify that data sources are healthy and the price is stable. If fewer than two external sources are available, the listing can be delayed or can use a custom pre-listing index mechanism.

## Auditability

Every index price computation is logged with full inputs: which exchanges were polled, which were excluded and why, the weights used, and the final result. Any discrepancy between Intention's index and external dashboards can be traced to a specific component price on a specific cycle.

Governance can also re-weight, add, or remove source exchanges at any time through the admin interface — changes take effect immediately with no service restart, are recorded in a configuration audit log, and support one-click rollback.

## The terminology

* **Index price / oracle price.** The same thing on Intention — the external-weighted fair value computed as described here.
* **Mark price.** A further-processed value used for P\&L, margining, and liquidation; mark price is built from the index price plus other signals. See [Mark price](/trading/mark-price).
* **Last price.** The most recent fill on Intention's own book. Not used by the risk system but shown to traders for transparency.
