Frax Finance ¤
English 🇰🇾

Advanced Concepts

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

L1 -> L2

Timelock Configuration

Controls all configurations for all Frax Oracles on L1: 0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA
Controls all configurations for all Frax Oracles on Arbitrum: 0xB426B13372B7c967C4a2371B5e95FC7dc37545Db

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


Dual Oracles / Price Sources

Frax Oracles


L2 (Arbitrum)

ArbitrumBlockHashProvider: 0x240ff0894c584d39f992de5fdb603e03fc7e8a98

Price Source

Dual Oracles / Price Sources
FrxEthEthDualOracle: TBD
SfrxEthEthDualOracle: TBD

Frax Oracles

SfrxEthFraxOracle: TBD