Thanks to Dennis and Sam for feedback and input. Credit to Dennis for recently suggesting a similar approach.
Change the Frax protocol buyback function to preserve collateral within the protocol.
The Frax protocol buyback function is a mechanism to match the protocol’s target collateralization ratio (CR) with the actual CR. When the amount of collateral in the system exceeds the target amount (actual CR > target CR), the buyback function becomes available. Currently, the buyback function uses existing collateral (USDC at this time) to create a limit order to buy FXS that equals the amount of excess collateral in the protocol. The protocol is essentially removing excess collateral by purchasing FXS.
While this approach has been successful to date, the downside is that it balances the CR by removing collateral from the system. There is an alternate approach, which now appears to be the better path forward: instead of removing collateral from the protocol, the protocol can mint additional FRAX such that the new total balance of FRAX divided by the existing collateral equals the target CR rate. This additional amount of FRAX minted to balance the CR would then be used to purchase FXS on the open market, likely in a similar manner to FXS-1559 (though 100% would be used to buy and burn FXS).
There are three obvious benefits to the change. Long term it encourages the growth of Frax’s balance sheet by adding liabilities (additional FRAX) rather than shrinking the balance sheet by removing assets (removing collateral). The additional FRAX ultimately boosts the total FRAX supply.
It is now obvious that protocol collateral is incredibly valuable to Frax. Frax is currently on pace to earn 8 figures of protocol revenue in 2021 primarily driven by the effective use of idle protocol collateral. Reducing collateral leads to a reduction in revenue. This change will preserve protocol collateral within the protocol and increase protocol revenue compared with the current buyback function.
The final benefit is that it shifts the protocol from a passive to an active buyer for buybacks. So rather than have a sitting limit order for FXS at the oracle price, the protocol will actively conduct buybacks on the open market in the same manner that FXS-1559 currently operates. While the size of the buyback in FXS terms may be less due to slippage, the ability to execute it on demand may offset any slippage (2% slippage doesn’t matter if the order sits for a day and the price of FXS increases by 5% in that time). It is important that 100% of the FRAX generated for the buyback be used for the buyback and not allocated via the FXS-1559 fee split (that would significantly unbalance the protocol in my opinion).
Technically, I understand this proposal to be a straight forward change but am happy to adjust if it becomes extremely complicated. I also believe there are merits for creating symmetry with the recollateralization function (e.g. also making that function operate similar to FXS-1559 where the protoocl would become an active seller on the market to recollateralize) but that appears to be more involved technically and out of scope at this time. We can address that at a later date.
Please let me know if you have any input or feedback.