LogoLogo
  • Tally Docs
  • Tally Features
    • What is Tally?
    • Token Launch
      • Claim
      • Governance Smart Contracts
      • Token Wrapper
      • Delegate Registration & Claim-and-Delegate
    • Value Accrual with Staking
      • Features & Use Cases
      • FAQ
      • Glossary
    • Governance
      • Advanced Features
        • MultiGov
        • Advanced Voting
          • Flexible Voting Extension
          • Signal Voting
            • Snapshot
          • Private Voting
        • Partial Delegation
        • Security Council Elections
        • Chain Integration
        • Proposal Templates
        • Optimistic Governance
        • Gasless Voting and Delegation (Relay)
          • Gasless Voting
          • Gasless Delegation
        • Integrations
          • Karma - Delegate Scoring
          • Discourse
          • Safe
      • Standard Features
    • Tally API
    • Tally Zero
  • How to Use Tally
    • Navigate the Tally homepage
    • Set up a Tally Profile
    • Create Proposals
      • Custom Actions
        • Chain Deployment of Uniswap v3
        • Token Vesting with Hedgey
        • Token Grants with Hedgey
        • Streaming Payments with Sablier
        • Tuple Support
      • Swaps
        • Swaps: FAQs
      • Draft Proposals
      • Test Proposals
    • Execute Proposals
      • Advanced Execution
    • Delegate on Tally
      • Delegates Page
      • Delegate Voting Power
      • Create a Delegate Statement
    • Vote on Tally
    • Stake on Tally
    • Get Notifications on Tally
    • Use Tally with a Gnosis Safe
      • Vote with a Gnosis Safe
      • Zodiac Governor Module for SubDAOs and Grants Programs
      • Upgrade Gnosis Safe to Governor with Zodiac
    • Participate in Security Council Elections
    • Using Ledger with Solana
  • Set up & Technical Documentation
    • Tally Architecture
    • Deploy a Governor DAO
      • Deploy a Governor
        • Deploy a Governor with a new token
      • Add a Governor to an existing token
      • Check for Token Contract Compatibility
        • Network Support
        • OpenZeppelin Governor
        • Compound Governor Bravo
        • Tokens: ERC-20 and NFTs
      • Choose Governor parameters
    • Add a DAO to Tally
      • DAO Admins
      • DAO Settings
    • Use Governor with Gnosis Safe
      • Gnosis Safe Overview
      • Zodiac Governor Module for SubDAOs and Grants Programs
      • Upgrade Gnosis Safe to Governor with Zodiac
    • Staking Contracts
      • Get Started
      • How Staking Works
        • Liquid Staking
          • LST Auto delegates
      • Staking Operator's Guide
      • DeFi Integration Guide
      • FAQ & Troubleshooting
    • Security
    • Chain Compatibility
  • Education
    • Intro to Governance
      • General Ecosystem Info
      • Participating in Governance
    • Governance Concepts
      • Decentralized Governance Overview
      • Onchain vs Offchain Voting
      • Application Layer vs. Base Layer Governance
      • Governance Execution Methods
      • Procedural Governance
      • Vote Delegation
    • Governance Frameworks
      • OpenZeppelin Governor
      • Curve Voting Escrow
      • Multisigs
      • Snapshot Polls
    • DAO Best Practices
      • Running an Onchain DAO Using OpenZeppelin Governor
    • Index of DAOs
      • DAOs on Tally
        • Aave (AAVE)
        • Ampleforth (FORTH)
        • Arbitrum (ARB)
        • Compound (COMP)
        • Gitcoin (GTC)
        • GMX
        • Idle Finance (IDLE)
        • Inverse Finance (INV)
        • PoolTogether (POOL)
        • Uniswap (UNI)
        • ZKsync
      • DAOs Not on Tally
        • Balancer (BAL)
        • Curve (CRV)
        • Index Coop (INDEX)
        • KyberDAO (KNC)
        • MakerDAO (MKR)
        • Sushi (SUSHI)
  • Resources
    • Tally Platform
    • Blog
    • DAO Talk Podcast
    • Newsletter
    • Twitter / X
  • Payment Addresses
Powered by GitBook
On this page
  • 1. Use the latest version of OpenZeppelin Contracts
  • 2. Customize the OpenZeppelin Contract
  • 3. Token Distribution
  • 4. Set a Reasonable Quorum and Voting Period
  • 5. Encourage Delegation and Delegate Accountability
  • 6. Maintain Clear and Accessible Documentation
  • 7. Monitor and Learn from Other DAOs

Was this helpful?

Export as PDF
  1. Education
  2. DAO Best Practices

Running an Onchain DAO Using OpenZeppelin Governor

The best practices to ensure efficiency, security, and transparency

PreviousDAO Best PracticesNextIndex of DAOs

Last updated 1 year ago

Was this helpful?

Decentralized Autonomous Organizations (DAOs) have emerged as a powerful way to manage and govern decentralized projects. OpenZeppelin Governor is a popular smart contract framework that provides a robust and secure foundation for building onchain DAOs on Ethereum. These best practices will help ensure your DAO's efficiency, security, and transparency.

1. Use the latest version of OpenZeppelin Contracts

is a library of secure and community-vetted smart contracts that provides building blocks for implementing your DAO. Always use the latest version of the library to ensure you have the most up-to-date security patches and features.

2. Customize the OpenZeppelin Contract

OpenZeppelin Governor is a modular and upgradeable smart contract. It is perfectly set up right out of the box but you can customize it to suit your DAO's requirements by modifying or extending the contract. Choose the right quorum and voting mechanisms, as well as define custom actions or permissions such as the ability to cancel a proposal. If you have questions about your particular DAO requirements get in touch.

3. Token Distribution

The quality of your DAO community will only be as good as its participants, thus ensuring a good token distribution at the start is key to success. Depending on your DAO's purpose, work to ensure long term alignment with token holders. Ways to do this might include a distribution heavily weighted towards users with tangible contributions to the DAO, or starting with an initially non-transferable token to prevent short-term financial speculation.

4. Set a Reasonable Quorum and Voting Period

Define quorum amounts and voting durations that strike a balance between providing ample time for participants to review and vote on proposals, while ensuring the DAO can operate efficiently. Consider using Timelock Controller to enforce time restrictions on proposal execution.

Quorum represents the number of "yes" votes needed for a vote to be considered valid and pass, while the voting period is the length of time that a proposal is available to be voted on. Different DAOs will have different needs. A protocol protecting billions in dollars should have reasonably long voting periods to ensure all participants have time to vote, and a quorum that ensures a minimum number of critical participants are required for a proposal to be valid.

5. Encourage Delegation and Delegate Accountability

One of the most successful differentiating features of the Governor framework is the ability for voters to delegate their vote to other addresses. Using tally.xyz delegation tools is a powerful way to reward engaged, committed voters with a greater voice in your DAO. To ensure a healthy delegate system, it's important to enforce community norms around delegation and holding delegates accountable. If your DAO distribution comes from an initial airdrop, it's highly recommended that users are required to delegate to either themselves or others in order to claim tokens.

6. Maintain Clear and Accessible Documentation

Provide clear and up-to-date documentation for your DAO, including the governance process, smart contract functionality, and any customizations. Accessible documentation enables a more inclusive and informed community of participants.

7. Monitor and Learn from Other DAOs

Stay informed of the latest developments in the DAO ecosystem and learn from other projects' successes and challenges. Continuously iterate and improve your DAO's governance based on lessons learned from the broader community.

This information is also available in the PDF below.

OpenZeppelin Contracts
2MB
Best Practices for Running an Onchain DAO.pdf
pdf