Frax Finance ¤
English 🇰🇾
English 🇰🇾
  • Frax Ecosystem Overview
  • FXS & veFXS
    • Frax Shares (FXS)
    • veFXS
    • Gauges
    • FXS Distribution
    • FXS Smart Contract & Addresses
  • GOVERNANCE
    • Frax Governance Overview
    • How It Works
    • Advanced Concepts
    • Fraxtal Snapshot Voting
  • FRAX V1 - ORIGINAL
    • Original Design
    • Staking Contracts
    • FRAX ABI & Token Addresses
    • Frax V1 Pool ABI & Addresses
    • Core Frax Multisigs
  • FRAX V2 - Algorithmic Market Operations (AMO)
    • AMO Overview
    • AMO Minter
    • Collateral Investor
    • Curve
    • Uniswap v3
    • FRAX Lending
    • Decentralization Ratio (DR)
  • FRAX V3 - 100% CR AND MORE
    • Overview
    • Fraxtal
    • AMOs
    • RWAs
    • sFRAX
    • FXBs
    • sFRAX Token Addresses
    • sFRAX & FXB Multisigs
  • Bridging
    • Fraxferry
    • LayerZero x Stargate
    • Fraxtal Bridge
  • Frax Price Index
    • Overview (CPI Peg & Mechanics)
    • Frax Price Index Share (FPIS)
    • FPIS Distribution
    • CPI Tracker Oracle
    • FPI Controller Pool
    • veFPIS
    • FPIS Conversion / FPIS Locker
    • FPI and FPIS Token Addresses
    • FPI Multisigs
  • Fraxswap
    • Overview
    • Technical Specifications
    • Fraxswap Contract Addresses
  • Fraxlend
    • Fraxlend Overview
    • Key Concepts
    • Lending
    • Borrowing
    • Advanced Concepts
      • Position Health & Liquidations
      • Interest Rates
      • Vault Account
    • ABI & Code
    • Fraxlend Multisigs
  • Frax Ether
    • Overview
    • frxETH and sfrxETH
    • Technical Specifications
    • Redemption
    • frxETH V2
    • frxETH V2 Technical Details
    • frxETH Code & V2 Addresses
    • frxETH and sfrxETH Token Addresses
    • frxETH Multisigs
  • BAMM
    • Overview
  • Frax Oracle
    • Frax Oracle Overview
    • How It Works
    • Advanced Concepts
    • Fraxtal Merkle Proof Oracles
  • Guides & FAQ
    • FAQ
    • Staking
    • Uniswap Migration / Uniswap V3
    • Fraxswap / FPI
  • Miscellany
    • All Contract Addresses
    • Bug Bounty
    • Miscellaneous & Bot Addresses
    • API
  • Other
    • Audits
    • Media Kit / Logos
Powered by GitBook
On this page
  • Getting a Fresh Price
  • Smart Contract Design
  • Timelock Configuration
  • Attacks and Mitigations
  • Contract Addresses
  • L1
  • L2 (Arbitrum)

Was this helpful?

Export as PDF
  1. Frax Oracle

Advanced Concepts

PreviousHow It WorksNextFraxtal Merkle Proof Oracles

Last updated 7 months ago

Was this helpful?

Getting a Fresh Price

Since the Frax protocol only updates Frax Oracle prices once per day, the price may be up to 23 hours and 59 minutes old. If you need a fresher price, you can call addRoundData() on the Dual Oracle to write a fresh price, and then call latestRoundData() / getRoundData() / getPrice() on the Frax Oracle to retrieve the fresh price.

Smart Contract Design

Timelock Configuration

Attacks and Mitigations

Oracle manipulation attacks are handled economically. There is too much protocol owned liquidity for manipulating the Curve / Uniswap pools to be profitable. Bounding prices ensures that frxEth/sfrxEth will never be overvalued and will never be undervalued by more than 30%. frxEth is fully backed with ETH in validators, so the only risk that exists with it is time duration risk.

Contract Addresses

L1

Dual Oracles / Price Sources

Frax Oracles

Crosschain

L2 (Arbitrum)

Price Source

Dual Oracles / Price Sources

FrxEthEthDualOracle: TBD

SfrxEthEthDualOracle: TBD

Frax Oracles

SfrxEthFraxOracle: TBD

Controls all configurations for all Frax Oracles on L1:

Controls all configurations for all Frax Oracles on Arbitrum:

FrxEthEthDualOracle:

SfrxEthEthDualOracle:

SfrxEthFraxOracle:

ArbitrumBlockHashRelay:

ArbitrumBlockHashProvider:

StateRootOracle:

MerkleProofPriceSource:

0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA
0xB426B13372B7c967C4a2371B5e95FC7dc37545Db
0x350a9841956D8B0212EAdF5E14a449CA85FAE1C0
0x584902BCe4282003E420Cf5b7ae5063D6C1c182a
0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F
0x784906554d44d33c2764c86e8848a2bd71c2e3a7
0x240ff0894c584d39f992de5fdb603e03fc7e8a98
0x11afa1d35f246fdc00d789e4a06f682b206f88c9
0xb032b46f835fa9e3d95d1e3f46fd307429505f9a
L1 -> L2