Hello,
This is a proposal to ramp up the direct deposit module of the protocol on the agEUR-EUROC Curve pool and to:
- withdraw 400,000 LP tokens held on the guardian multisig on Ethereum (0x0C2553e4B9dFA9f83b1A6D3EAB96c4bAaB42d430) into agEUR and burn the obtained agEUR
- deposit 3,400,000 agEUR more in the agEUR-EUROC Curve pool to be staked automatically by the direct deposit module contract on both Convex and StakeDAO
Context
About Curve Direct Deposit modules
The Angle Protocol is engaged into algorithmic market operations, also referred to as direct deposit modules, that allow it to mint and control agEUR in some places in order to facilitate on-ramp and liquidity for the stablecoin.
On Curve, the protocol’s direct deposit module is automatically and trustlessly managed by a smart contract. It consists in minting agEUR in the Curve agEUR-EUROC when there are more EUROC than agEUR and burning agEUR from the pool when there are more agEUR than EUROC.
This AMO acts as a sort of price stability module for the protocol, as detailed in this governance proposal.
Addresses and code for the smart contracts responsible for the execution of this AMO can be found here.
As part of another governance vote, the protocol had seeded an agEUR-EUROC Curve pool with 200k minted agEUR and 200k EUROC acquired with the protocol surplus.
Current state of the Curve pool
So far, the Curve pool has $10.9m of liquidity, and 10,340,886 Euro stablecoins in it (with more agEUR than EUROC). The pool has a A-factor of 1000 which means that a pool imbalance does not result immediately in higher slippage for swaps.
The AMO has automatically minted 3,042,085.3 agEUR and it controls:
- 1,061,715 LP tokens on StakeDAO
- 1,971,758 LP tokens on Convex
On top of that, the protocol controls 400,000 LP staked on Convex.
In total, the protocol has 3,433,473 LP tokens out of a total supply of 10,304,481.1: exactly 0.3333 of the pool, so exactly a third of the pool.
At the same time, the protocol is earning an average of 5.5% on its deposits (notably thanks to the CRV and CVX inflation). Practically speaking, there are at current rates 658,126 CRV accruing per year to the pool, which makes 219,375 CRV going to the protocol each year (on top of additional CVX and SDT rewards).
As a reminder, there is a gauge which allows the protocol to buy veCRV voting power, so this inflation is not “free” revenue but comes at the expense of issued ANGLE tokens.
Proposal
The proposal is:
- to normalize the Curve AMO so that all the LP tokens are held and managed through the protocol’s smart contracts and not the multisig. For this, we propose to withdraw the liquidity held by the protocol in the multisig in agEUR (earning a small bonus because we’re removing the token that’s held in majority by the pool), burn the agEUR obtained and mint a corresponding amount of agEUR (e.g 400,000 agEUR) with the AMO contracts
- to ramp up the holdings of the protocol on the Curve pool, and to mint 3,000,000 additional agEUR into the AMO to be placed on Curve and then staked on Convex and StakeDAO
Adding 3m agEUR in a pool that in practice already has some agEUR will lead the protocol to make a small loss.
This Excel file summarizes the loss amounts faced by the protocol in different scenari of agEUR added and minted in the pool. Overall, in current market conditions, for a $3m deposit, the protocol would obtain at most 2,986,873 LP tokens worth €2,997,195 and hence face a €2,805 loss.
But at the same time, the protocol would increase its share in the pool to 48.3% of the pool and earn an additional amount of 98,616 CRV a year (if all thing stay equal). At these rates, the deposit loss should be absorbed in 13 days.
Implementation
The reason why the LP tokens on the multisig must be burnt is because there is currently no way to transfer the LP tokens to the AMO contracts without breaking up the accounting of the AMO contracts. To keep a single consistent system, we propose to burn before adding it to the AMO through another mint.
Minting agEUR into the AMO and have these agEUR deposited on Curve and staked on Convex can be done in one simple call for the AMO in the AMOMinter
contract. This contract is then easily able to track the accounting of all the balances and gains of the protocol.
Value to the protocol
The value for the protocol of doing this is 3 sided.
- It increases available agEUR liquidity for EUROC->agEUR trades. By minting more agEUR in the pool, we’d be facilitating access to agEUR from other pools.
- Every time people swap EUROC to agEUR, the agEUR minted in the AMO go into the open market and in this case they become backed by EUROC. In this setup, increasing the size of the AMO is an opportunity to increase the amount of EUROC backing the protocol (and on which the protocol has no exchange risk), as it may lead people to rebalance the protocol and swap EUROC to agEUR.
- It enables the protocol to increase its revenue efficiency. The protocol is currently buying the veCRV voting power at the origin of the CRV (and hence CVX/SDT) inflation going to the pool. By increasing its share of the pool, it’s also increasing the efficiency of its incentives in terms of revenue generated.
Risks
The main risks of this AMO are the following:
- it takes some yield opportunities from other agEUR holders. Like the extra CRV the protocol is making would, if the pie does not grow for everyone, be taken from other LPs in the pool. Some may leave the pool. This would result in even more revenue for the protocol on this particular AMO.
- it increases the imbalance in the agEUR-EUROC pool. This will not reflect however in a depeg situation for agEUR. The stablecoin has its core module which allow people to trade agEUR for USDC at oracle value. In the worst case, people will arb the pool (like it’s historically been the case for this one), rebalance it and it’ll increase the EUROC holdings for the protocol.