Oracle Price
The Index Price (also called the Oracle Price) represents the fair spot market price of an asset. It is derived from multiple major centralized exchanges and serves as the foundation for the funding rate calculation and as a reference for the Mark Price.
Data Sources
Each trading pair has a configured set of exchange price sources with assigned weights. For most assets, the default sources and weights are:
Binance
70%
Bybit
20%
OKX
10%
The Oracle Price is published every 3 seconds by the validator node.
Oracle Price = Σ (Price_i × Weight_i)For the full list of data sources per trading pair, see Supported Assets.
Protection Mechanisms
Several safeguards ensure the Oracle Price remains accurate and resistant to manipulation:
Outlier Filtering
If an exchange's reported price deviates from the median by more than the configured threshold (e.g., ±5% for most assets; ±1% for BTC and ETH), the price is automatically capped to the deviation threshold. Once the price returns to a normal range, it is re-included at its actual value.
Example: If the median spot price is 100 and OKX reports 120 (a 20% deviation exceeding the 5% cap), OKX's price is capped to 105 for the calculation.
Dynamic Weighting
Exchange weights are dynamically adjusted based on two factors:
Liquidity Weight W(L): Reflects the exchange's trading depth and volume. Measured using the square root of the exchange's 1-minute trading volume, preventing any single exchange from having disproportionate influence.
Latency Weight W(T): Reflects how quickly the exchange's price data is received. Calculated using an exponential decay function:
W(T) = e^(-k × Latency)where k = 0.5. Lower latency results in higher weight.
The final weight for each exchange is proportional to W(L) × W(T), normalized so all weights sum to 100%.
Last updated

