Voting on a Referendum

How does Voting work on Polkadot.JS?

To vote on a referendum, navigate to the "Referenda" tab of Polkadot-JS UI. All the active referenda will be shown in their respective track sections. Click the "Vote" button to cast a vote for the corresponding referendum. As OpenGov takes both the approval and support into account, there are four options to choose from when voting on a referendum:

  • Aye

  • Nay

  • Split

  • Abstain

Also, you have to specify the conviction multiplier for this vote. The longer you are willing to lock your tokens, the stronger your vote will be weighted. Unwillingness to lock your tokens means that your vote only counts for 10% of the tokens that you hold.

OPENGOV USES CONVICTION VOTING PALLET (NOT DEMOCRACY PALLET)

Use convictionVoting.vote for voting on Referenda in OpenGov instead of democracy.vote (which only works for old version of governance).

Removing expired voting locks

To remove the lock from votes you first need to call removeVote and then unlock through the convictionVoting pallet.

Learn about Voting

Voting Timetable

In Governance v1, every 28 days, a new referendum will be up for a vote, assuming there is at least one proposal in one of the queues. There is a queue for Council-approved proposals and a queue for publicly submitted proposals. The referendum to be voted upon alternates between the top proposal in the two queues.

The "top" proposal is determined by the amount of stake bonded behind it. If the current queue selection attempts to create a referendum with no proposals (it is empty) and proposals are waiting in the other queue, the top proposal in the other queue will become a referendum.

Multiple referenda cannot be voted upon in the same period, excluding emergency referenda. An emergency referendum occurring at the same time as a regular referendum (either public or council-proposed) is the only time that multiple referenda will be able to be voted on simultaneously.

OpenGov shares the same 28 day eligibility period when the proposal can get approved. If not approved by then end of this period, the proposal is automatically rejected.

Voting on a referendum (OpenGov)

In OpenGov, a proposal is approved if it meets the requirements for approval and support, removing the adaptive quorum biasing system.

Approval is defined as the share of approval vote-weight (after adjustment for conviction) against the total vote-weight (for both approval and rejection).

Support is the total number of votes in the approval (ignoring any adjustment for conviction) compared to the total possible votes that could be made in the system.

It must fulfill this criteria for the minimum of the Confirmation Period. Different tracks have different Confirmation Periods and requirements for approval and support. For additional details on the various origins and tracks, check out this table. It is now possible to configure the amount of support and overall approval required for it to pass. With proposals that use less privileged origins, it is far more reasonable to drop the required turnout to a more realistic amount earlier than those which use highly privileged classes such as Root. Classes with more political significance can be made to require a higher approval early on, to avoid controversy.

In OpenGov, proposals that are not approved after 28 days are considered rejected by default and the Decision Deposit is refunded. If the proposal manages to stay passing until the end of the Confirmation Period, it is considered approved and is scheduled to execute from the proposed origin but after the Enactment Period. The Enactment Period is specified when the referendum is proposed but is also subject to a minimum value based on the Track. More powerful Tracks enforce a larger Enactment Period to ensure the network has ample time to prepare for any changes the proposal may bring.

Voluntary Locking

Polkadot utilizes a concept called Voluntary Locking which allows token holders to increase their voting power by declaring how long they are willing to lock up their tokens, hence, the number of votes for each token holder will be calculated using the following formula:

votes = tokens * conviction_multiplier

The conviction multiplier increases the vote multiplier by one every time the number of lock periods double.

The maximum number of "doublings" of the lock period is set to 6 (and thus 32 lock periods in total), and one lock period equals 28 days. Only doublings are allowed; you cannot lock for, say, 24 periods and increase your conviction by 5.5. For additional information regarding the timeline of governance events, check out the governance section on the Polkadot Parameters page.

While a token is locked, you can still use it for voting and staking; you are only prohibited from transferring these tokens to another account.

Votes are always "counted" at the same time, which is at the end of the voting period. This is not impacted by the locking period of the tokens.

Adaptive Quorum Biasing

Adaptive quorum biasing is longer used in OpenGov and is replaced by the Approval/Support system.

Last updated