How to Set Up a Moloch DAO on Ethereum
A Moloch DAO is a minimal, battle-tested on-chain governance framework designed for coordinating capital allocation among a group of members. Setting one up on Ethereum involves deploying a set of smart contracts that handle membership, proposal submissions, voting, and fund distribution. This guide walks through the practical steps, from contract selection to deployment, assuming you already understand the basics of on-chain governance and have a Gnosis Safe or another wallet to manage the DAO's treasury.
Understand the moloch DAO model
The Moloch DAO, originally developed for the MolochDAO project, uses a simplified governance structure. Key features include:
- Membership shares: Each member holds non-transferable shares that determine voting power and economic rights.
- Proposal system: Members submit proposals for funding or membership changes. Voting occurs on-chain, typically with a quorum and majority threshold.
- Rage quit: Members can withdraw their proportional share of the treasury if they disagree with a proposal outcome, as covered in the site's existing article.
- Guild kick: A mechanism to expel a member by proposal.
This model is intentionally lean - no complex delegation, quadratic voting, or off-chain signaling built in. It works best for small to medium groups managing a shared treasury.
Prerequisites
Before starting, you need:
- An Ethereum wallet (e.g., MetaMask) with ETH for gas fees.
- A basic understanding of smart contract deployment (e.g., using Remix or Hardhat).
- A treasury address, such as a Gnosis Safe, to hold the DAO's funds.
- The Moloch DAO contracts, typically from the Moloch v1 or v2 repository on GitHub. The current version is often referred to as Moloch v2 or "Moloch with Summoning".
Step 1: choose your contract version
Moloch DAO has two main versions:
- Moloch v1: The original, simpler contract. It uses a fixed membership period and lacks rage quit flexibility. Rarely deployed for new DAOs.
- Moloch v2 (Summoner): The standard choice. It includes a summoning contract that lets you set parameters like voting period length, proposal deposit, and dilution rate. Most guides and tooling target v2.
For a new DAO, use Moloch v2. The summoning contract deploys the DAO in one transaction.
Step 2: Deploy the Summoner Contract
If the summoner contract isn't already on Ethereum mainnet or a testnet, you'll need to deploy it first. This is a factory contract that creates new Moloch DAO instances. Many developers use the already-deployed summoner from the MolochDAO project - check the MolochDAO GitHub for the deployed address on your target network.
If deploying from scratch, compile the Moloch v2 Solidity code with a compiler version matching the repository's requirements (typically 0.5.17 or 0.6.12). Use Remix or Hardhat to deploy the summoner contract to the desired network.
Step 3: summon your DAO
Call the summonMoloch function on the summoner contract with these parameters:
_summoner: Your wallet address (the initial member)._shares: The number of shares the summoner receives (e.g., 1,000)._depositToken: The ERC-20 token address used for proposal deposits and treasury contributions._votingPeriod: Duration in blocks for proposals to be voted on. For example, 17,280 blocks is about 3 days on Ethereum mainnet._gracePeriod: Duration in blocks after voting ends before proposals execute. Allows rage quit._dilutionRate: A percentage that penalizes members who fail to vote. Set to 0 to disable._proposalDeposit: The amount of deposit token required to submit a proposal.
Current values are best found on the MolochDAO documentation or community forums - do not assume specific numbers here. The transaction will create a new DAO contract and assign the summoner as the first member with the specified shares.
Step 4: Fund the DAO Treasury
After deployment, the DAO's treasury is empty. Transfer the deposit token (e.g., ETH, DAI, or another ERC-20) to the DAO contract address. This becomes the pool that members can propose to allocate. The summoner can also contribute additional funds by submitting a proposal or using a direct transfer if the contract allows it.
Step 5: manage membership
New members can join by submitting a "member proposal" through the DAO's submitProposal function. The proposal must include:
- Applicant: The new member's wallet address.
- Tribute: Tokens the applicant sends to the DAO in exchange for shares (often zero for non-financial contributions).
- Shares requested: The number of shares the applicant wants.
- Details: A description of the proposal.
Existing members vote on the proposal. If it passes, the applicant becomes a member with voting power proportional to their shares.
Step 6: Submit and Vote on Proposals
Members submit proposals for spending funds or changing membership. The process is:
- Submit proposal: Call
submitProposalwith the target, amount, and details. - Vote: Members call
votewith their yes/no decision within the voting period. - Process proposal: After the voting and grace periods, any member calls
processProposalto execute the approved action.
Voting is binary - no quadratic weighting or delegation. Each share equals one vote.
Practical Considerations
- Gas costs: Moloch DAO contracts are gas-efficient compared to more complex frameworks like OpenZeppelin Governor, but deployment and proposal processing still cost ETH.
- Rage quit: Members can exit with their share of the treasury at any time after a proposal passes, which protects against malicious decisions.
- Testing: Deploy on a testnet like Sepolia or Goerli first to verify the DAO works as expected.
Alternatives and When Not to Use Moloch
If your DAO needs delegation, token transferability, or off-chain voting, consider other frameworks. Moloch is intentionally minimal - it works for small, trust-based groups managing a treasury. For larger communities, the OpenZeppelin Governor contract or Snapshot combined with a multisig may be more appropriate, as covered in existing site articles.
Setting up a Moloch DAO on Ethereum requires careful parameter selection and a clear understanding of the governance model. The process itself is straightforward: deploy the summoner, summon the DAO, fund it, and manage membership through proposals.
Not financial advice. teslaai2023.site publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.