TL;DR
- This post is to resume the discussion and inform the community we are going to deposit most of the DAI in the xDAI bridge into the sDAI vault from Spark Protocol on Mainnet, which is an ERC-4626 vault depositing all DAI into the Maker DAI Savings Rate (DSR).
- The proposal is to upgrade the Mainnet bridge and relay all accrued interest onto a similar vault on GC that will be deployed in a few weeks.
- Users on Gnosis Chain will be able to mint Savings xDAI (sDAI) with their xDAI, which will accrue the interest of all the sDAI held by the bridge in Mainnet.
- Assuming the amount of sDAI minted is lower than the one held by the bridge, the yield will be higher than the DSR. The bridge currently holds roughly 25M DAI and the DSR yield is 5%. Assuming 25M DAI get wrapped into sDAI, and only 10M xDAI get deposited into the vault on GC, the yield will be 12.5%. The expectation is that the sDAI rate will always be higher on GC than Mainnet, as only if almost 100% of all DAI bridged is staked will we achieve rate parity.
- The current 25M DAI deposited in the bridge represents ~1.25M yearly to incentivise GC. With this proposal, TVL is likely to increase and effectively bridge Mainnet interest rates to GC.
- DSR yield is risk-free if you are already holding DAI. All the risks derived from the collateral are borne by all DAI holders, regardless of being deposited in the DSR. We have written a research piece here. The only newly introduced risk is smart contract risk in how the integration is made with the sDAI vault on Mainnet and the implementation of the sDAI vault on GC.
Context
MakerDAO DSR’s current rate is 5%. Since the increase of the DSR to ~3.5%, ~7M DAI have fled out of the xDAI bridge, as can be seen on this dashboard. Bridging the DSR yield into Gnosis Chain will help regain these deposits.
Additionally, interest rates on Gnosis Chain have never picked up and reached parity with Mainnet or other chains with higher borrowing demand. This effectively and forcefully pushes rates up and could be a catalyst for GC’s DeFi ecosystem.
Implementation
Mainnet
It’s an upgrade to the xDAIForeignBridge
implementation. The goal of this upgrade is to allow for the DAI currently in the bridge and any future DAI deposited to the Bridge to be wrapped into sDAI, with the caveat that it will always keep the buffer of the minimumCashThreshold
when investing.
The minimumCashThreshold
is this value determines what is the recommended amount of DAI that should be held in the bridge at all times in order to create a buffer for withdrawals without added operations and, thus, lower gas costs.
Anyone is allowed to investDAI()
into the sDAI vault, anyone is allowed to refillBridge()
right back up to the threshold, and also anyone is allowed to payInterest()
. These processes are permissionless—and also costly—which is why we will have a bot to automate these 3 maintenance procedures in the most efficient way.
The main change from the old implementation of the Compound Connector to the newly built SavingsDai Connector is that the interest used to be transferred to a receiver address on Mainnet, whereas in the new implementation we have a new function to relayInterest
to a receiver address on GC. This means we are depositing the newly accumulated bridge collateral into GC rather than keeping it on Mainnet.
The bridge upgrade was audited by 2 external auditing firms (Omega and ChainSafe), and the reports will be published soon.
Gnosis Chain
There are two contracts being deployed on Gnosis Chain. The first one is the sDAI vault, also an ERC 4626 (the most popular standard for vaults), which makes it extremely useful for DeFi integrations from Lending Protocols like Agave and Spark, to DEXes like Curve and Balancer. The only modification to the standard vault (OZ implementation) is that it will allow for direct deposits and withdrawals in xDAI, rather than exclusively the ERC20 WXDAI.
The second contract is the Interest Receiver. This will be the address provided on Mainnet bridge as the interest receiver. What this contract does is quite simple: it distributes the balance it holds in xDAI and WXDAI into sDAI at a fixed block rate that gets updated every 1-2 days to adjust for interest rate changes coming from mainnet. The goal of this contract is to not make it possible to frontrun the bridging process of the interest, and to make sure there is a fairly frequent update of the sDAI shares value and exchange rate. This contract has the perk of being very easy to switch for a different one by simply setting a new receiver on the bridge without impacting any of the operations. This means if we want to make modifications such as add a fee or normalize rates in the future, that will be very easy to plug in.