Over the past month, the USDC depeg and the Euler hack have highlighted several vulnerabilities in our Core Module, emphasizing the need for a better model that reduces risks for agToken holders.
That being said, we would like to present the current state of our thoughts regarding the design of a "Core Module V2" for the protocol. Our aim is not to delve into technical details but rather to discuss the overall plan to ensure we are moving in the right direction.
Objectives
To begin, we will outline the key requirements that the future system must meet:
- The design should allow for mints and burns with low slippage to allow easy usage of the stablecoin and enable smooth Borrow Module liquidations.
- The design should be scalable.
- The design should be able to autonomously withstand unforeseen events, such as black swan events or hacks, without requiring any governance intervention.
- The design should treat all stablecoins holders equally in the event of a black swan event, without any bank run possibility.
- The design should be robust enough to accept any backing denominated in Euros, including stablecoins, yield-bearing tokens, and real-world assets.
- The design should be able to properly diversify and segregate risks among all the assets comprising its backing. This is a challenging task as the natural tendency is that automated systems are frequently left holding the weakest assets.
- The design should not expose users to any foreign exchange risk.
Overall, these requirements will help ensure that the new Core Module V2 is reliable, resilient, and fair for all users.
Design
Now, here is the design we have in mind. Let’s explain the design we have in mind through the scope of a € stablecoin (agEUR) backed by a basket of €-denominated assets.
For example, assume there are two assets, EURA and EURB, and the current reserves are 1 million EURA and 2 million EURB, respectively, backing 3M agEUR. We denote by $p_{A}$ and the EURA/EUR and EURB/EUR prices.
The system will involve three primary actions:
- Primary Action #1 - Redemption curve: Users can redeem 1 agEUR for a proportion of each reserve asset, minus a fee. For instance, in our example, redeeming 1 agEUR would involve swapping it for 0.33 EURA and 0.66 EURB. This action can be performed even during a black swan event without affecting the risk or underlying exposure of any other agEUR holder. It does not depend on the prices of the backing assets as the system simply exchanges a portion of the agEUR total supply against a portion of the reserves. A fee would be applied depending on the collateral ratio, with a peak just below 100%. This would deter users from starting a bank run as they’d have to pay slightly higher fees in case of small transitory depeg. The following figure would apply that plots how we could set the value redeemed by the Redemption Curve depending on the Collateral Ratio.