Pending

Withdraw reserves from cUSDCv3 and cWETHv3 on Unichain


Proposal ID

621

Governor

Compound Governor

Proposed

Oct 29th, 2026

Actions

Type

Address

Details

Custom

Bridge to Unichain

0x9A3D...98A6

sendMessage(..)

Custom

Account

Bridge to Unichain

0x9A3D...98A6

Method

sendMessage(..)

Proposal

Proposal summary

This proposal withdraws 42,000 USDC and 90 WETH of reserves from the Compound III USDC and WETH markets on Unichain and sends them to the Compound Timelock on Ethereum Mainnet. The USDC is bridged using Circle's CCTP, and the WETH is unwrapped to ETH and bridged using the Unichain native bridge.

Withdrawing the reserves is the final step of the deprecation process and secures the markets' protocol-owned funds by moving them to the Timelock on Mainnet.

Reserves withdrawal

Reserves are the protocol-owned portion of a market's base asset: the Comet's base token balance plus outstanding borrows, minus what is owed to suppliers, as reported by getReserves(). They do not belong to any user, so withdrawing them does not change supplier or borrower balances. Only the governor of the market (the Unichain Timelock) can call withdrawReserves.

SourceAmount
cUSDCv3 reserves at proposal creation (getReserves())54,707.87 USDC
Withdrawn from cUSDCv3 and sent to the Mainnet Timelock42,000.00 USDC
cWETHv3 reserves at proposal creation (getReserves())104.74 WETH
Withdrawn from cWETHv3, unwrapped to ETH and sent to the Mainnet Timelock90.00 WETH

The proposal does not withdraw all reserves. Both markets still have open borrow positions, so the remaining reserves are left as a buffer that keeps the markets solvent until those positions are repaid or liquidated. The rest can be withdrawn by a later proposal once they are closed.

Proposal actions

The proposal action sends a message through the Unichain L1 Cross Domain Messenger to the Unichain Bridge Receiver, which queues the following calls on the Unichain Timelock:

  1. Call withdrawReserves(address,uint256) on the Unichain cUSDCv3 to withdraw 42,000 USDC to the Unichain Timelock.
  2. Approve the CCTP Token Messenger to spend 42,000 USDC from the Unichain Timelock.
  3. Call depositForBurn on the CCTP Token Messenger to burn 42,000 USDC on Unichain and mint it to the Mainnet Timelock.
  4. Call withdrawReserves(address,uint256) on the Unichain cWETHv3 to withdraw 90 WETH to the Unichain Timelock.
  5. Call withdraw(uint256) on Unichain WETH to unwrap it to ETH.
  6. Call bridgeETHTo on the L2 Standard Bridge to bridge 90 ETH to the Mainnet Timelock.

Once Circle attests the burn, the USDC is minted on Mainnet with receiveMessage on the CCTP Message Transmitter. The ETH withdrawal is proven and, after the challenge period, finalized on the Unichain Optimism Portal on Mainnet. Anyone can submit these transactions, and the funds can only be released to the Mainnet Timelock.

Status

Thu Oct 29, 04:48 pm

Published onchain

Sat Oct 31, 12:36 pm

Start voting period

Tue Nov 3, 06:18 am

End voting period

Queue proposal

Execute proposal