eIP 16: Change stETH pricing to Chainlink and amend the interest rate model

  • Title: Change stETH pricing to Chainlink and amend the interest rate model
  • Author(s): Seraphim Czecker (delegate)
  • Submission Date: 23.08.2022

eIP 16: Change stETH pricing to Chainlink and amend the interest rate model

Simple Summary

Proposal includes changing the stETH oracle on Euler from Uniswap V3 to Chainlink and amending the interest rate model to take into account borrowing activity.

Motivation

The goal of the proposal is to pave the way for stETH as collateral on Euler by giving stETH a reliable pricing feed (1) and letting lenders earn both staking rewards and APYs paid by borrowers (2).

At the moment, the wrapped version of stETH (wstETH) is collateral and can be effectively used to go levered long and short on Lido’s staked version of ETH.

In fact, Euler is the only place on-chain where users can short wstETH, which so far has led to additional 2% yield for lenders. This is possible because wstETH has a robust oracle on Uniswap V3.

However, the more popular unwrapped version of stETH does not have a strong oracle on Uniswap V3 because Uniswap does not support rebasing tokens. This is why Chainlink is necessary and finally possible after implementing eIP14.

Similarly, the interest rate model needs changing due to the nature of rebasing tokens. In the case of wstETH, the wstETH/WETH exchange rate increases in time, meaning that wstETH borrowers’ debt to lenders automatically increases as the exchange rate goes up. This means that lenders don’t miss out on staking rewards as the borrower’s debt takes them into account.

That, however, is not the case with stETH. At the moment, should a user borrow stETH on Euler, the borrower will be entitled to the rewards of the borrowed tokens. Any unborrowed tokens in the pool will accrue to lenders.

The new interest rate model seeks to correct that by amending the base interest rate (IR% at 0% utilisation) to the staking reward APY. This way, the borrowers will be paying the lenders whatever they owe in terms of staking rewards.

Risk Assessment

The Chainlink oracle change has undergone auditing by Omniscia:
https://omniscia.io/reports/euler-finance-chainlink-support/

It has also been reviewed by Sherlock:
https://www.hacknote.co/17c261f7d8fWbdml/1821f966f40pJG_t

Vote

Here is the snapshot link to vote:
https://snapshot.org/#/eulerdao.eth/proposal/0x16a790debb65c5c5d51eb7d121e0173916fe69b28a560915a8c7ee34733fe5f4

Conclusion

These changes will enable lenders to maintain their rewards while earning additional APYs from borrowers, while relying on a tried and tested Chainlink oracle. They will also pave the way for listing stETH as collateral and hopefully let Euler attract more liquidity and activity.

Relevant Links

IR model github links:
https://github.com/euler-xyz/euler-contracts/pull/154

eIP 14 (Chainlink):
https://forum.euler.finance/t/eip-14-contract-upgrades/305#governance-5

2 Likes

stETH does seem to be much more widely integrated across defi vs wstETH, but I’m not sure the convenience of avoiding wrap/unwrap transactions is worth the costs of creating a separate stETH market.

This would create two liquidity pools for stETH, which could fragment liquidity and lead to less predictable rates and lower market efficiency. Additionally, there’s no objective way to measure staking reward rate on chain, so there could be greater governance overhead on EUL holders needing to periodically update base interest rate to account for changing conditions. In the long run staking rewards could be expected to be fairly stable, but I expect some spike in rates after the merge (when stETH begins earning fees/MEV) and then considerable decline as more ETH is staked.

Could the same goal (supporting users who have unwrapped stETH with best possible UX) be accomplished by including a wrap/unwrap option in the transaction builder feature on Euler Finance UI?

1 Like

I’d like to clarify things. There is an objective way to measure staking reward rate on chain. There’s no governance action required, the base interest will be updated daily by observing how much staking rewards accumulated since the previous measurement. The new IRM model will also account for the Lido reward fee, which will be subtracted from the base interest rate. All of that according to official Lido documentation:

Wrapping/unwrapping of stETH is already supported in the UI. However, there’s no way to include those actions in the batch transactions

2 Likes

Very cool. Sounds like this should do a pretty good job of addressing interest rate model updates. Still not sure if it’s worth having 2 stETH markets but this at least makes it easy on Euler governance.

Thanks for the clarification.

As stETH is a more popular asset in DeFi, I’d say that we might see the stETH market outgrowing wstETH market on Euler. If that’s the case, the wstETH liquidity might naturally flow towards stETH and wstETH market may become negligible in the long run.

Note that proper launch of stETH was not possible until now as Chainlink integration was necessary. If not that, I bet stETH would have grown on Euler in the first place

1 Like

Agreed, however, I think it makes sense to be open to the possibility that the market prefers to lend/borrow stETH on Euler over wstETH. If so, I’d prefer this proposal go forward and then perhaps liquidity dilution can be discouraged later if necessary.

4 Likes

The gauge system provides a simple way to help liquidity form around the more popular option, so I suppose the risk of liquidity fragmentation is not too high.

1 Like