Parameters
All of these are governance parameters and change through acosmos.gov.v1.MsgUpdateParams proposal. Proposal 998 shortened the voting period to 7 days. Proposal 1018, which would have put it back to 14, was rejected.
The Hub adds one rule outside these parameters: a vote is accepted only from an address with at least 1 ATOM staked (1,000,000 uatom summed over its first 100 delegations). This is enforced in gaia’s ante handler, not in the Cosmos SDK gov module.
1. Deposit period
A proposal exists on chain from the moment it is submitted with at least 50 ATOM. It enters voting as soon as the total deposit reaches 500 ATOM. Anyone can add to the deposit, in increments of at least 5 ATOM, for up to 14 days. After that the proposal is removed and the deposits are refunded.burn_vote_veto: true, a proposal that ends with 33.4 percent or more NoWithVeto loses the whole deposit. Proposal 1056 is a recent example. Deposits are not burned for failing quorum or for a plain No majority. A proposer can cancel a proposal before the voting period ends with gaiad tx gov cancel-proposal <id>. Half of the deposit is then burned.
2. Voting period
Voting lasts 7 days from the moment the deposit is filled (3 days for an expedited proposal). Any address with at least 1 ATOM staked can vote once and can change the vote until the period ends. The last vote counts.proposal query prints voting_end_time, total_deposit, and title. The tally query prints the running yes_count, no_count, abstain_count, and no_with_veto_count in uatom.
The four options:
- Yes: approve the proposal as written.
- No: reject it as written.
- Abstain: count toward quorum without taking a side. Abstain votes are excluded when the threshold is computed.
- NoWithVeto: reject it and burn the deposit. By community agreement in proposal 75, this is for proposals that are spam, that disproportionately harm a minority, or that break rules the Hub has adopted through governance. Voting NoWithVeto costs the voter nothing.
weighted-vote (for example yes=0.6,no=0.4). Custodians use this to pass through their clients’ choices. Commands are on the Delegator CLI guide.
3. Tally
A proposal passes when all four hold at the end of the voting period:- The deposit reached 500 ATOM within 14 days (otherwise there is no vote).
- Quorum: at least 40 percent of all bonded ATOM voted (Yes, No, Abstain, and NoWithVeto all count).
- Threshold: more than 50 percent of the votes, excluding Abstain, are Yes.
- Veto: fewer than 33.4 percent of all votes are NoWithVeto. A veto at or above that fails the proposal even with a Yes majority. A third of the voting stake can therefore block anything.
final_tally_result with the four counts. Proposal 1055 (the v28.2.0 upgrade) was expedited and passed with 146,696,672 ATOM Yes against under 3,000 ATOM in other votes.
What happens after a pass
Messages in a passed proposal execute at the end of the voting period, in the same block as the tally: a software upgrade plan is scheduled, parameters change, community pool funds move. A text proposal with no messages executes nothing and stands as a record. If a message fails at execution (an upgrade height already in the past, for example), the proposal status becomesPROPOSAL_STATUS_FAILED. Nothing is applied.
Verify
Confirm your own vote was recorded while the period is open:options with the option and weight. An error not found means the vote did not land. Either the proposal id was wrong, or the address had under 1 ATOM staked and the transaction failed, which gaiad q tx <hash> shows with a non-zero code.
Next
- Submitting a proposal for drafting, forum review, and the submit transaction.
- Proposal types for what each message does.
- Gov module reference for the module internals.