Skip to content

DA0-DA0/dao-contracts

DAO Contracts

GitHub tag (with filter) GitHub contributors

GitHub commit activity (branch) codecov

Discord X (formerly Twitter) URL

DAO DAO DAO

This is a collection of smart contracts for building composable, modular, and upgradable DAOs.

For a detailed look at how these contracts work, see our wiki.

Overview

Every DAO is made up of three modules:

  1. A voting power module, which manages the voting power of DAO members.
  2. Any number of proposal modules, which manage proposals in the DAO.
  3. A core module, which holds the DAO treasury.

image

For example, voting power might be based on staked governance tokens, staked NFTs, or membership and proposal modules might implement yes/no, multiple-choice, or ranked-choice voting.

Each module type has a standard interface. As a result, any voting module can be used with any proposal module, and any proposal module with any voting module.

The best way to get started is to create a DAO! We maintain an open source frontend you can find at daodao.zone.

Audits

If you believe you have found a problem, please let us know.

DAO DAO has been audited by Oak Security on multiple occasions. You can find all the audit reports here.

v2.3.0 is the most recent DAO DAO release; only new feautres related to tokenfactory and improved NFT DAOs have been audited. Our most recently full audited release is v2.0.0. Vesting and payroll were added and audited in v2.1.0.

Audited contracts include:

Audited packages include:

Why?

Our institutions grew rapidly after 1970, but as time passed their priorities shifted from growth, to protectionism. We're fighting this. We believe The Internet is where the organizations of tomorrow will be built.

DAO DAO is a global community working on Internet governance, and a real DAO. We've never raised money, and all our work is open-source. We hope you'll join us.

Links and Resources

Developers

Information about our development workflow and how to contribute can be found in CONTRIBUTING.md.

Testing

Unit tests

Run cargo test, or just test from the project root to run the unit tests.

Integration tests

Run just bootstrap-dev to spin up a local environment and just integration-test-dev to run tests against it.

See ci/integration-tests/README.md for more information.

Disclaimer

DAO DAO TOOLING IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. No developer or entity involved in creating the DAO DAO UI or smart contracts will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of DAO DAO tooling, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.