Eligible Tokens and Vote Calculation

MetaPoll uses tokens to track the amount of votes an address has. Because token balances can change, the number of votes that are counted when signaling a vote into a MetaPoll is dynamic and responsive to on-chain token balances.

Eligible Voting Tokens

Each MetaPoll has a list of which tokens are eligible to be used as voting tokens and the weight each of those tokens gets.

MetaPoll supports both ERC-20 tokens and ERC-721 tokens (NFTs).

Viewing the eligible voting token list

You can view the eligible voting token list by clicking on the info button of any MetaPoll.

Main cards have an info button that will display additional information about the MetaPoll.

After you click the info button a panel with more information will open. The list of eligible voting tokens as well as their weight will be at the bottom of the info panel.

MetaPoll supports more than one voting token. Some tokens can have more votes than other tokens.

This tells you which token(s) can vote and how many votes each token receives.

How are votes calculated?

TLDR up front: MetaPoll scans your wallet and calculates: Eligible tokens x Weight = Total votes. (Sum all totals if more than one token)

MetaPoll calculates votes by taking the total number of tokens of an eligible voting token [ET] and multiplying it by the token weight [W] (votes per token) equals the number of votes from that eligible token. This process would be repeated for each [i] eligible voting tokens. Once all votes from all eligible voting tokens have been calculated, then all eligible votes are summed together to get the total eligible votes [EV].

[EV=i=1nETi×Wi]where:EV: total number of eligible votes,ETi: number of tokens of eligible voting token i,Wi: weight (votes per token) of token i,n: total number of eligible voting tokens.[ EV = \sum_{i=1}^{n} ET_i \times W_i ] where: \begin{aligned} EV &:\text{ total number of eligible votes},\\ ET_i &:\text{ number of tokens of eligible voting token }i,\\ W_i &:\text{ weight (votes per token) of token }i,\\ n &:\text{ total number of eligible voting tokens}. \end{aligned}

How does MetaPoll prevent the same tokens from being counted twice?

MetaPoll automatically looks up the on-chain token balance of every voting account before the creation of each new snapshot. This prevents people from voting in a MetaPoll and then shifting their voting tokens to multiple accounts to multiply their vote.

Let's consider an example:

If account ABC is holding 100 voting tokens with a weight of 1 vote per token then ABC would have 100 votes.

If the account owner then tries to multiply their votes by moving 90 tokens to one of their other accounts called XYZ, then XYZ will now have 90 votes, however since MetaPoll will see on-chain that ABC has 10 voting tokens, ABC votes will be dynamically adjusted to have 10 votes.

In other words, accounts can keep signaling their option rankings, but in order to keep their voting power up, accounts need to keep the tokens in their wallets.

Viewing your votes

Inside a MetaPoll at the lower left corner of the page beside the "enter voting mode" button you'll see your number of votes displayed along with your voting power percentage (discussed in the dedicated vote decay page).

Votes are displayed in the lower left corner of the page.

To get a detailed view of your votes and voting power, click the highlighted vote and voting power area.

Detailed voting power panel

In this more detailed panel you can see the breakdown of each voting token and how many eligible votes you have vs counted votes.

You can also see information about voting decay, we will learn about Vote Decay in the next section.

Last updated