Initialize Compound III (USDC on Ethereum)

After initializing a market, the next major decisions for governance are:

  1. How to include the deployment’s users in the COMP Distribution
  2. How to increase the supply caps for supported collateral assets
  3. How to add additional collateral assets

The latter questions are addressed by OpenZeppelin’s Asset Listing Guide, and Gauntlet’s Market Risk Framework for Asset Listings on Compound, and their experience managing the existing protocol will likely map to Compound III.

But the first question is new, and should be addressed at the outset of a Compound III deployment.

In the week since the USDC market was initialized, preliminary metrics indicate that the deployment and initial parameters are stable:

  • $4.33M is borrowed against $7.88M of collateral, a 55% LTV, significantly above the 28% LTV seen in Compound v2
  • The USDC utilization rate is 70%, compared to 37% in Compound v2
  • Per @monet-supply observations above, the utilization rate is in the reserve-generating section of the curve; reserves have grown by $0.36k
  • There is currently $2.28M of liquidity available to withdraw or borrow (which is insufficient for larger users)
  • There has been one liquidation demonstrating that the liquidation mechanics are functional, and that liquidators are active (albeit completely untested at scale)

With no known issues, the deployment passes its first safety litmus test, which should otherwise prevent a COMP Distribution.

Strategy for discussion

Including the Compound III USDC market in the COMP Distribution serves many purposes; it empowers users of the new deployment, and encourages the migration of usage from Compound v2, which can prevent liquidity issues related to the Merge and serve as an outlet for users impacted by Proposal 117.

Everyone’s comments & thoughts on the following sample proposal are encouraged. If there is broad public support, it should be proposed to take effect shortly after Proposal 119 and before the Merge:

The COMP Distribution would be disabled for ETH, WBTC, LINK, UNI, and COMP in Compound v2, totaling 177.58 COMP/day; these assets are useful collateral in the Compound III USDC market, and are encouraged to migrate.

Compound III USDC borrowers would be allocated 177.58 COMP/day, which represents 15.59% of the COMP Distribution; 84.41% remains with Compound v2 users. The net impact of this proposal is zero; it does not change the total quantity of COMP distributed to users.

Supply caps, and the maximum risk of Compound III USDC, wouldn’t change; but usage of the existing supply caps will probably trend towards full utilization.

Proposal Functions

The proposal itself performs 4 basic steps corresponding to Timelock actions.

The first action removes the COMP distribution using the setCompSpeeds function in the Comptroller (v2).

The next (2nd) action calls setBaseTrackingBorrowSpeed in the Configurator and sets the borrower allocation to 177.58 COMP per day (the amount being shut down in v2 by the first action).

The next (3rd) action is to deploy and upgrade to the newly configured implementation for the market. The proposal calls the deployAndUpgradeTo function of the ProxyAdmin contract, which is the only contract capable of changing the implementation of the proxy. This wrapper function also takes care of deploying the new implementation from the factory contract, using the previously set configuration in the Configurator.

The final (4th) action calls grantCOMP from the Comptroller (v2), transferring 25,000 COMP from the Comptroller to the Compound III Rewards contract. Based on the parameters set earlier, this equals 141 days of distribution before governance would need to replenish or modify the distribution to Compound III users.

This proposal utilizes the Configurator and Factory contract, and introduces no new code. Scenarios have been run that confirms the success of the proposal.

4 Likes