Initialize cUSDTv3 on Ethereum Mainnet
01Summary
FranklinDAO proposes deploying Compound III's cUSDTv3 market on Ethereum Mainnet. This involves configuring the market with risk parameters recommended by Gauntlet, deploying the factory, seeding 250 million USDT in reserves from existing cUSDT reserves, and registering the market on official channels.
- Type
- protocol addition
Key changes
- Deploy cUSDTv3 Comet instance on Ethereum Mainnet with Gauntlet-recommended risk parameters including collateral configurations for COMP, WETH, WBTC, UNI, LINK, and stETH(high)
- Set CometFactory for the new Comet instance in the Configurator(high)
- Configure rewards contract to distribute COMP incentives to the new cUSDTv3 market(medium)
- Seed cUSDTv3 market with 250 million USDT transferred from existing cUSDT reserves(high)
- Register cUSDTv3 on official markets list via ENS TXT record update(low)
Generated by Kvorum
02Description
Initialize cUSDTv3 on Ethereum Mainnet
Proposal summary
FranklinDAO team with advice support from Woof Software team proposes deployment of Compound III to the Ethereum Mainnet network. This proposal takes the governance steps recommended and necessary to initialize a Compound III USDT market on Ethereum Mainnet; upon execution, cUSDTv3 will be ready for use. Simulations have confirmed the market’s readiness, as much as possible, using the Comet scenario suite. The new parameters include setting the risk parameters based off of the recommendations from Gauntlet.
Further detailed information can be found on the corresponding proposal pull request, deploy market GitHub action run and forum discussion.
Proposal Actions
The first proposal action sets the CometFactory for the new Comet instance in the existing Configurator.
The second action configures the Comet instance in the Configurator.
The third action deploys an instance of the newly configured factory and upgrades the Comet instance to use that implementation.
The fourth action configures the existing rewards contract for the newly deployed Comet instance.
The fifth action reduces Compound’s cUSDT reserves and transfers it to Timelock, in order to seed the market reserves for the cUSDTv3 Comet.
The sixth action transfers reserves from Timelock to the cUSDTv3 Comet.
The seventh action updates the ENS TXT record v3-official-markets on v3-additional-grants.compound-community-licenses.eth, updating the official markets JSON to include the new Ethereum Mainnet cUSDTv3 market.
03Mismatch analysis
I compared each of the seven prose-described actions against the seven decoded calldata actions in order. Action 0 (setFactory) matches the described Configurator factory update. Action 1 (setConfiguration) matches the described Comet configuration step, and while the description doesn't enumerate the specific risk parameters, it correctly references that they follow Gauntlet's published recommendations - this is legitimate summarization, not a discrepancy. Action 2 (deployAndUpgradeTo) matches the described deploy+upgrade step, targeting the same Comet address referenced in action 0/1. Action 3 (setRewardConfig) matches the rewards configuration step, targeting the same new Comet address. Action 4 (_reduceReserves on the cUSDT v2 market) matches the described reserve reduction. Action 5 (USDT transfer) sends the same amount (250,000 USDT) reduced in action 4 to the same Comet address configured earlier, consistent with 'transfers reserves from Timelock to the cUSDTv3 Comet.' Action 6 (ENS setText) matches the described update to the v3-official-markets registry, and the new JSON payload does include the new USDT Comet address for chain '1' alongside pre-existing markets on other chains (which is expected/necessary, not an omission). All addresses referenced across actions are internally consistent (the same new Comet address 0x3Afdc9... appears in actions 0,1,2,3,5, and 6). No numeric or target mismatches were found, and no significant omitted or extra actions were detected. The description is a faithful, appropriately high-level summary of the calldata.
Generated by Kvorum
04Actions
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setFactory(address,address)
- Arguments
{ "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840", "1": "0x698A949f3b4f7a5DdE236106F25Fa0eAcA0FcEF1" }- Calldata
- Target
- 0x316f…36e3
- Value
- 0 wei
- Function
- setConfiguration(address,(address,address,address,address,address,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint104,uint104,uint104,(address,address,uint8,uint64,uint64,uint64,uint128)[]))
- Arguments
{ "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840", "1": [ "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925", "0xbbf3f1421D886E9b2c5D716B5192aC998af2012c", "0xdAC17F958D2ee523a2206206994597C13D831ec7", "0x3E7d1eAB13ad0104d2750B8863b489D65364e32D", "0x5C58d4479A1E9b2d19EE052143FA73F0ee79A36e", "900000000000000000", "59000000000000000", "2900000000000000000", "0", "900000000000000000", "61000000000000000", "3200000000000000000", "15000000000000000", "600000000000000000", "1000000000000000", "810185185185", "578703703703", "100000000000", "100000000", "20000000000000", [ [ "0xc00e94Cb662C3520282E6f5717214004A7f26888", "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5", "18", "650000000000000000", "700000000000000000", "750000000000000000", "100000000000000000000000" ], [ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419", "18", "830000000000000000", "900000000000000000", "950000000000000000", "500000000000000000000000" ], [ "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "0x4E64E54c9f0313852a230782B3ba4B3B0952B499", "8", "800000000000000000", "850000000000000000", "950000000000000000", "1800000000000" ], [ "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984", "0x553303d460EE0afB37EdFf9bE42922D8FF63220e", "18", "750000000000000000", "810000000000000000", "850000000000000000", "3000000000000000000000000" ], [ "0x514910771AF9Ca656af840dff83E8264EcF986CA", "0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c", "18", "790000000000000000", "850000000000000000", "930000000000000000", "2000000000000000000000000" ], [ "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", "0x023ee795361B28cDbB94e302983578486A0A5f1B", "18", "800000000000000000", "850000000000000000", "950000000000000000", "9000000000000000000000" ] ] ] }- Calldata
- Target
- 0x1ec6…8779
- Value
- 0 wei
- Function
- deployAndUpgradeTo(address,address)
- Arguments
{ "0": "0x316f9708bB98af7dA9c68C1C3b5e79039cD336E3", "1": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840" }- Calldata
- Target
- 0x1b0e…5a40
- Value
- 0 wei
- Function
- setRewardConfig(address,address)
- Arguments
{ "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840", "1": "0xc00e94Cb662C3520282E6f5717214004A7f26888" }- Calldata
- Target
- 0xf650…dcc9
- Value
- 0 wei
- Function
- _reduceReserves(uint256)
- Arguments
{ "0": "250000000000" }- Calldata
- Target
- 0xdac1…1ec7
- Value
- 0 wei
- Function
- transfer(address,uint256)
- Arguments
{ "0": "0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840", "1": "250000000000" }- Calldata
- Target
- 0x4976…ba41
- Value
- 0 wei
- Function
- setText(bytes32,string,string)
- Arguments
{ "0": "0x7dcf87198fd673716e5a32b206d9379c4fcbad8875073f52bfd0656759bf89ed", "1": "v3-official-markets", "2": "{\"1\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xc3d688B66703497DAA19211EEdff47f25384cdc3\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0xA17581A9E3356d9A858b789D68B4d866e593aE94\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0x3Afdc9BCA9213A35503b077a6072F3D0d5AB0840\"}],\"10\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0x2e44e174f7D53F0212823acC11C01A11d58c5bCB\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0x995E394b8B2437aC8Ce61Ee0bC610D617962B214\"}],\"137\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xF25212E676D1F7F89Cd72fFEe66158f541246445\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0xaeB318360f27748Acb200CE616E389A6C9409a07\"}],\"8453\":[{\"baseSymbol\":\"USDbC\",\"cometAddress\":\"0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0x46e6b214b524310239732D51387075E0e70970bf\"},{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xb125E6687d4313864e53df431d5425969c15Eb2F\"}],\"42161\":[{\"baseSymbol\":\"USDC.e\",\"cometAddress\":\"0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA\"},{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf\"},{\"baseSymbol\":\"WETH\",\"cometAddress\":\"0x6f7D514bbD4aFf3BcD1140B7344b32f063dEe486\"},{\"baseSymbol\":\"USDT\",\"cometAddress\":\"0xd98Be00b5D27fc98112BdE293e487f8D4cA57d07\"}],\"534352\":[{\"baseSymbol\":\"USDC\",\"cometAddress\":\"0xB2f97c1Bd3bf02f5e74d13f02E3e26F93D77CE44\"}]}" }- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| B90xb933…8dd1 | For | 54K | 11.15% | — | 2y ago |
| 680x683a…6c02 | For | 50.1K | 10.34% | — | 2y ago |
| 7A0x7ae1…e585 | For | 50K | 10.33% | — | 2y ago |
| ED0xed11…bb04 | For | 50K | 10.33% | — | 2y ago |
| B40xb49f…7948 | For | 50K | 10.33% | — | 2y ago |
| 070x0703…961b | For | 50K | 10.33% | — | 2y ago |
| 130x13bd…8548 | For | 50K | 10.33% | — | 2y ago |
| DC0xdc1f…e432 | For | 50K | 10.33% | — | 2y ago |
| 7B0x7b3c…cc33 | For | 50K | 10.33% | — | 2y ago |
| 3F0x3fb1…4c8a | For | 25.6K | 5.28% | — | 2y ago |
| B30xb356…c826 | For | 3.9K | 0.81% | — | 2y ago |
| 660x66cd…65f9 | For | 481.8 | 0.10% | — | 2y ago |
| E40xe459…e666 | For | 5.2 | 0.00% | — | 2y ago |
| 090x09c1…1edc | For | 1 | 0.00% | — | 2y ago |
| 720x72c5…7708 | For | 1 | 0.00% | — | 2y ago |
| 050x0579…ca09 | For | 1 | 0.00% | — | 2y ago |
| D20xd260…b1b6 | For | 0.5 | 0.00% | — | 2y ago |
| 2F0x2f2f…f78a | For | 0.5 | 0.00% | — | 2y ago |
| 480x48b5…6950 | For | 0.1 | 0.00% | — | 2y ago |
| 3F0x3fc3…d4f7 | For | 0.1 | 0.00% | — | 2y ago |
| E00xe005…59d8 | For | 0 | 0.00% | — | 2y ago |
| E50xe570…3510 | For | 0 | 0.00% | — | 2y ago |
| 420x42a5…22d7 | For | 0 | 0.00% | — | 2y ago |
| 6C0x6cc5…70ac | For | 0 | 0.00% | — | 2y ago |
| 710x7160…684c | For | 0 | 0.00% | — | 2y ago |
| ED0xed14…b962 | For | 0 | 0.00% | — | 2y ago |
| A20xa266…fc3f | For | 0 | 0.00% | — | 2y ago |
| B80xb899…8c04 | For | 0 | 0.00% | — | 2y ago |
| 7E0x7e03…9623 | For | 0 | 0.00% | — | 2y ago |
| 220x2205…4999 | For | 0 | 0.00% | — | 2y ago |
| ED0xedb2…1897 | For | 0 | 0.00% | — | 2y ago |
| F80xf88c…bdfd | For | 0 | 0.00% | — | 2y ago |
| 4A0x4a52…8e37 | For | 0 | 0.00% | — | 2y ago |
| E30xe37a…239a | For | 0 | 0.00% | — | 2y ago |
| 220x2210…d02e | For | 0 | 0.00% | — | 2y ago |
07Forum
- Launch USDT Market on Compound v3 Ethereum ↗discourse · high confidence
Arguments for
- USDT is a top market on Compound V2 by earnings and borrowing volume, and one of the largest stablecoins by market cap, making it a natural and desirable addition to Compound V3.— pennblockchain
- Adding USDT aligns with the AlphaGrowth Growth Program's strategic priority of expanding USDT markets across chains to drive protocol growth.— bryancolligan
- Gauntlet provided detailed risk parameter, IR curve, and incentive recommendations designed to accelerate TVL growth and ensure healthy market utilization at launch.— Gauntlet
- The proposal fulfills Compound Grants Program milestones for technical implementation, with Milestone 2 funding contingent on community approval, showing structured accountability.— Doo, pennblockchain
- OpenZeppelin's security review confirmed the on-chain governance proposal matched the reviewed scope, with critical oracle misconfigurations resolved before execution.— jbass-oz, dmitriywoofsoftware
- Extensive CI/CD testing (Slither, Forge tests, gas profiling, scenario tests, deployment simulations) was successfully completed prior to proposing on-chain, demonstrating technical readiness.— dmitriywoofsoftware
- The market has already been successfully deployed on-chain with USDT supplied, collateral supplied, and borrowing functional, confirming real-world viability even before frontend availability.— BlueSteve, dmitriywoofsoftware
Arguments against
None surfaced.
Unresolved concerns
- The ENS record update mechanism used in the migration script has a structural flaw that could unintentionally overwrite or omit other pending or recently added market details in the v3-official-markets record, and this was explicitly marked as unresolved even after the audit update.— jbass-oz
- The WstETHPriceFeed contract's naming and documentation still describe intended use with a stETH/ETH price feed even though it was repurposed to use a stETH/USD feed, creating potential confusion for future developers.— jbass-oz
- Whether USDC should be added as a collateral asset was left open, as Gauntlet excluded it from initial recommendations pending further community input.— Gauntlet, pennblockchain
- A user asked whether it was safe and appropriate to interact with the newly deployed contract directly via Etherscan to earn COMP rewards before the frontend was live, with only a brief reassurance given rather than a detailed security analysis.— BlueSteve, dmitriywoofsoftware
Notable participants
- pennblockchainOriginal proposer who introduced the USDT market proposal, motivation, and proposed collateral assets, and updated it with community feedback.
- bryancolliganRepresented AlphaGrowth's Growth Program, framing the proposal within a broader strategic push for USDT market expansion.
- DooClarified Compound Grants Program milestone status and funding conditions tied to community approval.
- GauntletProvided detailed risk parameters, IR curve settings, and COMP incentive recommendations for the new market.
- jbass-ozConducted OpenZeppelin's security audit of the migration PR, identifying oracle misconfiguration and ENS record issues, and later confirmed the final on-chain proposal matched the audited scope.
- dmitriywoofsoftwareLed technical implementation and deployment via Woof Software, ran CI/CD checks, submitted the on-chain governance proposal, and responded to community questions post-deployment.
- BlueSteveCommunity user who tested the deployed contract and raised a question about interacting with it before frontend availability.
Generated by Kvorum
08Similar proposals
- compoundexecutedInitialize cUSDTv3 on Arbitrum88%
- compoundexecutedInitialize cUSDTv3 on Polygon87%
- compoundexecutedInitialize cUSDTv3 on Optimism84%
- compounddefeatedInitialize cUSDTv3 on Optimism84%
- compoundexecutedInitialize cUSDCv3 on Optimism83%
- compoundexecutedInitialize cUSDEv3 on Mantle83%
- compoundexecutedInitialize cWETHv3 on Optimism80%