# stETH

The f(x) 2.0 price oracle mechanism for stETH/USD combines multiple data sources, including Chainlink, Uniswap, Curve, and Balancer, to calculate spot prices and anchor prices. It defines Max and Min Price for stETH/USD based on these sources and uses a governance-adjustable threshold (default 1%) to decide whether to rely on the Anchor Price or the Max/Min Price for operations like rebalancing, minting, or redeeming. This ensures accurate and stable pricing while accommodating market fluctuations. Below is the detailed breakdown of the stETH Spot Price Oracle Mechanism:

### ETH/USD Spot oracle:

1. \[<https://data.chain.link/feeds/ethereum/mainnet/eth-usd>]
2. \[<https://app.uniswap.org/explore/pools/ethereum/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640>]
3. \[<https://app.uniswap.org/explore/pools/ethereum/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8>]

### stETH/ETH Spot oracle:

1. \[[stETH/ETH Curve Spot](https://curve.fi/#/ethereum/pools/factory-v2-303/deposit)]&#x20;
2. \[[stETH/ETH Univ3 Spot](https://app.uniswap.org/explore/pools/ethereum/0x109830a1aaad605bbf02a9dfa7b0b92ec2fb7daa)]&#x20;
3. \[[stETH/ETH Balancer Spot](https://app.balancer.fi/#/ethereum/pool/0x93d199263632a4ef4bb438f1feb99e57b4b5f0bd0000000000000000000005c2)]&#x20;
4. \[[stETH/ETH Curve2 Spot\]](https://curve.fi/#/ethereum/pools/steth/deposit)

### stETH/USD Anchor Price oracle:

* \[[stETH/ETH Curve EMA](https://curve.fi/#/ethereum/pools/factory-v2-303/deposit) ]\*\[[ETH/USD Chainlink Spot](https://data.chain.link/feeds/ethereum/mainnet/eth-usd)]

### The Algorithm of stETH/USD Max and Min Price:

* **Max**: stETH/USD Price=Max(Anchor Price, \[stETH/ETH Spot Max Price ]\* \[ETH/USD Spot Max Price ])
* **Min**: stETH/USD Price=Min(Anchor Price, \[stETH/ETH Spot Min Price ]\* \[ETH/USD Spot Min Price ])

### Price Checking Mechanism:

* Anchor Price is used, while the price difference between Anchor Price and Max/Min Price exceeds the threshold
* The threshold is a governed parameter, 1% in default

### Conclusion:

* Min stETH/USD Price is used for Open/Close of xPOSITION risk control, Rebalance and Liquidation if the price difference between Anchor Price and Min Price doesn’t exceed the threshold. Anchor Price is used otherwise.&#x20;
* Max stETH/USD Price is used for Redeeming fxUSD if the price difference between Anchor Price and Max Price doesn’t exceed the threshold. Anchor Price is used otherwise. \
  \
  \
  \
  \\
