Markets
Oracle prices
Last updated
The oracle price is the external reference price derived from licensed market data sources which is used to anchor Markets by Kinetiq contracts to real-world market conditions.
The same data infrastructure powering CBOE & Bitstamp by Robinhood is the Oracle backbone of Markets. Kaiko provides institutional-grade pricing, granular tracking, and formal SLAs for 24/7 perpetual equity markets.
It serves as the foundational pricing input for mark price calculation, funding rates, and risk management.
The oracle system is designed to:
- Reflect institutional-grade market data
- Remain robust across regular and extended trading hours
- Enable 24/7 trading of traditional assets
- Protect against manipulation and liquidity events
Price types overview
Price type | What it is | Used for | Manipulation resistant? |
|---|---|---|---|
Oracle price | External reference price from data providers | Funding rates, mark price component | ✅ Yes (multi-source) |
Mark price | Median of 3 components | Liquidations, P&L, margin, stop triggers | ✅ Yes (median + EMA + bounding outside regular trading hours) |
Last trade price | Most recent execution | Order fills, display | ❌ No (single trade can spike) |
Trading sessions & coverage
All times referenced herein are Eastern Time (ET) and subject to U.S. exchange holiday schedules.
Session | Time window | Oracle source |
|---|---|---|
U.S. regular hours | 9:30 AM – 4:00 PM ET (Mon–Fri) | Direct US exchange prices (NYSE, NASDAQ) |
Extended hours | Pre-market & after-hours | Licensed exchange + ATS liquidity |
Overnight sessions | When U.S. exchanges are closed | ATS liquidity where available |
Weekends & holidays | Outside exchange hours | Internal pricing mechanism |
Internal pricing (when external unavailable)
When external feeds are unavailable, the oracle advances via continuous-time exponentially weighted moving average:

EMA update formula
Where:
St = New Oracle price at time t |
St−1 = Previous Oracle Price |
β = Decay Factor (higher β = slower adjustment) |
IPD = Impact Price Difference (orderbook pressure signal) |
Impact price difference (IPD)
IPD result | Interpretation | Effect |
|---|---|---|
IPD > 0 | Buying pressure (bid > oracle) | Oracle price moves up |
IPD < 0 | Selling pressure (ask < oracle) | Oracle price moves down |
IPD ≈ 0 | Balanced orderbook | Oracle price stable |
Impact bid/ask = average execution prices to trade a configured notional amount
EMA parameters
Time constant (τ): 1 hours |
Decay factor: β = exp(−Δt*/τ) |
Δt capped at 0.1τ (≈6 min) to prevent overreaction after gaps |
Illiquid markets protocol
Outside of regular trading hours, the oracle is designed for consensus price discovery even when primary orderbook sources are illiquid.
How it works
When the market spread exceeds the _SPREAD_THRESHOLD_ (0.5%), the protocol uses external bid and ask prices as bounds to constrain the offline price:
Where:
St = Final oracle price at time t |
S~t = Offline (internally calculated) price |
ExternalBID/ExternalASK = External market bid/ask bounds |
This ensures the oracle price remains within realistic market bounds even during low-liquidity periods.