NOTEThe Oracle program has been audited by Zenith and Offside.Oracle Program Address:
jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4ocHop-Based Oracle System
The system computes exchange rates by processing prices from up to four sources in a sequential chain. Each source contributes to the final rate through multiplication or division, with the option to invert values as needed. The output of each hop becomes the input for the next. For example, to derive the JUPSOL/SOL rate, the system combines JUPSOL/USD and SOL/USD feeds, inverting the latter to obtain USD/SOL.Supported source types
This design enables the system to:
- Aggregate rates from multiple feeds and providers, reducing dependency on any single source
- Support diverse asset types including LSTs, stablecoins, and protocol tokens
- Validate data integrity at each step
Validation
Freshness
Pyth and Redstone use Unix timestamp freshness. Chainlink uses slot-based freshness (≈400 ms per slot).
Confidence (Pyth only)
Pyth feeds include a confidence interval. The oracle rejects feeds whose confidence exceeds:
Only Pyth validates confidence. Other sources (Chainlink, Redstone, StakePool, MsolPool, SinglePool, JupLend) either derive rates on-chain or only enforce freshness; they do not expose or check a confidence interval.
Providers
Oracle Verification Script
Use this script to verify oracle prices by providing a nonce. The oracle PDA is derived from theoracle seed and a 16-bit nonce.
