The GoodDollar governance model is based on the Compound governance model and code, as set out here. Critical to the process is the GOOD token, a non-transferable token that controls all smart contracts within the GoodDollar ecosystem.
Avatar: A master smart contract that houses permissions for all other GoodDollar smart contracts. The Avatar can interact with external smart contracts and is able to function as a “smart wallet” for the GoodDAO.
Governance module: A VotingMachine contract that implements the Governance Specs. The governance module has permission to control the Avatar when a proposal passes.
GOOD: A Reputation Token contract that supports delegation and initial state merkle proof, used for voting in the governance module.
Staker distribution: A smart contract that distributes GOOD to users who stake capital to the GoodDollar Trust.
Claimer distribution: A smart contract that distributes GOOD to users who claim G$ tokens through the GoodDollar Wallet app.
Governance Staking: A smart contract that distributes GOOD to users who stake their G$ in this contract.
The GoodDAO is the decentralized autonomous organization responsible for oversight of the GoodDollar protocol. All GoodDAO members have the power to propose changes to the protocol or to the governance process. They may also vote on the proposals of others.
The GoodDAO can vote on anything directly affecting the protocol. Successful proposals for edits/additions/changes to the functionality of existing smart contracts are implemented through code upgrades. Code upgrade proposals must include the proposed new code in its final format.
GOOD is the GoodDollar governance token used for voting on proposals related to the GoodDollar protocol. There are two important points to remember about GOOD:
1 GOOD = 1 vote.
GOOD is a non-transferable token and therefore has no market value.
Allows users to delegate/undelegate to another community member’s address.
Users cannot delegate the GOOD that has been delegated to them.
Initial distribution of GOOD
48M (InitialAmount) GOOD goes to to the G$ claimers:
Each Claimer receives (48M/Total Claims)*(# times the user claimed). For example, if there have been 10,000 claims logged by the app, and the user has claimed 60 times, he will receive(48M/10,000)*60 = 288,000
24M (InitialAmount) GOOD goes to the G$ holders:
Each G$ Holders receives (24M / Total G$ supply) * (user holdings)
For example, if the total G$ supply = 10M and a user holds 100 G$, he will receive (24M/10,000,000)*100 = 240 GOOD.
24M (initialAmount) GOOD to G$ stakers):
Each supporter is rewarded in proportion to their stake in DAI.
Ongoing distribution of GOOD
GOOD tokens are minted on a monthly basis for ongoing distributions. Every month, 8M GOOD will be minted and distributed as follows:
4M GOOD to the G$ claimers:
Each Claimer receives (4m/Total Claims in the preceding month)*(# times the user claimed)
For example, if there were 10,000 total claims in the past month and a user has claimed 20 times, he/she will receive (4M/10,000)*20.
2M GOOD to G$ stakers:
G$ staking is a new staking contract, unrelated to all other staking contracts.
G$ staking is open only on Fuse network
The distribution of GDAO should be based on the calculation set out here.
2M GOOD goes to users who stake via the GoodDollar Trust in proportion to the amount they have staked:
For example, if only one user has staked $1000 in the GoodDollar Trust would earn a full 2M GOOD each month.
If 10 users staked 1000$ each in goodstaking they would earn 200K each.
When there are multiple staking contracts, then the amount of GOOD tokens each contract rewards its stakers is proportional to the dollar value staked in that contract.
New Proposal and Voting processes
The governance module: GoodDollar’s governance module will initially be based on Compound’s contracts. The GoodDAO can elect to change this in future.
The proposal threshold: The percentage of total GOOD tokens a voter must hold and/or have delegated to him/her to make a proposal. This amount is currently set at 0.25%.
Quorum: The minimum number of votes required for a proposal to be approved/overruled. This amount is currently set at 3%.
The proposal period: The time limit for a proposal to reach a quorum (3%). If a proposal does not reach a quorum within this timeframe, it is automatically overruled.
The countdown period: The period allocated for voting on a proposal that has reached a quorum. This period is set at a minimum of two days. If there is a significant shift in voting within the last 24 hours of voting, the clock is reset to a full 24 hours. If voting again shifts abruptly, further 24-hour extensions will occur.
Any GoodDollar community member who controls more than 0.25% GOOD, either directly or through delegation, is entitled to make a proposal related to the project. There is, however, no minimum requirement for voting. Holders of any amount of GOOD can vote on proposals as they arise.
Voting on proposals
Proposals can only be made bycommunity members whose wallets contain more than 0.25% GOOD (the proposal threshold).
Any GOOD holder can vote on whether to accept a proposal.
Voting on each proposal is open for a period of 14 days.
Each proposal has a threshold of 3% (the quorum).
If fewer than 3% GOOD tokens are voted in favor of a proposal, it is overruled.
If more than 3% GOOD tokens are voted in favor and fewer than 3% against, the proposal is considered approved.
If more than 3% GOOD tokens are voted in favor, and more than 3% against, the proposal will be turned over to the relative voting mechanism.
The relative voting mechanism countdown takes place over two days, during which votes are accrued for one side or the other.
If there is a significant shift in voting within the last 24 hours, the clock is reset to permit a full 24 hours. If voting again shifts abruptly, further 24-hour extensions will occur.
Any proposal that earns more than 51% approval will be automatically approved for implementation with a shorter execution delay.
Pending: A proposal has been made but voting on it cannot yet begin.
Active: A proposal that can be voted on (within 14 days or, if threshold passed, until the holding period ends).
Succeeded: A proposal that has passed the majority threshold but has not yet been executed.
Defeated: A proposal that has not earned enough votes to pass within 14 days.
Expired: A proposal approved by a majority that was not executed within the execution threshold period (currently set at two days).
Executed: A proposal that was approved by a majority that has had its code executed within the execution threshold period.
Canceled: A proposal that lapses because a) the proposer's GOOD holdings decline below the proposal threshold, or b) the Guardian (see below) cancels the vote.
As the GoodDollar protocol will be fully decentralized under its new governance model. As such, there is a need to safeguard the protocol from two potential vectors of attack:
Attempts to withdraw capital from the GoodDollar Reserve. These could be disguised within proposals to “upgrade the reserve contract”.
Attempts to mint G$ to line a user’s pocket. These could be hiding within proposals requesting “a grant from the protocol”.
To ensure no nefarious actor can misuse GoodDollar in such ways, the Foundation will retain the right to cancel any proposal harmful to the project or its financial integrity. The Foundation has committed to act in good faith, and will not step in unless the circumstances above arise. The GoodDAO can vote to change this from January 2023.