KVORUM
compoundSource: Compound governor oz · #612

Aligning Treasury Delays with the Governance Process

pendingOct 7, 2026, 01:43 AM UTCby5B0x5b29…ede3

01Summary

AISummary by Kvorum

An AI summary is not generated yet. Read the description →

02Description

384 words

Aligning Treasury Delays with the Governance Process

Summary

Increase the Treasury Escrow withdrawal cooldown and the Treasury Timelock minimum delay from two days to ten days. Set the Escrow expiration to seventeen days from initiation, preserving a seven-day withdrawal window after the cooldown.

The purpose is to give COMP holders enough time to complete the governance process before treasury actions become executable.

Rationale

Treasury activity has continued while governance concerns remain unresolved. On September 29, the TMC transferred $3 million in stablecoins to a separate Safe. That Safe subsequently deployed $2 million USDC into a single-sided Uniswap V3 COMP position, committing those funds to purchasing COMP as its price falls through the position’s range.

These movements, documented in the forum discussion, demonstrate why voluntary requests to suspend treasury activity are insufficient. Governance needs an enforceable period in which it can consider and execute a response.

This proposal extends the existing treasury controls and gives the Governor Timelock explicit authority to execute and cancel Treasury Timelock operations.

Executable actions

The proposal executes five actions in this order:

  1. Set the Treasury Escrow withdrawal expiration to 1468800 seconds (17 days from initiation).
  2. Set the Treasury Escrow withdrawal cooldown to 864000 seconds (10 days).
  3. Grant the Governor Timelock EXECUTOR_ROLE on the Treasury Timelock.
  4. Grant the Governor Timelock CANCELLER_ROLE on the Treasury Timelock.
  5. Schedule a Treasury Timelock self-call to updateDelay(864000), using its existing 172800-second minimum delay.

Expiration is increased before the cooldown to satisfy the Escrow’s configuration constraints.

The fifth action schedules the delay increase. It does not immediately change the Treasury Timelock’s minimum delay. A separate execution is required once the scheduled operation is ready. A follow-up governance proposal is prepared for that execution; an existing authorized executor can also complete it.

Treasury custody instruction

Treasury assets administered by the TMC shall be held in the Treasury Escrow or in contracts owned by the Treasury Timelock.

The TMC Safe may hold treasury assets only in transit, for no longer than needed to complete a disbursement that has passed through the Escrow cooldown or the Treasury Timelock delay.

This custody requirement is a governance instruction and is not enforced by the executable calls.

References

Forum discussion and supporting evidence

Transaction payloads and simulation evidence

Scheduled operation ID: 0x953db1c078de556930197fab4266b633d0b7fd28477d9028de81a438e6c6214d

03Mismatch analysis

AIMismatch analysis by Kvorum

A calldata-vs-description analysis is not generated yet. Review the decoded actions →

04Actions

5 total
#0setWithdrawExpiration(uint40)chain 0x1
Target
0xdcb3…130c
Value
0 wei
Function
setWithdrawExpiration(uint40)
Arguments
{
  "_expiration": "1468800"
}
Calldata
#1setWithdrawCooldown(uint40)chain 0x1
Target
0xdcb3…130c
Value
0 wei
Function
setWithdrawCooldown(uint40)
Arguments
{
  "_cooldown": "864000"
}
Calldata
#2grantRole(bytes32,address)chain 0x1
Target
0xefed…11c1
Value
0 wei
Function
grantRole(bytes32,address)
Arguments
{
  "role": "0xd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63",
  "address": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925"
}
Calldata
#3grantRole(bytes32,address)chain 0x1
Target
0xefed…11c1
Value
0 wei
Function
grantRole(bytes32,address)
Arguments
{
  "role": "0xfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783",
  "address": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925"
}
Calldata
#4schedule(address,uint256,bytes,bytes32,bytes32,uint256)chain 0x1
Target
0xefed…11c1
Value
0 wei
Function
schedule(address,uint256,bytes,bytes32,bytes32,uint256)
Arguments
{
  "data": "0x64d6235300000000000000000000000000000000000000000000000000000000000d2f00",
  "salt": "0x703a0be5ed4c07d8ca94f71da77bd59768fc6588d87567765ac518e895705aaa",
  "delay": "172800",
  "value": "0",
  "target": "0xefeD08b791423C7D7937507Cf840E86a7ddC11c1",
  "predecessor": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

No forum thread is confidently linked to this proposal.

08Similar proposals

AI · embeddings

No semantically similar proposals found yet.