AIP - 59: Restore agEUR's peg

This is a proposal for how to restore agEUR’s peg.

Context

After Euler’s repayment, a process to swap the received ETH was voted. 7,408.83 ETH were swapped to a total of 15,541,130 USDC, and half of these USDC will be shortly swapped to EUROC.

The current state of the protocol can be consulted here.

The goal of this discussion is to move forward relatively quickly to restore agEUR’s peg.

Now that the funds back agEUR are mostly USDC and EUROC, one way to restore the peg is to allow agEUR to be traded against the Core Module reserves.

As the protocol should be expected to be reworked, keep in mind that this should be a transitory solution that is expected to last a few weeks.

Also, the accepted collaterals wouldn’t change, and the HAs functionality (Perpetual Futures hedging the protocol exposure) would stay paused, accordingly to what was voted here.

With this context in mind, there are three main possibilities:

  1. Unpause only the burn of agEUR, allowing people to sell agEUR to the protocol at 1€.
  2. Unpause mint & burn of agEUR, allowing people to buy and sell agEUR to the protocol at 1€.
  3. As proposed in this governance proposal (option 1), a third option can be to provide the protocol EUROC liquidity to the Curve agEUR-EUROC pool, allowing agEUR to get back to its 1€ peg.

All options would allow arbitrageurs to buy agEUR on the market and sell it at 1€ to the protocol.

Note that the Core module comes with fees, and there would be fees applying for people burning (and minting if option 1 is chosen) through this mechanism.

We propose to set the fees to the value they had on Friday 10th of March (before the USDC depeg), that is to say 0.5%.

Solution 1 has the advantage of only reducing the protocol exposure to USDC by allowing users to sell agEUR against the reserves, with the drawback of potentially reducing a lot the agEUR supply and Angle TVL.

Solution 2 has the advantage of “fully” reopening the protocol and allowing people to mint agEUR with the Core module again, with the drawback of potentially increasing the protocol exposure to USDC.

Solution 3’s advantage is that it removes the need from having to reopen the protocol and taking potentially additional risks. Its drawback is that it is going to be less direct for people to burn they agEUR as they’ll most likely end up with EUROC.

Considerations

It was voted on this vote as well to unpause SLPs. Currently, as it stands (and as can be seen here), there are:

  • 7,376,036.52 USDC on the PoolManager contract with claims of SLPs worth 5,269k USDC and claims of agEUR holders worth 15,620k USDC (as of the 14th of April)
  • 4,110,262.81 DAI on the PoolManager contract with claims of SLPs worth 1,372k DAI and claims of agEUR holders worth 1,658k DAI (as of the 14th of April)
  • 6,942,822.80 FRAX on the PoolManager contract with claims of SLPs worth 4,997k FRAX and claims of agEUR holders worth 1,888k FRAX (as of the 14th of April).

Should option 1 or 2 be chosen, the protocol would not have immediately all the USDC available to handle all redemptions. Given this, we suggest to swap the 3.4m DAI received from Euler to USDC. There would be a 2.6m USDC gap needed to handle everyone. In case more is redeemed, the protocol could use the obtained EUROC from the swap to sustain agEUR’s peg.

Once again, all the three options are meant to be transitory options, to use at most till a Core module V2 is live and running.

Options

  1. Unpause only the burn of agEUR, allowing to sell agEUR to the protocol at 1€.
  2. Unpause mint & burn of agEUR, allowing to buy and sell agEUR to the protocol at 1€.
  3. Providing EUROC liquidity to the Curve agEUR-EUROC pool, allowing to sell agEUR at 1€ against EUROC on the pool.

Given the fact that keeping a depegged agEUR is harmful to the protocol, we suggest to open this to a vote quite soon and have this vote open for a short period of time (~48 hours).

I think the best way forward is a combination of 1 and 3.

If the team is planning a V2 that does not use USD based stablecoins as collateral for minting agEUR, it makes sense to not allow new minting from the V1 core module. But we want to allow actors to redeem agEUR for USDC because that is what current holders signed up for; The ability to redeem agEUR to USD stables for a fee. This should by itself restore the agEUR peg due to arbitrage. I Also support converting any DAI in excess of SLP liabilities into USDC for this purpose.

However, I think we can implement option 1 in concert with option 3. since we are planning to move to a new model that is Euro based, it makes sense to utilize at least a portion of the surplus denominated in EUROC to balancing the agEUR-EUROC pool, and continuing to support that market to help stabilize the peg, as well as setting the foundation for V2.

TLDR, Allow agEUR redemptions for USDC, but also stabilize agEUR-EUROC using protocol reserves while we transition to V2.

The obvious concern is that there may not be enough USDC to process all redemptions. I don’t think this will be a problem since the protocol is now over-collateralized, and in a worst case scenario where we run out of USDC, we could always convert some EUROC back to USDC in that unlikely emergency scenario.

Also, I want to make sure that enough collateral is reserved for SLP’s so that they can withdraw the principal + any earnings that had accrued to SLP strategies prior to the Euler hack. I believe this has been implied, but I wanted to spell it out directly.

I would favor option 3 as, as @GTRminator noted, it would be a MVP of the new Angle.

Ideally we would only keep what is needed to repay SLP in Angle Protocol. The rest should be converted to EUROC and put with the same amount of agEUR on a Curve LP (or using the more granular solution presented). This would allow minting and burning without having any currency risk. agEUR can be added/removed from the LP to keep a balance. The trade from EUROC to USDC is only 20bps slippage at a 200k€ notional. There is no doubt this pool will be arbitraged and not depeg significantly. Moreover, the agEUR-USDC LP will come to improve that as soon as the agEUR peg will be restored (8bps slippage for 250k). This would be better for most agEUR users than 50bps fees.

It seems to me that we have enough backing to cover everyone in their respective currency, provide a better solution for current agEUR holder to exit in EUROC or USDC and allow “minting”. This should be the baseline. We should not keep any currency risk and get rekkt again in a few days.

Can we update solution 3 to reflect that or add an option 4?

1 Like

I would also be in favor of a full option 3. But I think that one of the main reasons for people having voted for a 50% ETH->USDC 50% ETH->EUROC swap was that some wanted to exit using their home currency (and not be stuck with EUROC).

On the mix of option 2 and 3, this is something that can for sure be added. We could frame it like @GTRminator pointed: Allow agEUR redemptions for USDC, but also stabilize agEUR-EUROC using protocol reserves while we transition to V2.

One concern with this option is that it’s is slightly less efficient for the protocol when it comes to getting rid of its USD/EUR exchange risk. Options 1 and 2 have the benefit of allowing the protocol to get slowly rid of its USDC exposure, while in option 3 (and hence option 4), the protocol would probably be “selling” fewer USDC.

So while I essentially believe that the protocol should transition ASAP to a V2 (and hence start doing Curve-like operations), I also believe that the first priority before that is to cancel’s the protocol USD/EUR exposure.

On the concern of having enough collateral for SLP and agEUR redemptions, given the figures and what I mentioned in the proposal, I think that with options 1 and 2, there will be more than enough to handle everything that will come.

1 Like

I doubt anyone want to redeem for USDC with a 50bps cost when they can get USDC at a lower cost.

I agree that option 3 is actually very bad, or any composition with option 3 as the protocol would end up with not selling much USC (as using Dexes would be more efficient to exit USDC) and keep the currency risk exposure.

Option 4 in the voting is not at all what I suggest as it miss the key component of “Ideally we would only keep what is needed to repay SLP in Angle Protocol. The rest should be converted to EUROC”. And I didn’t want to enable minting and burning within the protocol but from the Curve LP. But I understand you want to keep the result of the previous vote. So option 4 is also very bad in my view.

Thanks for your comment. On the redemption with 50bps, it’s how the protocol had been running for a long while. Essentially, this does not peg agEUR to 1€, but to 0.995€.

As for: “Ideally we would only keep what is needed to repay SLP in Angle Protocol. The rest should be converted to EUROC”: as you point out, I agree with this, but this would feel like not keeping the result of the previous vote.