Hello,
This is a proposal to change the methodology with which the reserves of the Transmuter are rebalanced.
Context
Transmuter is the price stability module of the Angle Protocol. It’s within this module that users can come and mint agEUR with EUROC and bC3M. Transmuter is built so it can keep its exposures to its collateral assets (EUROC and bC3M) within desired ranges at all times. It also provides mechanisms to rebalance the reserves of the protocol when these are imbalanced.
This takes the form of negative minting fees, and it has proven to be very efficient for the protocol to acquire some bC3M when it was overexposed to EUROC.
What happened already in the past was that too many people minted with EUROC, and so the protocol automatically arrived in an area with negative fees to mint with bC3M which led market makers to do the following: buy bC3M from Backed, mint agEUR from bC3M and burn for more EUROC than the value at which these bC3M had been bought from Backed. Here is one example of a mint transaction from bC3M.
While this rebalancing system has proven to be very successful when there are 2 collateral assets, it’s harder to generalize it in the case of more than 2 collateral assets. Imagine a setup with 3 collaterals, 2 of them having an area where there are negative fees, at this stage we haven’t been able to formally write down the conditions which guarantee that there cannot be any infinite arbitrage loops within the protocol of people continuously consuming the negative fees.
To this extent, to prepare for the situation where there are more than 2 collateral assets, and to avoid arbitrages in this case, we propose to change the method to rebalance the reserves of the protocol, and take advantage of this to adjust the fee structure of the protocol.
Proposal
Proposal is to change the rebalancing method and remove the negative fees for bC3M within the Transmuter.
In particular, we propose to deploy a new contract called the Rebalancer which will transiently sponsor transactions of market makers or individuals rebalancing the reserves of the protocol when it’s needed to do so.
Rebalancer is a contract which anyone can call, and what it does is that it mints agEUR from a specified tokenIn
and then burns these minted agEUR for a given tokenOut
immediately. It’s possible to guarantee a rate for swaps from tokenIn
to tokenOut
and if the second burn is not enough to get to the guaranteed rate, then the contract can sponsor the burn with more agEUR to arrive to the guaranteed rate.
The rate in Rebalancer can be guaranteed by a governance multisig when it’s needed to rebalance the reserves of the protocol.
Like, imagine the protocol is exposed at 80% to EUROC when it should be exposed at 75% to it. Then governance can guarantee a rate that is favorable to market makers and enables them to indirectly swap bC3M to EUROC (through an agEUR mint) with a like 30bp premium. If this rate is 1 bC3M = 100 EUROC, and a swap from bC3M to EUROC using the Transmuter yields 99 EUROC, then the Rebalancer can come with the necessary amount of agEUR so that the burn after the agEUR mint gives 100 EUROC.
This corresponds in fact to replicating the flow of what is currently done but in a controlled environment where subsidy amounts are fully capped and can be removed within a minute.
Having the Rebalancer contract implies granting the guardian multisig with a budget to sponsor these acquisitions and with the right to set guaranteed rates in the Rebalancer
. We are suggesting here to start with a budget that will be enough to sponsor the acquisition of 10m€ of bC3M with a 35bp premium for market makers, hence equal to 35k EUROC (to be converted in agEUR).
The mandate of the guardian multisig will then be to replicate through subsidized rates the fee schedule that is currently available within the Transmuter, which means:
- not subsidizing any trade when exposure to bC3M is above 40%
- aim for an equilibrium in the EUROC vs. bC3M in the zone between 33% exposure to bC3M to 40% exposure, and increase the discount proposed to market makers as exposure to bC3M decreases with a max discount equal to 40bp with respect to current prices
To give an example, let’s say exposure to bC3M is 67% EUROC / 33% bC3M, then the guardian multisig must not sponsor any trade. Yet, if exposure starts going below, and if the deviation is significant enough for a market maker to actually take the arbitrage, the guardian multisig must set the Rebalancer
contract so that market makers will earn from bC3M to EUROC swaps and so that they actually rebalance the reserves of the protocol.
As part of this proposal, we obviously propose to remove the negative mint fees for bC3M in the Transmuter, and set them to 0 in all areas where they were negative.
Value to the protocol
There is no immediate value in having this contract ready, in the sense that the current system works fine and that it cannot manipulable by external agents. Yet, as it is, it does not scalable to more than 2 collateral assets.
It’s important however to note that this new system also offers more granularity as guaranteed rate can be independent of the oracle values of the protocol, and overall it’ll make the UX simpler for market makers rebalancing the protocol.
In all cases, this new implementation would be a safer and more constrained approach.
Implementation
Implementation of this proposal would be straightforward:
- deploy the Rebalancer contract on Ethereum
- transfer 35k EUROC from the governor to the guardian multisig
- set null mint fees on the Transmuter for bC3M in all the areas where these fees were not null
The guardian multisig shouldn’t put all the 35k EUROC directly in the contract, but rather transfer it everytime a trade needs to be funded.
This is in the end a very technical proposal but that has the possibility to drastically improve the operational efficiency of the protocol as we scale and grow, and make it as cheap as possible to acquire what powers its savings solution.