Aave wstETH oracle on L2s

Summary

Change the wstETH price oracles from stETH/USD to wstETH/ETH on Arbitrum and Optimism.

Hey Aave Community!

I recently faced a disheartening experience using Aave on Arbitrum and wanted to share so that we can work together to prevent this from happening to others in the future. On April 13th, I got liquidated borrowing ETH with wstETH on eMode. ETH megapumped, but unfortunately, the stETH oracle didn’t update fast enough.

This incident left me feeling pretty down as I lost a significant amount of money. Not only did I have to pay the 2% liquidation penalty, but I also suffered the ~3.8% discount wstETH was trading at due to the oracle fault. I believed my loan was safe and didn’t expect wstETH to depeg by >3% (and it didn’t, it was just an oracle mistake). In total, users lost 5.7 ETH that day (check my Dune query: https://dune.com/embeds/2369594/3884780).

I propose that Aave should switch the oracle from relying on Chainlink stETH/USD to wstETH/ETH to avoid issues like the one I experienced. This is already how it works on Ethereum mainnet, and the Chainlink oracles do exist on Arbitrum and Optimism. This change could save future users from unnecessary losses on the layer 2 deployments.

Additionally, it would be amazing if users who suffered from this issue could be refunded. I really believed my loan was safe with emode. The ETH oracle has a deviation threshold of 0.05% and stETH 0.3%, but it somehow happened that the wstETH oracle was incorrectly priced and thus significantly larger than this gap.

This problem is reminiscent of the Y2K depeg, where the stETH depeg derivative paid out despite no real depeg happening. The issue occurred because the stETH/USD and ETH/USD oracle feeds didn’t update simultaneously. When ETH pumped quickly, the stETH feed lagged, creating the illusion of a depeg when taking the quotient between the updated ETH price and stale stETH price.

While I know a refund proposal may be contentious, I truly want to make Aave better and prevent such incidents from happening again. This is my first governance post here, so I’d love to hear your thoughts.

Thanks!

  • junion.eth
1 Like

Hello @Junion , pretty sorry to hear about that and really appreciate your participation on the forum.

As you correctly pointed out, the pricing of price-correlated assets is not yet unified on all networks to perfectly (with the best underlying feeds) use the solution we developed on https://governance.aave.com/t/bgd-generalised-price-sync-adapters/11416. The reason of that on Arbitrum was that during the listing of wstETH, the price feeds of Chainlink for the “sync” solution were not available (e.g. wstETH/ETH or stETH/ETH), as we pointed out that HERE.

We have worked with Chainlink to get those required feeds released, and we will do a governance proposal this upcoming week to update that, together with other pricing methods, like WBTC on Aave v2, pending at the moment.

Regarding the refund, from our perspective, being clearly disclosed before the listing, not sure if this should be covered, as users going really high in LTV should be aware of long-tail risks like this.
But at the same time, it is a bit of an exceptional case, so we encourage you to gather more feedback from the community and potentially create a Snapshot.

I believe that if it is an Oracle fault, then users should receive at least partial compensation.