Learn how to define secure, limited proposal types in a DAO using scopes.
Scoped Proposal Types are a powerful tool to limit what kinds of actions proposals in a DAO can take. Instead of allowing any contract call, you can define specific, safe actions that certain proposal types are allowed to perform.
A Proposal Type is a template that defines:
A Scope is a rule that says:
Each scope is bound to:
transfer(address,uint256)
)Let’s say your DAO has a proposal type called “Treasury Settings”. You only want it to update the budget — not move funds.
Create a Proposal Type:
Treasury Settings
10%
60%
Assign a Scope:
Treasury
contractupdateBudget(uint256)
newBudget < 1,000,000 tokens
Any proposal of this type must:
If not, it’s invalid.
Only the Governor admin or a timelock can manage scopes.
Available actions:
Action | Who can do it? |
---|---|
Create proposal type | Admin / Timelock |
Assign scope | Admin / Timelock |
Disable scope | Admin / Timelock |
Delete scope | Admin / Timelock |
When someone submits a proposal:
uint
address
bytes32
Scoped Proposal Types give DAOs granular control over what governance proposals are allowed to do. They help:
By assigning clear scopes to proposal types, you create permissioned governance, without needing to trust proposal authors.