Oracle Price
Index price derivation, dual-mode oracle architecture, and internal pricing mechanism
Overview
The index price is OBSDN's canonical spot reference. It serves as the root input for:
- Mark price computation
- Funding rate calculation
- Liquidation evaluation
OBSDN's oracle system operates in two modes, determined by per-asset oracle schedules:
| Mode | Condition | Primary Price Source |
|---|---|---|
| Active Session | External oracle feeds are online | Cryptographically signed external price feed |
| Off-Hours | External feeds unavailable | OBSDN internal pricing (orderbook-derived) |
This dual-mode architecture ensures continuous, manipulation-resistant pricing across all market conditions, including weekends, holidays, and periods of external oracle downtime.
Active Session Pricing
When the oracle schedule is OPEN, OBSDN uses external signed, authoritative oracle feeds as the primary index price source. These are cryptographically signed price feeds from dedicated oracle providers whose sole purpose is price reporting.
Off-Hours Pricing
When external oracle feeds are unavailable (market closures, weekends, or holidays), OBSDN activates its internal pricing mechanism. This produces a continuously updated index price derived from live orderbook depth, smoothed via an exponential weighted moving average (EWMA) designed to resist short-term manipulation.
Step 1: Impact Price Measurement
OBSDN measures real-time market pressure by computing impact prices: the volume-weighted average price (VWAP) obtained by sweeping a configured notional amount against each side of the orderbook.
- Impact Bid: VWAP from sweeping the impact notional against the bid side
- Impact Ask: VWAP from sweeping the impact notional against the ask side
These reflect the actual executable price for meaningful size, not just top-of-book quotes. If either side of the book is empty, the EWMA holds its previous value until both sides have liquidity.
Step 2: Impact Price Deviation (IPD)
The Impact Price Deviation quantifies directional pressure relative to the current index:
Where is the previous EWMA price.
| Condition | IPD | Interpretation |
|---|---|---|
| Positive | Aggressive bids, upward pressure | |
| Negative | Aggressive asks, downward pressure | |
| Zero | Index within spread, no deviation |
Only improving deviations contribute. This prevents noise from transient one-sided book imbalances from propagating into the index.
Step 3: EWMA Update
The index price is updated using a continuous-time EWMA:
Parameters
| Symbol | Value | Purpose |
|---|---|---|
| 8 hours | Time constant governing EWMA responsiveness. A longer window provides high stability and resilience to short-lived manipulation. | |
| 0.1 | Cap factor. Limits the maximum weight of any single update to , preventing a large time gap from resetting the EWMA. |
The 8-hour time constant ensures stability appropriate for off-hours conditions, where liquidity is typically lower and manipulation risk is elevated. Combined with the 9.5% per-tick weight cap, the mechanism guarantees smooth, gradual price transitions. Sustained orderbook pressure over many ticks is required to move the index meaningfully.
Price Banding
After the EWMA update, the result is clamped to prevent drift from the last known reliable price:
| Variable | Definition |
|---|---|
| Last observed external oracle price (from the most recent active session) | |
| Market's maximum leverage |
For a market with max leverage, the band is around the last oracle price. This prevents the internal price from diverging unreasonably during extended off-hours periods.
External Oracle Schedules
| Assets | Hours |
|---|---|
| All crypto perpetuals | 24/7 |
| US equity perpetuals | Sun 8:00 PM – Fri 8:00 PM ET |
US equity schedules incorporate NYSE holiday calendars. When external oracles are unavailable, internal pricing activates automatically.