Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
A Governor contract implements on-chain governance through a modular inheritance architecture. The core combines with modules: GovernorVotes hooks into a governance token (the IVotes interface) to compute voting power at a snapshot, GovernorVotesQuorumFraction defines quorum as a fraction of supply, GovernorCountingSimple counts For, Against and Abstain votes, and GovernorTimelockControl ties execution to a mandatory delay. A proposal moves through successive states, from Pending to Active, then Succeeded or Defeated, and with a timelock, Queued and Executed.
It makes governance binding without discretionary custodians. The vote outcome automatically executes parameter changes, treasury transfers or contract upgrades, with no central team acting by hand. When a timelock is used, that contract holds and moves the governed assets, adding a safety window between approval and execution.
OpenZeppelin Governor shipped in August 2021, with version 4.3 of OpenZeppelin Contracts, and is compatible with Compound's earlier interfaces, GovernorAlpha and GovernorBravo, the latter with an upgradeable proxy. It implements the IGovernor interface and ships in the current OpenZeppelin Contracts 5.x line, with ERC-5805 and ERC-6372 support as the vote source. Protocols such as Compound, Uniswap, ENS and Gitcoin run it, pairing the Governor with execution front-ends like Tally.
Also known as
- Governor





