Two Price Sources
Spot Price
The current EUR/USD exchange rate, sourced from Pyth Network. Pyth aggregates prices from institutional publishers (exchanges, market makers, trading firms) and provides a confidence-weighted median.Used for: Recording the fixing price at maturity for settlement.
Forward Price
The projected EUR/USD rate at a future maturity date. Forward prices reflect the interest rate differential between EUR and USD — when USD rates are higher than EUR rates, the forward price trades above spot.Used for: Position entry strikes, real-time PnL calculations, early termination, liquidation.
How Forward Prices Work
In traditional FX markets, forward prices differ from spot because of the interest rate differential between currencies. If you can earn more interest holding USD than EUR, the forward EUR/USD rate will be slightly higher than spot to reflect this “carry” advantage. The protocol models this using a simple interest rate parity formula:- Spot is the current EUR/USD price from Pyth
- rate is the annualized interest rate differential (configurable)
- time is the seconds remaining until maturity
- year is 365 days in seconds (31,536,000)
Worked example: 30-day forward
Worked example: 30-day forward
Inputs:The forward is about 18 pips above spot, reflecting the 2% annualized rate differential prorated over 30 days.
- EUR/USD spot: 1.0800
- Interest rate differential: 2% annualized
- Time to maturity: 30 days
Longer tenors produce larger forward premiums because there is more time for the interest rate differential to compound. A 1-month forward has roughly 30x the premium of a 1-day forward, all else equal.
The Fixing Price
The fixing price is the settlement anchor for matured positions. It is the Pyth EUR/USD spot price captured at 4:00 PM UTC on the maturity business day.Maturity date arrives
When your position’s maturity date is reached, a fixing price needs to be recorded for that timestamp.
Pyth spot price is captured
The spot price from Pyth within a ±2 minute window of the fixing time (4 PM UTC) is recorded onchain. Once recorded, the fixing price is permanent.
The fixing time of 4 PM UTC aligns with the ECB’s EUR/USD reference rate, which is the standard benchmark in institutional FX markets.
Price Staleness
Both spot and forward prices have freshness requirements. Stale prices are considered invalid and cannot be used for trading.| Price Type | Maximum Age | What Happens When Stale |
|---|---|---|
| Forward | 60 seconds | Position opens and PnL lookups revert |
| Spot | 30 seconds | Fixing price recording may fail |
Oracle Safeguards
Published forward prices pass through multiple safeguard checks before being accepted:| Safeguard | What It Prevents |
|---|---|
| Update spacing (min 10s between updates) | Rapid-fire price manipulation |
| Move limit (max 2% per update) | Flash crash or single-update manipulation |
| Deviation vs prior (max 0.5% from last accepted) | Cumulative price drift |
| Deviation vs last close (max 1.5% from last settlement) | Divergence from settlement prices |
How Prices Affect Your Position
| Event | Price Used | Source |
|---|---|---|
| Opening a trade | Forward price for your maturity date | Oracle (publisher) |
| Real-time PnL display | Latest forward price for your maturity date | Oracle (publisher) |
| Early termination | Latest forward price for your maturity date | Oracle (publisher) |
| Liquidation check | Latest forward price for your maturity date | Oracle (publisher) |
| Maturity settlement | Fixing price (Pyth spot at 4 PM UTC) | Pyth Network |
Next Steps
PnL Calculation
How profit and loss is computed using these prices.
Oracle Safeguards
Defense-in-depth oracle protection details.
Publisher Operations
Technical details of the publisher service for operators.