Overview
Rubicon operates a custom oracle system that publishes ETF prices to Hyperliquid every 3 seconds. This section documents how our oracle works, ensuring transparency for traders.
Why We Need a Custom Oracle
Native Hyperliquid Perps
For BTC, ETH, and other crypto assets:
Validators publish spot oracle prices
Price = weighted median of CEX prices
Final price = weighted median across validators
You can trade, but not create new markets
HIP-3 Deployed Perps (Rubicon)
For our ETF perpetuals:
We deploy our own contracts via
registerAsset2()We run our own oracle via
setOracle()We are the sole price authority
Hyperliquid provides matching engine, we provide prices
This enables perpetuals on assets Hyperliquid doesn't natively support.
Architecture Overview
Key Components
1. Price Sources
Multiple data providers ensure reliability:
Price Sources — Where we get ETF prices
Fallback Chain — How we handle source failures
2. Oracle Engine
The core processing system:
Runs continuous 3-second loop
Validates prices before submission
Applies EMA smoothing for mark prices
Persists state for crash recovery
3. Hyperliquid Integration
Submits prices via HIP-3 protocol:
setOracle()publishes pricesHyperliquid calculates final mark price
Used for funding, liquidations, margining
Submission Format
Every 3 seconds, we submit:
oraclePxs
Authoritative price for liquidations/funding
markPxs
EMA-smoothed suggestion for display
externalPerpPxs
Circuit breaker reference
Design Principles
Direct ETF Prices
We fetch actual ETF prices, never constructing baskets from component stocks:
ETF providers handle rebalancing
No drift from actual tradeable price
Simpler, more reliable
Graceful Degradation
When things go wrong:
Primary source fails → try secondary
Secondary fails → use cached price (60s max)
Cache too stale → halt updates, alert
Transparency
Open documentation of methodology
Alert on degraded mode
Frozen prices clearly indicated in UI
Quick Links
Price Sources — Data provider details
Fallback Chain — Failure handling
Market Hours Handling — Behavior during closure
Reliability — Uptime and monitoring
Last updated