DAO Treasury Ops
Recipe - Optimistic Grants
Auto-approve grants unless challenged.
Recipe: Optimistic Grants
This policy allows a Grant Committee to approve a grant instantly, but enforces a Challenge Window (e.g., 3 days) before funds can move. During this window, the DAO can veto.
The Strategy
Initiate: Committee "queues" a grant.
Wait: Funds are locked for 3 days.
Finalize: If no veto occurs, anyone can trigger the payout.
Challenge windows keep you safe
A short veto period preserves oversight without slowing routine grants.
The Policy
permission OptimisticGrantGuard -> 1.0.0 {
parameters: {
committee: address,
vetoRole: address,
grantId: uint256,
unlockTimestamp: uint256
}
when: {
any {
// Queue grant
all {
context.caller == parameters.committee,
calldata.grantId == parameters.grantId
},
// Veto grant
all {
context.caller == parameters.vetoRole,
calldata.grantId == parameters.grantId
},
// Claim grant after the challenge window
all {
context.caller == parameters.committee,
calldata.grantId == parameters.grantId,
context.timestamp >= parameters.unlockTimestamp
}
}
}
}Integration
This pattern reduces governance fatigue. The DAO only needs to pay attention if something looks wrong. Otherwise, execution happens automatically.