Fully Deprecate USDM Pegkeeper: Part 3

Summary:

Abstract:

Parts 1 and 2 of offboarding USDM pegkeeper took the following actions:

  • USDM pegkeeper debt ceiling was set to 0
  • USDM was removed from the crvUSD price aggregator
  • USDM pool gauges were killed

This vote proposes the final actions to fully offboard USDM Pegkeeper which are:

  • Remove USDM pegkeeper from crvUSD monetary policies
  • Remove USDM from the pegkeeper regulator

Motivation:

Mountain has recently announced the wind down of USDM.

In a blog post, Mountain explained the process for the depreciation of USDM in an orderly manner. A relevant excerpt is given below:

USDM Wind-Down Process
As part of the acquisition, Mountain Protocol will begin an orderly wind-down process for the Mountain USD stablecoin (USDM). The wind-down of USDM will be conducted in an orderly fashion to ensure a smooth and transparent transition.

Minting new USDM will be disabled from May 12th 2025, but all other features will be supported. USDM rewards will remain active for 30 days. After that initial 30 day period, the rewards rate will be set to 0% APY.

Primary customers will be able to redeem their USDM through the Mountain Protocol Platform, while other USDM holders are encouraged to swap their USDM for other tokens through available exchanges.

With USDM being deprecated, it is no longer a viable crvUSD Pegkeeper.

In part 1 of offboarding USDM, the debt ceiling was set to 0 and USDM was removed from the crvUSD price aggregator. By setting the debt ceiling to 0, it prevented additional pegkeeper debt from being deposited to the USDM pool. Removal from the crvUSD price aggregator prevented the aggregated price of crvUSD, necessary for crvUSD protocol operations, from being influenced by the deprecated USDM pool.

After completing these action, there was still outstanding USDM debt (~200k) which needed to be cleared. We set the USDM pegkeeper action delay to 0 to allow atomic arbitrage of the remaining balance. @wavey0x from Yearn created a flashloan contract that successfully cleared the outstanding debt in the USDM pool.

In part 2, USDM pool gauges were killed. This removes incentives for depositing into liquidity pools containing USDM, encouraging users to move their funds out of USDM pools.

Now, USDM needs to be removed from the pegkeeper regulator and crvUSD monetary policies. Removing USDM from the pegkeeper regulator will fully remove the USDM pegkeeper from the pegkeepr system. Although providing/withdrawing should already be impossible with the debt ceiling set to zero, this prevents potential exploits and is done for general housekeeping. Removing USDM from crvUSD monetary policies will prevent any influence that USDM may have on crvUSD interest rates (again, the USDM pegkeeper is inactive and this is a housekeeping action). Both actions will serve to cleanup associated smart contracts.

By performing these last two steps, USDM will be fully deprecated from the crvUSD pegkeeper.

Specification:


ACTIONS = [
 
# Remove USDM from the pegkeeper regulator
("0x36a04CAffc681fa179558B2Aaba30395CDdd855f", "remove_peg_keepers", "0x503E1Bf274e7a6c64152395aE8eB57ec391F91F8"),
 
# Remove USDM from monetary policies
("0xD8F49c747AED8D394F6f1841546E2B83E09A357D", "remove_peg_keeper", "0x503E1Bf274e7a6c64152395aE8eB57ec391F91F8")
("0xc684432FD6322c6D58b6bC5d28B18569aA0AD0A1", "remove_peg_keeper", "0x503E1Bf274e7a6c64152395aE8eB57ec391F91F8")
("0x8c5A7F011f733fBb0A6c969c058716d5CE9bc933", "remove_peg_keeper", "0x503E1Bf274e7a6c64152395aE8eB57ec391F91F8")
 
]
2 Likes

This vote is live here:

1 Like