> For the complete documentation index, see [llms.txt](https://docs.reya.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reya.xyz/developers/devnet/pricing-and-funding/oracle-and-index-prices.md).

# Oracle & Index Prices

The **index price** is the external reference price for a market. On Reya it comes from **Stork**, a low-latency oracle network. It is an *input* to pricing — **not** the price your positions are marked at. That is the [mark price](/developers/devnet/pricing-and-funding/mark-price.md), which is built around the index but is not equal to it.

{% hint style="info" %}
**RWA index-price sourcing** (Gold, Silver, Oil, Mag7) is still being finalised and will be documented here. The crypto-market mechanism below is current.
{% endhint %}

## Stork feeds

Each crypto market is configured with **two Stork feeds**:

| Feed           | Example (ETH) | Role                                                                                              |
| -------------- | ------------- | ------------------------------------------------------------------------------------------------- |
| **Spot index** | `ETHUSD`      | the market's index / peg price                                                                    |
| **CEX mark**   | `ETHUSDMARK`  | one of the three inputs to the [mark price](/developers/devnet/pricing-and-funding/mark-price.md) |

Reya validates oracle updates for authenticity and freshness. Stork prices older than **10 seconds** are excluded from mark-price and funding calculations until a fresh update arrives.

## What the index price is used for

The index price is **not** the valuation price. It feeds three things:

1. **The mark-price anchor** — the mark price is the index plus a bounded, smoothed premium (see [Mark Price](/developers/devnet/pricing-and-funding/mark-price.md)).
2. **The funding premium** — funding is driven by how far the book trades from the index (see [Funding](/developers/devnet/pricing-and-funding/funding.md)).
3. **A safety bound on the mark price** — when a new mark price is pushed on-chain, it is rejected if it deviates from the live index beyond a configured tolerance, or if the index is stale.

## Reading prices

* **Asset oracle prices** — read `GET /v2/assetOraclePrices` or subscribe to WS `/v2/assetOraclePrices`. The feed returns `asset`, `oraclePrice`, and `updatedAt`, and deliberately has no AMM-era `poolPrice`.
* **Mark price** — read it from the market summary's `markPrice` field (see [Mark Price](/developers/devnet/pricing-and-funding/mark-price.md)).
* **Removed legacy prices feed** — `/v2/prices` and `/v2/prices/{symbol}` are removed. Use asset oracle prices for collateral/index prices, market summary `markPrice` for perp valuation, and depth/summary fields for book prices.

## Staleness

Index prices carry a **staleness bound**: a price that hasn't updated within its allowed window is treated as stale and rejected on-chain rather than used. A mark-price push that references a stale index is rejected, and a valuation that would rely on a stale mark reverts — both are causes of [trade busts](/developers/devnet/executions-and-settlement/trade-busts.md).
