Skip to main content

Oracle - Price Feed Contracts

XRPL Testnet

Core Oracle Contracts


Oracle Descriptions

Primary oracle adapter for Chainlink price feeds. Provides reliable, decentralized price data for major tokens including:

  • WBTC
  • WETH
  • USDC
  • USDT
  • DAI
  • FRAX
  • CRV
  • crvUSD
  • weETH
  • eETH
  • And other supported assets

Chainlink feeds use tamper-proof, off-chain computed prices from a decentralized network of node operators.

Resilient Oracle

Secondary oracle aggregator that provides price resilience by:

  • Combining multiple price sources (Chainlink, RedStone, etc.)
  • Falling back to alternative sources if primary fails
  • Validating prices within acceptable bounds
  • Protecting against flashloan attacks and oracle manipulation

Ensures protocol stability by always having a reliable price source available.

Bound Validator

Smart contract that validates oracle prices by:

  • Checking price movement bounds (upper and lower limits)
  • Preventing extreme price swings that indicate oracle failures
  • Enforcing reasonable price deviation ratios between price updates
  • Protecting liquidation and risk management systems from exploitation

Maintains price validation rules for each asset pair to ensure data integrity.


Supported Assets (XRPL Testnet)

Core Assets

  • WBTC - Wrapped Bitcoin
  • WETH - Wrapped Ether
  • USDC - USD Coin
  • USDT - Tether USD
  • DAI - Dai Stablecoin
  • FRAX - Frax Stablecoin
  • crvUSD - Curve USD Stablecoin
  • CRV - Curve DAO Token

Liquid Staked Assets

  • weETH - Wrapped eETH (ether.fi ETH)
  • eETH - ether.fi ETH
  • wstETH - Wrapped Staked ETH (Lido)

Reward Tokens

  • RFT - RheoFi Protocol Token

Price Feed Configuration

Each oracle maintains configurable price feed sources:

AssetPrimary SourceFallback SourceUpdate Frequency
WBTCChainlinkResilientReal-time
WETHChainlinkResilientReal-time
USDCChainlinkResilientReal-time
USDTChainlinkResilientReal-time
DAIChainlinkResilientReal-time
FRAXChainlinkResilientReal-time
crvUSDChainlinkResilientReal-time
CRVChainlinkResilientReal-time
weETHChainlinkResilientReal-time
eETHChainlinkResilientReal-time
wstETHChainlinkResilientReal-time
RFTChainlinkResilientReal-time

Architecture

┌─────────────────────────────────────────────┐
│ Protocol (Comptroller/RTokens) │
└────────────────┬────────────────────────────┘

┌────────▼────────┐
│ Resilient Oracle │
└────────┬────────┘

┌───────────┼───────────┐
│ │ │
┌────▼───┐ ┌────▼─────┐ ┌──▼──────┐
│Chainlink│ │ Fallback │ │ Bound │
│ Oracle │ │ Oracles │ │Validator│
└────────┘ └──────────┘ └─────────┘

Price Resolution Flow

  1. Request: Protocol queries price for an asset
  2. Primary Check: Chainlink Oracle provides price
  3. Validation: Bound Validator checks price bounds
  4. Resilience: If primary fails, Resilient Oracle falls back to alternative sources
  5. Response: Validated price returned to protocol

Price Feed Updates

  • Real-time Feeds: Prices update immediately when new data becomes available
  • Update Threshold: Prices refresh when they deviate beyond configured percentage
  • Heartbeat: Prices update at minimum every 24 hours regardless of deviation
  • Validation: All prices subject to bound validation before use

Notes

  • All addresses are deployed on XRPL Testnet
  • Oracle contracts use proxy pattern for upgradability
  • Price feeds are decentralized and tamper-resistant
  • Multiple fallback sources ensure high availability
  • Bound validators protect against extreme price manipulation
  • All prices denominated in USD with 18 decimal places