Governance Technical Overview
A technical overview of Agora’s governance system components and the lifecycle of a proposal.
System Components
Core Components
- Token
- Tracks token holder balances
- Manages voting power of delegates
- Enables voting on proposals
- Governor
- Provides primary access control logic
- Processes proposals and associated votes
- Determines proposal success or failure
- Manages voting periods and thresholds
- Timelock
- Receives instructions from governor for successful proposals
- Implements time delay for stakeholder response
- Executes approved instructions after delay period
Additional Components
- Modules (e.g., approval voting)
- Provide optional voting strategies
- Enable features like multiple choice voting
- Extend governor functionality
Privileged Roles
For detailed information about roles and permissions, see the Agora Governor Roles.
- Governor Manager
- Trusted address with proposal submission rights
- Can bypass proposal threshold requirements
- Typically controlled by the foundation initially
- Security Council
- Trusted multisig with protocol upgrade capabilities
- Can perform emergency upgrades when needed
- Ensures protocol safety during critical changes
- Governor Admin
- Trusted multisig with broad system privileges
- Enables manual execution and intervention
- Can be same address as Security Council (optional)
- Acts as last-resort safeguard
Proposal Lifecycle
Example Voting Cycle
Proposal States
Below is an overview of the proposal states used in Agora.
-
PENDING
The proposal has been created but is not yet ready for voting. This is typically a waiting period before voting begins.
-
ACTIVE
The proposal is currently in its voting period and can accept votes. During this state, only admins can cancel the proposal.
-
CANCELLED
The proposal was cancelled by either the admin or the proposer (depending on the governance system). Once cancelled, the proposal cannot be executed. -
DEFEATED
The proposal failed to meet the required voting thresholds or quorum requirements and cannot be executed. -
SUCCEEDED
The proposal passed the voting requirements and is ready to be queued for execution. Successful proposals can be queued by calling the queue function. Anybody with gas can make this transaction. -
QUEUED
The proposal has been queued and is waiting for the timelock period to pass. During this state:- The proposal can still be cancelled by the admin
- Once the timelock period passes, it becomes eligible for execution
-
PASSED
The proposal has been queued for execution, but for any reason hasn’t been executed on chain after 10 days. Reasons might include nobody calling the execute function or a proposal with invalid on-chain instructions. Example would include a signal-only vote done on-chain with no-op instructions that cause the timelock to revert. This state exists only off-chain, to clarify that no action is needed by the user, since it’s off chain.
-
EXECUTED
The proposal has been executed, meaning its contained actions have been carried out. This is the final state of a successful proposal. -
CLOSED
The proposal’s voting period has ended but it did not meet the requirements to succeed. This is similar to DEFEATED.
Initial Launch Configuration
While the end goal for any protocol is full decentralization (where the DAO and voters have full control over token transfers, protocol upgrades, and more), we recommend a measured, progressive approach to decentralization. At launch, we recommend maximum safety and control:
- High Proposal Threshold
- Set initially high to restrict proposal creation
- Only Governor Manager (Foundation) can propose initially
- Enables controlled governance rollout
- Manual Protocol Upgrades
- Protocol upgrades executed manually at first
- Continues until successful proposal track record
- Ensures maximum safety during early phase
Example Proposal Types
- Token Transfer Proposal
- Fully executed on-chain
- Standard governance process
- Automated execution through timelock
- Normal Protocol Upgrade
- Requires Security Council execution
- Manual implementation for safety
- Additional verification layer
- Emergency Protocol Upgrade
- Bypasses standard governance process
- Direct Security Council execution
- Reserved for critical situations
Progressive Decentralization
As the governance system matures:
- Proposal Threshold Reduction
- Gradually lower proposal requirements
- Enable broader community participation
- Allow smaller token holders to propose
- Upgrade Process Evolution
- Move toward fully on-chain upgrades
- Reduce manual intervention
- Increase automation of execution
- Community Empowerment
- Expand voting power distribution
- Enhance proposal creation access
- Foster decentralized decision-making
This progressive approach ensures the governance system can evolve safely while maintaining security and stability.