A state-changing proposal is a formal, on-chain transaction or message that, if approved by a protocol's governance system, will alter the protocol's state. This state encompasses the fundamental rules and data stored by the protocol, such as smart contract code, fee parameters, treasury allocations, or validator sets. Unlike informal suggestions or signaling votes, a state-changing proposal contains executable code or specific parameter updates that are automatically implemented upon successful passage, making it the primary vehicle for decentralized upgrade and maintenance.
State-Changing Proposal
What is a State-Changing Proposal?
A formal mechanism within a decentralized protocol to modify its core parameters or logic.
The lifecycle of a state-changing proposal typically follows a multi-stage governance process. It begins with a discussion period on forums, followed by the submission of the proposal on-chain, often requiring a deposit. A voting period then commences, where token holders or delegated representatives cast votes weighted by their stake. If the proposal meets predefined quorum and approval threshold requirements, it moves to a timelock period—a security delay allowing users to react—before the encoded changes are finally executed on-chain, irrevocably updating the protocol.
These proposals are categorized by their impact. Parameter change proposals adjust existing system variables (e.g., interest rates, block rewards). Spending proposals authorize transfers from the community treasury. The most critical type is the code upgrade proposal, which deploys new smart contract logic, requiring extreme caution due to its potential for introducing bugs or vulnerabilities. This hierarchy ensures different levels of scrutiny are applied based on the proposal's risk profile.
Examples of state-changing proposals include a DAO voting to increase the stability fee in a lending protocol like MakerDAO, a decentralized exchange governance approving a new fee structure, or a blockchain network like Cosmos voting to adopt a new software upgrade module. Each action directly modifies the live, economic rules governing user interactions with the protocol.
The security of this process relies on robust governance frameworks and ancillary mechanisms. Multisig execution may be required for high-risk changes, and constitutional models can restrict the scope of what proposals are allowable. The goal is to balance decentralized coordination with safeguards against malicious proposals or voter apathy, ensuring the protocol can evolve without centralized control while protecting user funds and system integrity.
Key Features of State-Changing Proposals
State-changing proposals are formal mechanisms for modifying a protocol's core parameters, smart contract logic, or treasury allocations through decentralized governance.
On-Chain Execution
A state-changing proposal's primary function is to execute code directly on the blockchain upon approval. This is distinct from signaling proposals, which only express sentiment. The proposal payload typically contains the calldata for a specific function call (e.g., upgradeTo(address) for a proxy contract or transfer(address,uint256) for a treasury). Execution is automated via the governance module, removing the need for manual intervention by a privileged key holder.
Parameter Adjustment
A common use case is modifying a protocol's economic or risk parameters. This allows a DAO to adapt to market conditions without requiring a full contract upgrade. Examples include:
- Changing a lending protocol's loan-to-value (LTV) ratio or liquidation penalty.
- Adjusting a DEX's swap fee percentage or protocol reward emissions.
- Updating a stablecoin's collateralization ratio or interest rate model.
Smart Contract Upgrade
The most critical type of state-change is upgrading a protocol's core smart contract logic. This is typically done via a proxy pattern, where the proposal points the proxy to a new implementation contract address. This allows for:
- Bug fixes and security patches.
- Adding new features or integrations.
- Gas optimization of existing functions. Due to the high risk, these proposals often require extended timelocks and higher approval thresholds.
Treasury Management
Proposals can authorize transactions from the protocol's treasury or community wallet. This enables decentralized allocation of funds for:
- Grants to developers or ecosystem projects.
- Strategic investments or token swaps.
- Operational expenses like paying for audits or infrastructure.
- Token buybacks and burns to manage supply.
These actions are executed via a call to the treasury's
executeortransferfunction.
Governance Cycle & Timelock
State-changing proposals follow a strict lifecycle to ensure security and deliberation:
- Submission & Discussion: Proposal is posted on a forum with technical details.
- Voting Period: Token holders cast votes (e.g., For, Against, Abstain).
- Timelock Delay: A mandatory waiting period after approval but before execution. This is a critical security feature that allows users to exit the system if they disagree with the change.
- Execution: The proposal's encoded function call is executed on-chain, changing the protocol state.
Technical Payload Structure
The actionable core of a proposal is its payload, which specifies the exact on-chain action. It typically includes:
- Target Address: The smart contract to interact with.
- Value: Amount of native token (ETH, MATIC) to send (often 0).
- Calldata: The encoded function signature and arguments (e.g., for
transfer(address,uint256)). - Description Hash: A link to the off-chain discussion (e.g., an IPFS hash). This structured data is what the governance executor contract processes to enact the change.
How a State-Changing Proposal Works
A state-changing proposal is a formal mechanism in decentralized governance where token holders vote to modify the core parameters or rules of a blockchain protocol or decentralized application.
A state-changing proposal is a formal governance mechanism that, when executed, modifies the on-chain state of a protocol. This is distinct from a signaling proposal, which merely gauges community sentiment. The 'state' refers to the stored data that defines the protocol's current configuration, such as smart contract code, treasury funds, fee parameters, or validator requirements. Executing such a proposal directly alters this data, changing how the system operates. This process is fundamental to the decentralized autonomous organization (DAO) model, where stakeholders collectively steer the protocol's evolution without relying on a central authority.
The lifecycle of a state-changing proposal typically follows a multi-stage process defined in the protocol's governance smart contracts. It begins with proposal submission, where a user deposits a required stake to prevent spam and submits the executable code or parameter change. This triggers a voting period, during which token holders cast votes weighted by their stake or voting power. Many systems employ delegate voting, where users can entrust their voting power to representatives. For a proposal to pass, it must usually meet dual thresholds: a minimum quorum (percentage of total voting power participating) and a majority or supermajority approval from those votes.
Upon successful approval, the proposal does not execute automatically unless the system is designed for on-chain execution. In many frameworks, a timelock period is enforced between approval and execution. This critical security feature provides a final buffer, allowing users to review the passed code and, in some systems, exit if they disagree with the change. After the timelock expires, any user can trigger the execution transaction, which calls the predefined function to update the protocol's state. This entire workflow—submission, voting, timelock, execution—is often managed autonomously by smart contracts, ensuring transparency and censorship resistance.
Examples of state-changing proposals are diverse and impactful. They include upgrading a protocol's smart contract to a new version (e.g., Uniswap's move from V2 to V3), adjusting fee parameters in a lending protocol like Aave, allocating funds from a community treasury to a grant, or modifying the collateral factors in a decentralized stablecoin system like MakerDAO. Each action permanently alters the live economic rules of the network. Failed proposals simply expire, with the submitter's stake often being slashed or returned depending on the system's design, ensuring accountability for proposal quality.
State-Changing vs. Non-State-Changing Proposals
A comparison of the two fundamental types of on-chain governance proposals based on their impact on the protocol's core state.
| Feature / Characteristic | State-Changing Proposal | Non-State-Changing Proposal (Signal Proposal) |
|---|---|---|
Primary Purpose | Execute code to modify protocol parameters or logic | Gauge community sentiment or signal intent |
On-Chain Execution | ||
Modifies Protocol State | ||
Typical Examples | Upgrade a smart contract, change a fee parameter, allocate treasury funds | Declare support for a future direction, propose a social consensus |
Gas Cost | High (pays for execution) | Low (pays for submission only) |
Voting Mechanism | Binding vote; outcome is automatically executed | Non-binding vote; outcome is advisory |
Failure Risk | High (execution can fail or be exploited) | None (no code execution) |
Common Quorum Requirement | Higher threshold | Lower or no threshold |
Common Examples of State-Changing Proposals
A state-changing proposal is a formal governance action that modifies the core parameters, code, or treasury of a decentralized protocol. These are the most critical votes in a DAO, directly altering its operational state.
Parameter Updates
The most frequent type of state change, adjusting numerical protocol parameters to optimize performance or manage risk. Examples include:
- Changing collateral factors or loan-to-value (LTV) ratios in lending protocols.
- Adjusting staking rewards, inflation rates, or slashing penalties in Proof-of-Stake networks.
- Modifying swap fees or amplification coefficients in automated market makers (AMMs).
Treasury Management
Proposals that govern the allocation and expenditure of the protocol's treasury, which holds accumulated fees or native tokens. This includes:
- Approving grants or bug bounties to fund development.
- Authorizing on-chain payroll for core contributors.
- Executing token buybacks and burns or allocating funds for liquidity provisioning.
Governance Framework Changes
Meta-governance proposals that alter the rules of governance itself, changing how future decisions are made. This can involve:
- Modifying voting quorums, thresholds, or voting periods.
- Delegating authority to a new multisig wallet or security council for emergency response.
- Transitioning to a new governance system, such as moving from token-weighted voting to conviction voting.
Integration & Whitelisting
Proposals to formally incorporate new assets or external protocols into the ecosystem. This changes the protocol's state by expanding its supported interactions. Common actions are:
- Whitelisting a new collateral asset in a money market.
- Adding a new oracle provider for price feeds.
- Approving a new bridge or cross-chain messaging protocol for interoperability.
Emergency Actions
Time-sensitive proposals executed to mitigate an active threat, such as an exploit or market crash. These often bypass standard timelocks and require a high approval threshold. Examples include:
- Pausing all borrowing or withdrawals in a lending protocol.
- Disabling a vulnerable bridge or minting module.
- Freezing funds associated with a suspected hack to enable recovery.
Ecosystem Usage & Protocol Examples
A state-changing proposal is a formal, on-chain transaction that, if approved and executed, modifies the core parameters or logic of a decentralized protocol. These are the primary mechanism for decentralized governance.
Parameter Adjustment
The most common type of proposal, used to fine-tune protocol economics and risk parameters. This includes:
- Interest rates and reward emissions for lending/borrowing.
- Collateral factors and loan-to-value (LTV) ratios in DeFi protocols.
- Fee structures for swaps, transactions, or network usage.
- Inflation rates or staking rewards in Proof-of-Stake networks.
Example: A proposal to change the USDC collateral factor from 75% to 80% on a lending platform like Aave.
Treasury & Grant Allocation
Proposals to spend from a protocol's community treasury, often the most contentious and high-value actions. This funds:
- Developer grants for ecosystem growth.
- Bug bounties and security audits.
- Marketing initiatives and partnerships.
- Protocol-owned liquidity or strategic investments.
Example: A proposal to allocate $5M from the Uniswap Grants Program to fund wallet integration development.
Smart Contract Upgrade
A critical proposal type that deploys new code, requiring extreme caution due to immutability and security risks. This enables:
- Feature additions and new product launches.
- Bug fixes and security patches.
- Gas optimizations and efficiency improvements.
- Migration to a new contract architecture (e.g., V2 to V3).
These often involve a Timelock contract to allow users to exit before execution.
Governance Process Change
Meta-proposals that alter the governance system itself, creating a feedback loop. Examples include:
- Changing the voting quorum or approval threshold.
- Adjusting the voting delay or execution timelock duration.
- Introducing delegate incentives or vote delegation mechanisms.
- Modifying the proposal submission deposit amount.
This is how DAOs evolve their own decision-making rules.
Example: Uniswap Fee Mechanism Switch
A landmark example of a complex, high-stakes state change. In 2024, Uniswap governance activated a fee mechanism for its V3 pools via proposal. This required:
- On-chain vote to approve the new, upgradeable UniswapV3FactoryOwner contract.
- A subsequent proposal to enable fees on specific pools (like ETH/USDC).
- The change allowed fee revenue to accrue directly to UNI token holders who stake and delegate, fundamentally altering the protocol's economic model.
Security Considerations & Risks
A state-changing proposal is a formal governance action that, if executed, will modify the core parameters, code, or treasury of a decentralized protocol. These proposals carry significant risk and require rigorous security analysis before execution.
The Execution Risk
The primary risk is that the proposal's on-chain execution may have unintended consequences. This includes:
- Smart contract bugs in the new code that could be exploited.
- Parameter miscalculations (e.g., setting a fee too high, a reward too low) that destabilize the system.
- Reentrancy or logic errors that were not caught during auditing. A failed execution can lead to permanent loss of funds or require an emergency shutdown.
Governance Attack Vectors
Malicious actors may attempt to pass harmful proposals through:
- Vote buying (bribery): Accumulating voting power to pass a self-serving proposal.
- Timing attacks: Submitting proposals during low voter turnout or holidays.
- Proposal spam: Flooding the governance system to hide a malicious proposal.
- Treasury drain proposals: Direct requests to transfer protocol funds to an attacker's address.
The Time-Lock Safeguard
A time-lock is a critical security mechanism that delays the execution of a passed proposal for a fixed period (e.g., 48-72 hours). This creates a mandatory review window where:
- Users can analyze the final, on-chain calldata.
- Security researchers can perform last-minute audits.
- If a critical flaw is found, users can exit the protocol (e.g., withdraw funds) before the change takes effect.
Parameter Change Risks
Even benign-seeming parameter updates can introduce systemic risk. Examples include:
- Changing collateral factors or loan-to-value (LTV) ratios in lending protocols, potentially triggering mass liquidations.
- Adjusting reward emission rates in liquidity pools, which can lead to "farm and dump" scenarios and token price collapse.
- Modifying keeper incentives or oracle configurations, which could break critical system functions like liquidations.
Upgradeability & Proxy Risks
Many protocols use proxy patterns (e.g., Transparent or UUPS) to enable upgrades. A state-changing proposal to upgrade the implementation contract carries extreme risk:
- The new implementation's storage layout must be strictly compatible with the old one.
- The upgrade function itself must be secure; a flaw could allow an attacker to hijack the proxy.
- Once upgraded, the old code is irrecoverable unless a revert proposal is also passed and executed.
Mitigation & Best Practices
Protocols mitigate these risks through layered security:
- Multi-sig timelock executives: Require multiple trusted signers to execute a proposal after the delay.
- On-chain simulation tools: Services like Tenderly and OpenZeppelin Defender simulate execution before the vote.
- Security council veto: A fallback group of experts can veto a clearly malicious proposal that passed.
- Rigorous forum discussion & audits: Proposals should undergo extensive public debate and professional audit before reaching an on-chain vote.
Common Misconceptions About State-Changing Proposals
State-changing proposals are the primary mechanism for modifying a DAO's smart contracts, treasury, or parameters. This section clarifies widespread misunderstandings about their execution, security, and governance implications.
A state-changing proposal is a formal, on-chain transaction that modifies the data or logic of a decentralized protocol's smart contracts, such as updating a parameter, spending treasury funds, or upgrading contract code. It works through a standard governance lifecycle: a user drafts and submits a proposal (often requiring a proposal deposit), token holders vote on it during a specified period, and if it passes predefined quorum and approval thresholds, it is queued and then executed, triggering the encoded on-chain changes. This process is distinct from signaling proposals, which are off-chain votes that do not directly alter the blockchain state.
Technical Details: Execution Mechanisms
This section details the core mechanisms by which proposals are executed on-chain, focusing on the critical distinction between state-changing and non-state-changing operations.
A state-changing proposal is a formal on-chain transaction that, when executed, permanently alters the data stored within a smart contract or the blockchain's state. This is the most common and consequential type of proposal, as it directly modifies the rules, parameters, or assets governed by a protocol. Examples include upgrading a contract's logic, adjusting fee parameters, transferring treasury funds, or adding new functionality. The execution of such a proposal results in a new, immutable state root, and its effects are visible to all network participants.
The execution mechanism for a state-changing proposal is fundamentally a function call to a smart contract. The proposal's payload contains encoded data specifying the target contract address, the function to invoke (e.g., executeProposal or upgradeTo), and the necessary arguments. This transaction is typically submitted by a privileged address, such as a governor or multisig wallet, only after the proposal has successfully passed all required governance stages (e.g., a snapshot vote followed by a timelock delay). The gas cost and potential for reversion are key technical considerations during execution.
Crucially, these proposals are distinguished from non-state-changing or view proposals, which only read data from the blockchain without making persistent changes. State-changing execution carries inherent risk, which is why mechanisms like timelocks and multisig confirmations are employed. A timelock enforces a mandatory delay between a proposal's approval and its execution, providing a final window for community review or emergency intervention if a malicious proposal is discovered.
From a developer's perspective, the execution function must be carefully audited, as it acts with the full authority of the governance system. Common security patterns include access control modifiers (e.g., onlyGovernance), checks for the proposal's current state (ProposalState.Queued or ProposalState.Succeeded), and validation of the payload data. Failed execution, due to insufficient gas or a revert in the target contract, leaves the blockchain state unchanged but may require a new proposal to retry the action.
In practice, the lifecycle of a state-changing proposal involves multiple smart contracts: a governance contract (like OpenZeppelin's Governor) holds the proposal logic and voting, a timelock contract (like TimelockController) queues and executes calls, and the target protocol contract receives the final call. This modular separation of concerns enhances security and auditability, ensuring that the power to change the system's state is exercised through a transparent and deliberate process.
Frequently Asked Questions (FAQ)
Common questions about the mechanisms, security, and lifecycle of proposals that modify a DAO's on-chain state.
A state-changing proposal is a formal, on-chain transaction submitted for a decentralized autonomous organization (DAO) to vote on, which, if passed, will execute code to modify the DAO's treasury, smart contract parameters, or membership. It is distinct from a signaling proposal, which expresses sentiment without direct execution. The core mechanism involves a smart contract (like a Governor contract) that holds the proposal logic, a voting period where token holders cast votes, and an execution step where the approved transaction is automatically carried out. This process is fundamental to on-chain governance in protocols like Uniswap, Compound, and Aave.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.