This is a suggested process for the Goldfinch community on passing proposals. It covers information on converting ideas to thorough Governance proposals that can be implemented. This should be considered as a living document that can be iterated based on the community’s wants and needs.
The Scope of Governance Proposals
- All on-chain changes to the Goldfinch protocol need to go through Governance. This includes transfers from the Goldfinch Treasury, updates to the Goldfinch protocol smart contract code, etc.
- Meta-governance decisions also go through the Governance process. These could include, for example, whether the community should replace Snapshot with Commonwealth, or switching the type of voting from quadratic voting to another kind, etc.
- Front-end updates of the dapp will not go through governance, for now. This is because there won’t ever only be one way to interact with the contracts, anyone can fork the front-end and make their own at any time, and we expect there to be many frontends. So it doesn’t make sense to have a whole governance process at this time for something that anyone can host a version of, or modify on their own.
- Voting for Community Management or Discord rules will also not go through governance. This will be run by the Discord Community using a separate set of processes and tools determined by Admins and Moderators.
There are three main tools that facilitate the governance process, which which will be mentioned throughout the process.
This is a Discourse forum. It is where the proposals will be posted and discussed. An account needs to be set up and individuals need to be logged in to post a new topic, or react or reply to existing topics. This can quickly be done by clicking the “Sign Up” button anywhere on the forum.
Goldfinch Discord server can be used as a place for sharing initial ideas that can then be turned into proposals. The community moderators will also use this to make key announcements about the proposals. The specific channels to keep in mind are under the #governance category.
This is a decentralized voting tool. All votes on proposals must pass through Snapshot before making it to the Governance Council, who then conducts a soft vote. One must have GFI balance to vote, and the results are calculated according to Quadratic Voting. To ensure sybil resistance with quadratic voting, participants need a Unique Identity NFT (UID) in order to vote.
Below is a preliminary draft for the Goldfinch governance process, which will explain the uses of these tools. These processes are subject to change according to feedback from the Goldfinch community.
Step 1: Generate ideas
Community Members discuss ideas in the
#proposal-ideas channel in the Governance category in Discord. The goal of this discussion is to:
a) brainstorm and clarify new initiatives
b) determine if there will be sufficient support for new initiatives and
c) determine which community member(s) will be working on creating the formal proposal (the Task Force)
Once the Task Force is established and is ready with a clear idea of a proposal with at least some support from the Community, the Task Force can proceed to Step 2.
Example: Currently, there is no grant proposal in place for how the treasury will distribute GFI to meme makers. Reflecting on community sentiment, there should be a proposal in place that does this. Joe Schmo and Jane Shmane decide to be the Task Force to turn this into a formal proposal.
Step 2: Draft the proposal
Take time, either as an individual or a Task Force team to craft a well thought out proposal. Think about the edge cases and the details. What data can you find to support your proposal? What are the implications of your proposal? What alternative options have you considered? Show your drafts to other community members and solicit informal feedback.
The main goal is to move from a clear idea of an initiative to a finalized proposal that is in line with the Community proposal template.
While proposals are not tech designs and do not need to include any code, you are encouraged to consult with engineers to ensure there would be a clear and efficient implementation path for whatever is being discussed.
Step 3: Post the proposal on gov.goldfinch.finance
If you are writing a counter-proposal (ie. a modification or variation of an existing proposal), then add a number to indicate the total number of posts in the series so far. For example, if there are 3 proposals that all refer to “Retroactive Backer Distributions”, then title the proposal “Retroactive Backer Distributions (#3)
The author should also add a few sentences clarifying if the proposal is in response to a previous proposal, and a summary of why the new version has been proposed.
Once the proposal has been posted, members of the Task Force should notify Admins or Moderators, and Admins or Moderators should immediately announce the proposal creation in the
Step 4: The proposal is discussed on gov.goldfinch.finance
Timeline: up to 1 week, or more for complex proposals
At this stage, conversations about the proposal should **happen within gov.goldfinch.finance and not on Discord.
Each proposal will be up for discussion for approximately 7 days, during which the community is encouraged to ask clarifying questions, and have ample conversation by commenting on the post, show support by reacting with a heart to the post, etc.
If modifications need to be made to the original proposal, or community members want to propose alternatives to the proposals, the authors should post the modifications as versions of the post, i.e. Backer Rewards (#2).
All substantive discussion will happen on Discourse. One should not expect conversation on Discord to generally “be considered” in the debate of the proposal.
Community Moderators should monitor Discourse to see any posts that are spams, scams, hurtful to community members, or in violation of the rules set out on Discourse vs. Discord.
Step 5: A Snapshot poll is conducted
Timeline: 72 hours
Someone from the Task Force creates a poll on Snapshot https://snapshot.org/#/goldfinch.eth. Note: to create a poll on Snapshot, a person must hold at least 10 GFI. In case no members of the Task Force have sufficient GFI, they can ask an Admin or Moderator who supports the proposal to do this for them.
Instructions for posting a poll on Snapshot
- Go to https://snapshot.org/#/goldfinch.eth
- On the left hand side, click “New Proposal”
- In “Ask a question”, frame the title of the Proposal as a question i.e. Should 1.5% of GFI from the Treasury be allocated towards Backer Rewards?
- In the “Tell more about your proposal”, write a short summary and then include a link to the proposal discussion on gov.goldfinch.finance. See here for an example.
- Add at least 2 choices that represent being for or against the proposal. “YES” and “NO” are the most straightforward choices.
- Pick a time, either now or near in the future that you want the voting to start.
- Click “Publish”. The Snapshot poll should be live now!
Note: The voting options must include an action that indicates support or rejection of the suggestion i.e. YES or NO towards the said action prompt. An example: “Should 1.5% of GFI from the Treasury be allocated towards Backer Rewards? YES/NO”
The Task Force member who posted the proposal should edit their post on gov.goldfinch.finance to include the Snapshot link, and post it as a comment under the original post.
After the poll is set up, Admins or Moderators should announce that the poll has been created in
#proposal-announcements in Discord. The announcement should include a link to the Snapshot poll
After this, the Community will vote. Note that only GFI holders are eligible to participate in Snapshot polls.
The quorum for voting on Snapshot is 25k GFI, only after which can the proposal be considered valid.
In case a Snapshot vote does not pass due to majority “NO” votes or insufficient support from GFI holders, the proposal should be considered rejected.
Step 6: The Governance Council conducts a soft vote
Timeline: within 24 hours
Within 24 hours of a proposal being completed and approved, a member of the Governance Council will comment on the proposal on gov.goldfinch.finance indicating whether the Council approves. Otherwise, they will share concerns and feedback they may have for further discussion, or indicate if they need more time to reach a conclusion.
If the council needs more time, a member of the Governance Council will submit a comment on the proposal with expected timelines for a response.
In case a proposal requires improvements for approval, the Task Force can amend and repost the proposal.
Step 7: Code is created, audited, and reviewed (Optional)
Once initial approval from the Governance Council is obtained, Engineers build and submit the code required to enact the proposal.
Engineers should work closely with other Engineers in the community to ensure that their code is high quality, secure, and achieves the aim of the proposal. PRs can be made against the main repo here. New code should be audited unless there is a highly compelling reason why it does not need to be (eg. hot fix for critical security bug)
Step 8: The Governance Council votes to enable the new code
Timeline: 24 hours
Once the code is completed, tested, audited and deployed, it can be made ready for being enacted by the Goldfinch Council. Engineers can notify community Admins, who can notify the Governance Council. They will then sign the multisig transaction to enable the new code.
More information on the Governance Council and voting can be found here: https://docs.goldfinch.finance/goldfinch/governance.