This proposal calls for changing the sUSD price oracle to Chainlink. It is submitted by Millie, a member of the Synthetix Ambassadors.
Currently, the sUSD price oracle is not useful because there is no sUSD-WETH Uni-V3 pairing. sUSD thus cannot be used on Euler. We would like to change that and bring sUSD to Euler. There is significant on-chain liquidity for sUSD, but it is fractured across several different liquidity pools.
sUSD-WETH has been supported on Chainlink for some time This oracle can be found here. Users of this oracle include Kyber, 1inch and Aave.
After some discussions with Euler community members, we’d like to strengthen the connection between Synthetix (as ambassadors for the protocol) and Euler. To us, enabling an sUSD market would bring great utility to an already productive asset.
In upgrading the sUSD oracle to chainlink, it will allow for us to bring sUSD without allocating scarce assets on a WETH pairing, something that does not really make sense for sUSD when a Chainlink feed exists.
While Euler enjoys permissionless listings, Chainlink would put sUSD at the top tier of oracle security in one swoop.
Specification & Implementation:
If passed, the sUSD market’s price oracle should be updated to use the Chainlink sUSD / WETH oracle see here:sUSD / WETH | Chainlink 1.
This oracle alternative was made possible by the recently passed eIP 14 and the implementation is similar to that called for in eIP 16 1.
Yes – the sUSD market should have its oracle changed to use the Chainlink sUSD / WETH oracle.
No – the sUSD market should find an alternative oracle.
I have spent some time speaking about this issue with the SNX ambassadors and am very much in favour of this proposal. Activity in sUSD means growth in TVL terms for the protocol and an ever growing reserve.
Putting the asset onto chainlink will secure it and this is in my eyes a pre-requisite step for making it a collateral asset on the protocol. I look forward to hearing the thoughts from the rest of the DAO!
@Millie@euler_mab Have you considered using this function in the Uniswap v3 Oracle Library? It allows a price of any asset to be “chained” through other pairs so one can return a price for an asset pair where there is no actual initialized pair.
Not saying I’m against the proposal, but wanted to surface this incase it wasn’t already considered.
As @euler_mab mentioned, it might be good to update to Chainlink all the other assets that have Chainlink price feed available. Here’s a list of such assets that have been activated on Euler since eIP 22:
Also, we might consider bringing back Chainlink for LRC. Its price feed was supposed to be deprecated at the time of writing eIP 22, but in the end only LRC/USD price feed was deprecated and LRC/ETH is still alive.
as we’re speaking about oracles here. there’s actually one more change that we can bundle together with what was proposed in this RFC so far.
at the moment, the oracle used for WBTC is BTC/ETH Chainlink price feed. at the time of implementation, it felt like a safe approach and done not only by us, but also by other protocols like Aave. however, such a solution does not protect the protocol in case of a black swan event like WBTC/BTC price drop which, even though highly unlikely, might be caused due to numerous reasons.
hence, I propose that we switch the oracle for WBTC to Chainlink-compatible oracle, a simple contract which does the following:
should WBTC/BTC price depeg, such an approach will protect the protocol from bad debt.
the pull request with contract implementation and appropriate tests can be viewed here. the contract follows the same pattern as other Chainlink-compatible oracles already in use that were created for assets that to not have underlying/ETH Chainlink price feeds available, but do have underlying/USD price feeds (i.e. MATIC or ENS)