#Oracle System
Exolane uses oracles to provide fair, manipulation-resistant price feeds for all trading activity.
#Overview
All prices on Exolane come from Pyth Network, a high-fidelity oracle designed for DeFi.
| Aspect | Detail |
|---|---|
| Provider | Pyth Network |
| Update Frequency | Sub-second |
| Staleness Threshold | 40 seconds |
| Data Sources | Major exchanges, market makers |
#Why Pyth Network?
#Speed
- Updates every ~400ms
- Critical for trading accuracy
- Reflects real-time market conditions
#Accuracy
- Aggregates from 50+ data sources
- Includes major CEX and DEX data
- Weighted by quality and volume
#Decentralization
- Multiple independent publishers
- No single point of failure
- Cross-chain availability
#How Prices Are Used
#Position Valuation
Position Value = Size × Oracle Price
PnL = Size × (Current Price - Entry Price)#Margin Calculation
Effective Margin = Collateral + Unrealized PnL
(Unrealized PnL uses oracle price)#Order Execution
All orders settle at the oracle price
at the time of settlement#Liquidation
Liquidation triggers when:
Position Value at Oracle Price → Margin < Maintenance#Oracle Freshness
#Staleness Window: 40 Seconds
If the oracle hasn't been updated in 40 seconds, the system pauses:
| Affected | When Stale |
|---|---|
| Opening positions | ❌ Blocked |
| Closing positions | ❌ Blocked |
| Liquidations | ❌ Blocked |
| Margin changes | ❌ Blocked |
#Why This Matters:
Protection against:
- Acting on outdated prices
- Exploitation during oracle downtime
- Price manipulation windows
Once oracle updates:
- All operations resume immediately
- Pending orders can settle
#Oracle Update Flow
1. Pyth publishes new price
↓
2. Keeper submits price to Exolane
↓
3. Oracle validates:
- Timestamp is recent
- Price is within bounds
- Publisher signatures valid
↓
4. Price is accepted
↓
5. Pending orders settle at new price#Price Display vs. Settlement
#What You See:
The UI shows the latest oracle price, updating in real-time.
#What You Get:
Orders settle at the oracle price at settlement time, not submission time. Order size and Exolane order flow do not move that execution price.
#Why the Difference?
| Benefit | Explanation |
|---|---|
| No front-running | Can't race to beat your order |
| Fair execution | Everyone in same window gets same price |
| MEV protection | Reduces extraction opportunities |
| No local price impact | Your trade size does not push the price higher or lower on Exolane |
#Example:
You submit order at 12:00:00
Displayed price: $100,000
Oracle updates at 12:00:02
New price: $100,050
Your order settles at: $100,050If the final price differs from the displayed quote, it is because the oracle updated between submission and settlement. Exolane has 0% slippage from local liquidity: your trade size does not move the execution price.
#Example Price Feeds
Below are example Pyth feed IDs for some supported markets. Additional live markets use their own deployed feeds and follow the same oracle settlement model.
| Market | Pyth Price Feed ID |
|---|---|
| BTC/USD | 0xe62df6c8...415b43 |
| ETH/USD | 0xff61491a...fd0ace |
| SOL/USD | 0xef0d8b6f...0b56d |
| BNB/USD | 0x2f95862b...1c4f |
| XRP/USD | 0xec5d3998...ea1c8 |
| DOGE/USD | 0xdcef50dd...d25c |
| XMR/USD | 0x46b8cc93...321d |
| AVAX/USD | 0x93da3352...7bb7 |
| LINK/USD | 0x8ac0c70f...d221 |
| SUI/USD | 0x23d73151...5744 |
Each market is linked to a specific Pyth price feed at deployment.
#Oracle Security
#Multiple Publishers
Price is aggregated from multiple independent publishers, preventing single-source manipulation.
#Confidence Intervals
Pyth provides confidence intervals. Exolane uses the aggregate price when confidence is high.
#Timestamp Validation
Prices older than 40 seconds are rejected, preventing stale price attacks.
#On-Chain Verification
All price updates are verified on-chain with publisher signatures.
#Edge Cases
#Oracle Downtime
If Pyth experiences issues:
- Oracle becomes stale after 40 seconds
- All trading operations pause
- No liquidations occur
- Resume when fresh prices arrive
#Price Spikes
If a sudden price move occurs:
- Price is validated against Pyth aggregate
- If legitimate, trading continues normally
- Positions may be liquidated at new price
- Stop-losses may trigger
#Flash Crashes
Exolane's oracle-based settlement provides protection:
- Orders settle at next oracle update
- Brief wicks may not trigger liquidations
- Price must persist through oracle update
#Oracle Fees
There are small oracle-related costs:
| Fee | Who Pays | Amount |
|---|---|---|
| Commitment Gas | Keeper (passed to user) | ~$0.001 |
| Settlement Gas | Keeper (passed to user) | ~$0.001 |
These are included in execution costs and are typically negligible.
#Transparency
All oracle prices are:
- Public — Viewable on-chain
- Verifiable — Check Pyth directly
- Historical — Past prices queryable
You can verify any settlement price after the fact.
#Oracle FAQ
#Q: Can the team manipulate prices?
No. Prices come from Pyth Network, an independent oracle. Exolane cannot modify price feeds.
#Q: What if Pyth goes down?
Trading pauses until fresh prices arrive. No trading or liquidations on stale prices.
#Q: Why didn't I get the price I saw?
Orders settle at the next valid oracle price, not the displayed price. If the oracle moves while your order is pending, the final price moves with it. Your size does not change the execution price on Exolane.
#Q: Are prices the same as Binance/Coinbase?
Not necessarily. Pyth aggregates multiple venues into one oracle price, so settlement follows the oracle feed rather than any single exchange's last trade.
#Q: What's the maximum price lag?
40 seconds. After that, the system pauses until fresh data arrives.
#Summary
| Aspect | Detail |
|---|---|
| Provider | Pyth Network |
| Update Speed | ~400ms |
| Max Staleness | 40 seconds |
| Manipulation Risk | Low (aggregated, multi-source) |
| Downtime Handling | Trading pauses |
| Verification | On-chain, public |