An overview of Union DAO’s governance processes and how to get involved.
This document is a suggested process for developing and advancing Union Governance Proposals. It is a living document intended to be owned, modified and enforced by the Union community.
UIP drafts are created and edited in the open Union DAO Github repo. Proposal code, tests, and simulations also live here.
Governance proposals are surfaced and discussed in the governance channel in the Union Discord Server.
This list is not exhaustive and will be updated by the community.
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 I is primarily handled off-chain.
To determine if there is enough demand for change, a Temperature Check is used. 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.
To initiate a Temperature Check, ask a general, non-biased question to the community in the Union Discord Governance Channel about a potential change. For example, “Should Union increase integrations with third parties?”
Create an issue in the open Union Github repository. The issue is the plain english version of a UIP. Go here **** to view the recommended template. The repo is set to automatically present the template when a new issue is created. Be sure to follow the correct naming convention.
UIPs are sequentially numbered and follow a naming convention: UIP [####] - [UIP title].
Number a new UIP by adding 1 to the most recent one created. For example, if you see UIP 0024 as the highest numbered UIP, name yours UIP 0025.
The purpose of the Draft Proposal is to generate discussion. Engage with the community to build support, solicit delegates to provide feedback on the proposal, and be willing and ready to respond to questions. Share your viewpoint, but be respectful of other people's perspectives as well.
Reach out to the Union Discord Admins to discuss your proposal in a Community Call or on a Twitter Space.
All necessary code for your proposal will need to be written while it is in draft stage, including simulations and tests validating the stated effect of the proposal. It is recommended that the content and scope of the proposal are stable before doing this. Be sure to include links to PRs in the UIP.
Phase II is primarily handled on-chain.
Once there is a general consensus that the proposal meets community standards as a valid proposal and necessary code is finalized and proved executable, advance your proposal to a vote by submitting it to the governor contract.
To enact an Executable Proposal, ensure at least 10M UNION is delegated to your address or find a delegate who has enough delegated UNION to meet the proposal threshold to propose on your behalf.
Once the propose() function has been called, the proposal is queued and voting will begin in 24 hours. The voting period is 3 days. Ongoing discussion can take place in the Union Discord Governance Channel or in the Union repo, directly on the draft content. If the proposal succeeds, a 24 hour timelock will be enacted before the proposed code is executed.
All other networks are controlled via bridge from L1 governance.