Skip to main content

Creating a DAO

This tutorial will guide you through the process of creating a Decentralized Autonomous Organization (DAO) using CreateDAO v2. By the end, you’ll have deployed a fully functional DAO with:
  • Governance token with automatic voting power
  • Governor contract for proposals and voting
  • Secure treasury with timelock protection

Prerequisites

Before you begin, make sure you have:
  • A Web3 wallet (like MetaMask) installed and set up
  • Cryptocurrency in your wallet for gas fees (ETH on Base/Sepolia)
  • Basic understanding of blockchain and DAO concepts

Step 1: Connect Your Wallet

  1. Go to CreateDAO.org
  2. Click on the “Create DAO” button
  3. Click “Connect Wallet” in the top-right corner
  4. Select your wallet provider (MetaMask, WalletConnect, Coinbase Wallet, etc.)
  5. Approve the connection request in your wallet
Your wallet address will become the initial Manager of the DAO and receive 1% of the tokens to bootstrap governance.

Step 2: Select a Network

  1. Choose the blockchain network where you want to deploy your DAO:
    • Base (Mainnet) - For production DAOs
    • Sepolia (Testnet) - For testing (recommended first)
  2. If you’re not already connected to that network, your wallet will prompt you to switch
  3. Confirm the network switch in your wallet
Testing First? We strongly recommend deploying on Sepolia testnet first to familiarize yourself with the process. You can get free Sepolia ETH from faucets like sepoliafaucet.com.

Step 3: Enter DAO Details

Fill in the following information for your DAO:

Basic Information

DAO Name
  • The name of your organization (e.g., “Community Coffee DAO”)
  • This will be displayed in governance interfaces
Token Name
  • The full name of your governance token (e.g., “Community Coffee Token”)
Token Symbol
  • A short symbol for your token, 2-6 characters (e.g., “CCT”)
  • Will be displayed in wallets and explorers
Total Supply
  • The total number of tokens to create (e.g., “1000000” for 1 million tokens)
  • Entered as whole numbers - the system automatically handles the 18 decimals
  • Distribution: 1% goes to you (the creator), 99% to the DAO treasury
Total supply is permanent! Once created, the total supply cannot be increased. Choose carefully based on your community size and tokenomics needs.

Governance Parameters

Voting Delay
  • Time before voting starts after a proposal is created
  • Recommended: 1 day (86400 seconds)
  • Gives members time to review proposals before voting begins
Voting Period
  • How long members can vote on a proposal
  • Recommended: 1 week (604800 seconds)
  • Balances urgency with member participation
All governance parameters can be changed later through governance proposals if your DAO decides to adjust them.

Step 4: Review and Deploy

  1. Review all the information you’ve entered
  2. Estimated costs will be displayed:
    • Gas fee: ~0.002-0.005 ETH on Base
    • No protocol fees - CreateDAO is free to use!
  3. Click the “Create DAO” button
  4. Your wallet will prompt you to confirm the transaction
  5. Review the gas fee and confirm
Creating a DAO deploys three smart contracts (Token, Governor, Treasury) in a single transaction using gas-efficient proxies.

Step 5: Wait for Deployment

  1. The deployment process will begin
  2. You’ll see a progress indicator
  3. Typical deployment time: 30-90 seconds depending on network conditions
  4. Do not close the browser window during deployment

Step 6: Save Your DAO Information

Once deployment is complete, you’ll see a success message with important information:

Contract Addresses

  • Token Address: Your governance token (ERC20)
  • Governor Address: Your governance contract
  • Timelock Address: Your treasury contract

What to Save

  1. Copy all three addresses and store them securely
  2. Bookmark the governance page for easy access
  3. Note your token symbol for finding it in wallets
Important! Save these addresses immediately. While they’re recorded on the blockchain, having them handy makes managing your DAO much easier.

Step 7: Verify Your DAO

Check Your Wallet

  1. Open your wallet (MetaMask, etc.)
  2. You should see 1% of your total supply in your wallet
  3. Your tokens are automatically delegated - ready to vote immediately!

View on Block Explorer

  1. Click the explorer links to view your contracts
  2. Verify the token name and symbol are correct
  3. Check that 99% of tokens are in the Timelock (treasury)

Understanding Your DAO

Token Distribution

  • You (Creator): 1% of total supply
    • Enables you to meet quorum (1% minimum)
    • Allows you to create and pass initial proposals
    • Already delegated - voting power is active
  • Treasury (Timelock): 99% of total supply
    • Held securely in the TimelockController
    • Can only be moved through governance proposals
    • 1-day execution delay for security

Governance Process

  1. Create Proposal: Requires 1% of tokens (you qualify!)
  2. Voting Delay: Proposal enters voting after your set delay
  3. Active Voting: Members vote FOR, AGAINST, or ABSTAIN
  4. Quorum Check: Needs 1% participation minimum
  5. Timelock Queue: Passed proposals wait 1 day
  6. Execution: Anyone can execute after delay

Manager Role

  • You are the Manager: Your wallet address is set as the initial manager
  • Purpose: On-chain authorization for DAO management platforms
  • Changing Manager: Only through governance proposals
  • Use Case: Integration with tools like OpenBook for transparent business operations

Next Steps

Distribute Tokens to Members

Create your first proposal to distribute tokens:
// Example: Transfer 10,000 tokens from treasury
const token = await ethers.getContractAt("DAOToken", TOKEN_ADDRESS);
const governor = await ethers.getContractAt("DAOGovernor", GOVERNOR_ADDRESS);

// Encode the transfer call
const transferCalldata = token.interface.encodeFunctionData('transfer', [
  recipientAddress,
  ethers.parseEther("10000")
]);

// Create proposal
await governor.propose(
  [TOKEN_ADDRESS],           // targets
  [0],                       // values (no ETH)
  [transferCalldata],        // calldatas
  "Proposal #1: Distribute tokens to founding team members"
);

Manage Your DAO

Visit these platforms to manage your DAO:
  • Tally: Create proposals, vote, view history
  • OpenBook: Transparent business management (if applicable)
  • Block Explorer: View all on-chain activity

Create Proposals

You can propose any on-chain action:
  • Transfer tokens from treasury
  • Change governance parameters
  • Update the Manager address
  • Execute smart contract calls
  • Anything the DAO’s treasury can do!

Troubleshooting

Transaction Failed

Insufficient Gas
  • Ensure you have enough ETH for gas fees
  • Try increasing gas limit or gas price
Network Congestion
  • Wait a few minutes and try again
  • Check network status on the block explorer

Tokens Not Appearing in Wallet

Manual Token Import
  1. Open your wallet
  2. Click “Import Token” or “Add Token”
  3. Select “Custom Token”
  4. Paste your Token Address
  5. Token name and symbol should auto-fill

Can’t Create Proposals

Need 1% of Supply
  • Ensure you have at least 1% of tokens
  • Check that your tokens are delegated (should be automatic)
  • Try refreshing the governance interface

Voting Power Shows Zero

Delegation Issue
  • CreateDAO v2 has auto-delegation, but if needed:
  • Call token.delegate(yourAddress) to activate voting power
  • Voting power updates at the next block

Security Best Practices

  1. Verify Contract Addresses: Always check addresses on the official Deployed Contracts page
  2. Test First: Deploy on Sepolia testnet before mainnet
  3. Secure Your Wallet: Use hardware wallets for high-value DAOs
  4. Review Proposals: Always review proposal calldata before voting
  5. Timelock Protection: The 1-day delay protects against harmful proposals

Need Help?

If you encounter any issues:

Learn More


Congratulations! 🎉 You’ve successfully created a DAO using CreateDAO v2. Your organization is now ready for decentralized governance!