Creating Proposals
Take action in your DAO by initiating an onchain proposal on Tally.
Last updated
Take action in your DAO by initiating an onchain proposal on Tally.
Last updated
To submit an onchain proposal, you must have sufficient voting power to meet the DAO's Proposal threshold. This figure can be found on each DAO Page by expanding the Contract Parameters section near the top of the page.
Visit the DAO Page of the DAO you'd like to create a proposal for, then click the Create new proposal button at the top of the page.
If you haven't yet connected your wallet, Tally will prompt you to do so. Most governance frameworks require a proposal threshold—a minimum amount of voting power—to create a proposal. Make sure you connected with the tokens required to create a proposal in it. Then click Continue.
Enter a Title for your proposal, then add a Description. Explain the intent behind the proposal and include any helpful context for the voters.
Add actions to be executed if the proposal passes. You can select Tally's Transfer tokens recipe for a proposal that calls for the transfer of tokens, or select the Custom action button.
Note: Governor Alpha/Bravo has a limit of 10 actions. There is no limit for OpenZeppelin Governor.
If you choose the Transfer tokens recipe, enter the Target wallet address, select the Token you would like to transfer, and enter the Value of the token you would like to transfer. Enter a Memo to describe the purpose of the transfer, and optionally, upload a Media image such as an invoice. Tally will populate an infographic as a preview of the recipe.
For a Custom action, enter the Target contract address or upload your ABI file if the contract is not on Etherscan. Select the desired Contract method, and enter the call data for that method.
Actionless Proposals: If you choose to skip this step, and create a proposal with no actions, a transfer of 0 ETH to you (the proposer) will be added, as Governor requires one executable action for the proposal to be submitted onchain.
Almost done! Preview your proposal, then select Save draft or Publish. If you're ready to submit the proposal onchain, you'll also need to sign the transaction to the chain using your wallet. Draft proposals are created offchain and can later be submitted onchain at any time. Draft proposals can be created and submitted by different users.
Having successful validations will give proposers, voters, and executors confidence that the proposal is valid. The Proposal Simulations feature is currently in beta and runs via the Tenderly Simulator API. Tally simulates the execution of the proposal assuming it is successful and queued on a fork of your DAO's network. From there, Tally runs each executable payload, impersonating the treasury (usually the timelock).
When creating a proposal on Tally, the API will automatically run a simulation for the executable payload provided. You can view the result of this simulation in the Executable code tab of the proposal details. Each function will have its own result.
If one function fails, it is likely that the proposal execution will fail. If the function failed, click View raw result to inspect the response from the Tenderly Simulator API for additional insights. If the function fails or in cases when state changes may impact the success of a function, you may also want to re-run the simulation of the proposal.
For example, a DAO proposes to transfer 1 ETH to an address, but their treasury has 0 ETH. As you might expect, the simulation result fails. From there, the DAO funds their treasury with 2 ETH; click Re-run to re-simulate the proposal. You should now expect a successful proposal!