Skip to content
Documentation
DAO Governance

DAO Governance

Deploy a complete on-chain governance system with three interconnected contracts: Governance Token, Timelock, and Governor. Built on OpenZeppelin v5, deployed from a single conversation.

DAO System — 3 Contracts

A fully functional DAO requires three contracts deployed in sequence. Each contract builds on the previous one to create a complete governance stack.

ERC20VotesGovernance Token
ERC-20 token with voting power and ERC20Permit for gasless approvals:
  • Vote delegation via ERC20Votes
  • Gasless approvals via ERC20Permit
  • Mint, pause, unpause, and delegate functions
Params: TOKEN_NAME, TOKEN_SYMBOL, INITIAL_SUPPLY, OWNER_ADDRESS
TimelockDAO Timelock
TimelockController that enforces an execution delay on all governance actions:
  • Queues approved proposals before execution
  • Configurable minimum delay in seconds
  • Default: 3600 seconds (1 hour)
Params: MIN_DELAY (seconds, default 3600 = 1 hour), OWNER_ADDRESS
GovernorDAO Governor
Full on-chain governance: proposals, voting, quorum, and execution via the Timelock:
  • Voting delay (blocks, default 7200 ≈ 1 day on L2)
  • Voting period (blocks, default 50400 ≈ 1 week on L2)
  • Proposal threshold in wei
  • Quorum percentage (default 4%)
Params: GOVERNOR_NAME, TOKEN_ADDRESS, TIMELOCK_ADDRESS, VOTING_DELAY, VOTING_PERIOD, PROPOSAL_THRESHOLD, QUORUM_PERCENTAGE

Sequential Deploy Flow

The three contracts must be deployed in order. Each step depends on addresses from previous deployments. Create handles this sequence automatically.

1

Deploy GovernanceToken

Deploy the ERC20Votes governance token with your chosen name, symbol, and initial supply. Returns the tokenAddress.

2

Deploy DAOTimelock

Deploy the TimelockController with your minimum execution delay. Returns the timelockAddress.

3

Deploy DAOGovernor

Deploy the Governor contract using the tokenAddress and timelockAddress from the previous steps. Configure voting delay, period, threshold, and quorum.

4

Setup Roles

Grant PROPOSER, EXECUTOR, and CANCELLER roles to the Governor contract on the Timelock. This allows the Governor to queue and execute approved proposals.

5

Renounce Admin Role

Renounce the deployer's admin role on the Timelock. After this step, only the Governor (through token-holder votes) can control the DAO.

DAO Dashboard

Once deployed, Create provides a full dashboard for managing your DAO with three tabs: Proposals, New Proposal, and Delegate.

View & Vote on Proposals
  • • View all proposals with status tracking
  • • See votes for, against, and abstain
  • • Cast vote: For / Against / Abstain
  • • Vote with reason via castVoteWithReason
Delegate Voting Power
Delegate your voting power to yourself or another address using ERC20Votes.delegate(). Delegation is required before you can vote on proposals.
Create Proposals
Submit new proposals with targets, values, calldatas, and a description. Any token holder meeting the proposal threshold can create proposals.
Execute Proposals
After a proposal passes the vote and the timelock delay elapses, anyone can trigger execution. The Timelock enforces the delay for security.

Supported Chains

Deploy your DAO to L2 networks and their testnets. Voting delay and period are measured in blocks, so defaults are tuned for L2 block times.

Base

+ Base Sepolia

Arbitrum

+ Arbitrum Sepolia

Optimism

+ OP Sepolia

Polygon

+ Amoy

Security

All DAO contracts are built on the OpenZeppelin v5 Governor standard. The deploy flow keeps your private keys under your control at all times.

OpenZeppelin v5 Governor
All three contracts inherit audited OpenZeppelin implementations: ERC20Votes, TimelockController, and Governor with GovernorVotes, GovernorTimelockControl, and GovernorCountingSimple.
User Signs All Transactions
The server compiles contracts and prepares transactions. Your wallet signs every deployment and role-setup transaction. The server never has your private keys.
Timelock Protection
Every approved proposal must wait through the timelock delay before execution. This gives token holders time to react to malicious proposals.
Decentralized After Setup
After the deployer renounces admin, the DAO is fully decentralized. Only governance proposals approved by token holders can execute actions.

Example Prompt

Describe your DAO in natural language and Create handles the full 5-step deployment sequence.

Full DAO Setup
Create a DAO for my project with a governance token called GOV with 1M supply, 1-day voting delay, 1-week voting period, and 4% quorum on Base

Ready to launch your DAO?

Describe your governance setup and Create deploys the full contract stack.

Create DAO