Skip to content

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 the StandardGovernor and EmergencyGovernor.
  • Zero token (ZERO): The meta-governance token used within the ZeroGovernor, controlling the governance framework itself and enabling holders to claim a share of protocol revenue via the DistributionVault.

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, while Zero token ownership grants access to protocol revenue via the DistributionVault, encouraging informed engagement.
  • Structured Process: Governance actions adhere to fixed 15-day epoch cycles (Transfer and Voting 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:

TTG Architecture

Governance Components

  • StandardGovernor (``StandardGovernor.sol): Manages regular governance for common operations using Power token. Uses simple majority voting (yes > no) and distributes rewards (ZERO tokens and enabling POWER inflation) for full participation in active voting epochs. Requires a proposal fee.
  • EmergencyGovernor (``EmergencyGovernor.sol): Handles emergency governance for critical situations using Power token. Uses threshold-based voting (minimum percentage of total POWER supply) for faster decisions. No proposal fee or direct incentives.
  • ZeroGovernor (``ZeroGovernor.sol): Manages meta-governance for system resets and fundamental protocol changes using ZERO . Controls the governance framework itself through threshold-based voting. No proposal fee.
  • Registrar (Registrar.sol): Central parameter store containing all protocol configurations (lists like APPROVED_MINTERS, key-value pairs like MINT_RATE_MODEL). Single source of truth, writable only by StandardGovernor and EmergencyGovernor.
  • DistributionVault (DistributionVault.sol): Collects protocol revenue (e.g., Power token auction proceeds, unrefunded proposal fees, excess M yield) and distributes various assets pro-rata to Zero 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 in StandardGovernor and EmergencyGovernor.
  • 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 by StandardGovernor for governance participation. Entitles holders to claim revenue from DistributionVault. Used in ZeroGovernor.

Supporting Contracts

  • Deployers: Specialized contracts (Power tokenDeployer.sol, StandardGovernorDeployer.sol, EmergencyGovernorDeployer.sol) controlled by ZeroGovernor that deterministically deploy new instances of core governance contracts during system resets using CREATE.
  • 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.