☄️ Compound III

Over the past six weeks, considerable effort has gone into reviewing the Compound III testnet deployments, codebase, and documentation. Thank you everyone for your feedback, edits, audits, and testing.

Audits were completed by OpenZeppelin and ChainSecurity. These are significant documents that everyone in the community is encouraged to review.

Full documentation of Compound III is available for developers to prepare new application integrations, and for liquidators to begin building bots to protect the protocol.

Compound III is now ready for production!

The first deployment of Compound III is a USDC market on Ethereum. The release candidate contracts have been deployed; Compound Governance controls these contracts, and is solely capable of activating the market.

Deployed Contracts

cUSDCv3: 0xc3d688B66703497DAA19211EEdff47f25384cdc3 :notebook:

This is the main proxy contract for interacting with the new market. The address should remain fixed and independent from future upgrades to the market. It is an OpenZeppelin TransparentUpgradeableProxy contract.

cUSDCv3 Implementation: 0x42F9505a376761b180e27a01bA0554244ED1DE7D :notebook:

This is the implementation of the market logic contract, as deployed by the Comet Factory via the Configurator.

cUSDCv3 Ext: 0x285617313887d43256F852cAE0Ee4de4b68D45B0 :notebook:

This is an extension of the market logic contract which supports some auxiliary/independent interfaces for the protocol. This is used to add additional functionality without requiring contract space in the main protocol contract.

Configurator: 0x316f9708bB98af7dA9c68C1C3b5e79039cD336E3 :notebook:

This is a proxy contract for the ‘configurator’, which is used to set and update parameters of a Comet proxy contract. The configurator deploys implementations of the Comet logic contract according to its configuration. This pattern allows significant gas savings for users of the protocol by ‘constantizing’ the parameters of the protocol.

Configurator Implementation: 0xcFC1fA6b7ca982176529899D99af6473aD80DF4F :notebook:

This is the implementation of the Configurator contract, which can also be upgraded to support unforeseen changes to the protocol.

Proxy Admin: 0x1EC63B5883C3481134FD50D5DAebc83Ecd2E8779 :notebook:

This is the admin of the Comet and Configurator proxy contracts. It is a ProxyAdmin as recommended/implemented by OpenZeppelin according to their upgradeability pattern.

Comet Factory: 0x1C1853Bc7C6bFf0D276Da53972C0b1a066DB1AE7 :notebook:

This is the factory contract capable of producing instances of the Comet implementation/logic contract, and invoked by the Configurator.

Rewards: 0x1B0e765F6224C21223AeA2af16c1C46E38885a40 :notebook:

This is a rewards contract which can hold rewards tokens (e.g. COMP, WETH) and allows claiming rewards by users, according to the core protocol tracking indices.

Parameters :notebook:

The risk parameters for the USDC market were configured based on recommendations by Gauntlet. Supply caps are set to 0, and require a governance proposal to activate the market, before users can supply collateral or borrow USDC.

Collateral Asset Borrow CF Liquidation CF Liquidation Fee
WETH 82.5% 89.5% 5.0%
WBTC 70.0% 77.0% 5.0%
LINK 79.0% 85.0% 7.0%
UNI 75.0% 81.0% 7.0%
COMP 65.0% 70.0% 7.0%
Parameter Supply Rate Model Borrow Rate Model
Base 0.00% 1.50%
SlopeLow 3.25% 3.50%
Kink 0.80 0.80
SlopeHigh 40.00% 25.00%

Target Reserves: 5,000,000 USDC

Storefront Price Factor: 50%

Minimum Borrow Size: 100 USDC

Supply Reward Speed: 0.00 (usage is not tracked for rewards)

Borrow Reward Speed: 0.00 (usage is not tracked for rewards)

Next Steps

Everyone has a chance to review the contracts and parameters of the market, in preparation for its activation. Compound III is now just a governance proposal away from being live!

18 Likes