During the redemption process, a 1:1 ratio is established. However, the price of stETH is volatile and can deviate from the 1:1 ratio, leading to incorrect valuation of wstETH:ETH
. Additionally, wstETH:stETH
does not have a 1:1 ratio.
The main concern arises when the market rate of stETH:ETH
deviates from 1:1, which is often the case due to staking mechanics and market dynamics. This deviation can introduce a level of inaccuracy in the calculated wstETH:ETH
rate within Beanstalk, particularly if one of the oracle sources becomes unreliable or significantly diverges from actual market conditions.
Here are examples of when stETH:ETH
rate can deviate from 1:1 https://dune.com/LidoAnalytical/Curve-ETHstETH,
the lowest was 0.9361.
Given the reliance on Chainlink for the stETH:ETH
rate and the potential for significant market volatility, there's a risk that the wstETH:ETH
price used by Beanstalk may not accurately reflect the current market value.
This situation could be exacerbated during periods of high volatility or if the Uniswap V3 pool data becomes manipulated due to low liquidity or flash loan instances, further exacerbating the valuation of wstETH:ETH
.
Considering that Beanstalk relies on the wstETH:ETH
oracle to derive the DeltaB of the wstETH:BEAN
well for minting and converts, as well as the amount of Fertilizer issued to a fertilizer buyer, an inaccurate valuation of wstETH:ETH
will lead to incorrect minting, conversion, and Fertilizer issuance.
If the Chainlink oracle or if the Uniswap Oracle return >1, then Beanstalk falls back to the assumed 1:1 redemption, in this case wont be representative. Using a Chainlink price feed for stETH:ETH
as a proxy for wstETH:ETH
introduces a level of inaccuracy when the assumption is that stETH:ETH
is a 1:1 ratio. This inaccuracy can lead to incorrect minting, conversions, Fertilizer issuances to buyers and deriving the DeltaB
of the
wstETH:BEAN
well.
Manual Review/Dune Analytics
It is prudent to accurately ascertain the value of wstETH:ETH
by introducing a more robust oraclefor example a direct price feed for ``wstETH:ETH``` by the likes of Compound(link here).
Alternatively, you could query the redemption rate of stETH:ETH from the Lido contract and use this rate to ascertain any significant deviations from the 1:1 ratio. https://dune.com/LidoAnalytical/Curve-ETHstETH.
If it deviates beyond an acceptable range, then revert. This would provide a more accurate representation of the wstETH:ETH
rate.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.