Two Token Governance (TTG): Overview
Coordinating the protocol's evolution.
Introduction
Two Token Governance (TTG) is the robust, multi-layered governance system powering the M0 Protocol. Inspired by constitutional systems with checks and balances, it provides a balanced approach to protocol management through a carefully designed dual-token framework that separates day-to-day operational decisions from foundational meta-governance authority.
TTG divides governance responsibilities between two primary tokens:
- Power token (
POWER
): The primary token for operational governance proposals and emergency actions, utilized within theStandardGovernor
andEmergencyGovernor
. - Zero token (
ZERO
): The meta-governance token used within theZeroGovernor
, controlling the governance framework itself and enabling holders to claim a share of protocol revenue via theDistributionVault
.
This segregation of powers, combined with a deterministic epoch-based system and sophisticated incentive mechanisms, creates a resilient and adaptable governance structure designed for long-term protocol health, security, and decentralized control.
Core Principles
- Separation of Powers: Distinct tokens (
POWER
,ZERO
) and governor contracts (StandardGovernor
,EmergencyGovernor
,ZeroGovernor
) handle different scopes of decisions, ensuring appropriate oversight for routine changes versus fundamental system modifications. - Incentivized Participation:
Power token
's inflationary mechanism rewards active voting in standard governance, whileZero token
ownership grants access to protocol revenue via theDistributionVault
, encouraging informed engagement. - Structured Process: Governance actions adhere to fixed 15-day epoch cycles (
Transfer
andVoting
epochs), defined proposal types per governor, and clear voting rules (majority vs. threshold), enhancing security and predictability. - Centralized Configuration: The
Registrar
contract acts as the single source of truth for all protocol parameters (rates, lists, intervals, etc.), modifiable only through successful, formally passed governance proposals.
Core Components Overview
The TTG system comprises several interconnected smart contracts:
Picture representing the TTG Smart Contract Architecture diagram:

Governance Components
StandardGovernor
(``StandardGovernor.sol
): Manages regular governance for common operations usingPower token
. Uses simple majority voting (yes > no) and distributes rewards (ZERO
tokens and enablingPOWER
inflation) for full participation in active voting epochs. Requires a proposal fee.EmergencyGovernor
(``EmergencyGovernor.sol
): Handles emergency governance for critical situations usingPower token
. Uses threshold-based voting (minimum percentage of totalPOWER
supply) for faster decisions. No proposal fee or direct incentives.ZeroGovernor
(``ZeroGovernor.sol
): Manages meta-governance for system resets and fundamental protocol changes usingZERO
. Controls the governance framework itself through threshold-based voting. No proposal fee.- Registrar (
Registrar.sol
): Central parameter store containing all protocol configurations (lists likeAPPROVED_MINTERS
, key-value pairs likeMINT_RATE_MODEL
). Single source of truth, writable only byStandardGovernor
andEmergencyGovernor
. - DistributionVault (
DistributionVault.sol
): Collects protocol revenue (e.g.,Power token
auction proceeds, unrefunded proposal fees, excess M yield) and distributes various assets pro-rata toZero token
holders based on past epoch holdings.
Token Components
- Power token (
Power token.sol
): ERC-20 compatible voting token with 0 decimals. Features epoch-based mechanics, inflation rewards (~10% target per active voting epoch for full participants), delegation (ERC-5805), transfer authorization (ERC-3009), and Dutch auctions for unallocated inflation. Used inStandardGovernor
andEmergencyGovernor
. - Zero token (
Zero token.sol
): ERC-20 compatible meta-governance token with 6 decimals. Features epoch-based mechanics, delegation (ERC-5805), and transfer authorization (ERC-3009). Supply primarily increases through rewards minted byStandardGovernor
for governance participation. Entitles holders to claim revenue fromDistributionVault
. Used inZeroGovernor
.
Supporting Contracts
- Deployers: Specialized contracts (
Power tokenDeployer.sol
,StandardGovernorDeployer.sol
,EmergencyGovernorDeployer.sol
) controlled byZeroGovernor
that deterministically deploy new instances of core governance contracts during system resets usingCREATE
. - PureEpochs (
PureEpochs.sol
): Library defining the epoch-based time system (fixed 15-day periods) that structures all governance activities.
Configs
Current governance and protocol configurations can be found at governance.m0.org/config/governance and governance.m0.org/config/protocol respectively.