Mark Price & Oracle Price
Rubicon uses two price types for different purposes. Understanding them is crucial for trading.
Oracle Price
The oracle price is the authoritative ETF price published by Rubicon's oracle system.
Source
Fetched directly from data providers (Polygon, Yahoo Finance)
Updated every 3 seconds during market hours
Frozen at last close price when market is closed
Used For
Liquidations — Positions are liquidated based on oracle price
Funding rate calculation — Determines funding payments
Settlement — Final PnL uses oracle price
Why Direct ETF Prices?
We fetch the actual ETF price, not a synthetic basket:
ETF providers handle rebalancing
No drift from actual ETF value
Simpler, more reliable
Mark Price
The mark price is used for real-time PnL display and margining.
Calculation
Hyperliquid calculates mark price as the median of:
Our oracle price
Our EMA-smoothed suggestion (
markPxs)Hyperliquid's internal mark calculation
Used For
Unrealized PnL — What you see on screen
Margin calculations — Available margin, margin ratio
Position health — Warning indicators
EMA Smoothing
We submit an EMA (Exponential Moving Average) smoothed price as our mark price suggestion:
Reduces impact of momentary price spikes
Prevents manipulation via thin liquidity
Provides more stable PnL display
Price Comparison
Source
Direct from data provider
Median of multiple sources
Update frequency
Every 3 seconds
Continuous
Smoothing
None
EMA applied
Used for liquidation
Yes
No
Used for PnL display
No
Yes
Why Two Prices?
Manipulation Resistance
If we used only the order book mid-price:
A whale could push price to trigger liquidations
Thin liquidity = easy manipulation
Cascading liquidations possible
The oracle price provides an external anchor that's harder to manipulate.
Smooth UX
If we used only the oracle price:
PnL would update in 3-second jumps
No reflection of current order book state
Poor user experience
The mark price provides smooth, real-time feedback.
Price Bands
To prevent extreme deviations, mark price is constrained:
For 3x max leverage:
Mark price cannot exceed these bounds, limiting potential manipulation.
Example Scenario
Your unrealized PnL is calculated at $225.00 (mark). If liquidation triggers, it uses $225.00 (oracle).
During Market Closure
When the US stock market is closed:
Oracle
Frozen at last closing price
Mark
May drift slightly based on order book activity
Implications:
Existing positions maintain their PnL
No new liquidations from price movement
Funding continues based on mark vs oracle deviation
Trading continues with frozen oracle reference
Monitoring Prices
The trading interface shows:
Oracle — Labeled as "Index" or "Oracle"
Mark — Labeled as "Mark" (used for display)
Last Trade — Most recent execution price
Impact on Trading
For entries — Order book price matters (what you pay)
For PnL display — Mark price matters (what you see)
For liquidation — Oracle price matters (when you're closed)
Understanding this separation helps you trade more effectively and avoid surprises.
Last updated