A Community Process for Proposals

Mark Rounded

Defining a Proposal

A proposal is a series of smart contract operations, or parameter updates, to be executed on-chain by accounts the DAO controls.

Proposals can outline transfers of tokens as well as arbitrary smart contract calls. For example, a proposal could outline funding a multisig wallet. Another could outline upgrading a Union core contract. Executable proposals have a quorum requirement of 4% and require a minimum of 50% in-favor votes to pass.

Phase 0: Temperature Check

Before jumping into investing a lot of time into developing a proposal, it’s a good idea to post a Temperature Ccheck first. A Temperature Check is a soft signaling method used to gauge community sentiment. It often garners key feedback that may inform the proceeding of a proposal. As well as gauge if it’s even worth spending the time writing the code relating to a proposal.

To initiate a Temperature Check, ask a general, non-biased question to the community in the Governance about a potential change. You can use polling or snapshots, but nothing offchain is binding. These are just tools for you to determine if there’s likely to be support for your onchain proposal.

Drafting a Proposal

Phase 1: Request for Comment (RFC)

Timeframe: Minimum 7 days

Form: Governance Forum Post

This phase of the governance process is to allow the community to digest a proposal, comment, and ask questions about the specifics of a particular proposal. The exact calldata isn’t required at this stage but be as detailed as possible at this stage.

To post an RFC, label your post “RFC - [Your Title Here]”. Prior to moving to Phase 2, give the community at least 7 days to read and comment on the RFC. Please respond to questions in the comments, and take feedback into account in the next iteration of the proposal posted in Phase 2.

**Phase 2: Governance Proposal **

Phase 2 is the final step of the governance process. If this vote passes, then a change will be enacted on-chain.

To create an on-chain Governance Proposal:

  1. Incorporate any relevant feedback from the RFC post into your proposal.
  2. Create a topic in the Governance Forum titled “Governance Proposal — [Your Title Here]” and link to previous forum posts.
  3. Create your proposal. This can be done either through Tally, Boardroom, or via CLI tools for more complicated proposals. The calldata in the proposal will be executed if and when the proposal passes. If writing the calldata yourself, please review the logic with a qualified Union community member prior to posting the proposal and follow this guide to ensure it passes all tests.
  4. Ensure that at least 10 million UNION is delegated to your address in order to submit a proposal, or find a delegate who has enough delegated UNION to meet the proposal threshold to propose on your behalf.
  5. Once the proposal has been submitted, a one day voting delay will start. After the voting delay is finished, a three day voting period begins. If the proposal passes successfully, a one day timelock will follow before the proposed code is executed.