As far as I understand currently, we can vote for 30 block producers. Each selected candidate will get the same number of votes as the number of EOS coins in my account when I vote. This means that if I have 100 coins each candidate block producer will receive 100 votes from me.

As per official article about Producer Vote Decay

In order to maintain maximum voting influence each voter will have to re-assert their vote every week. Voting influence decays with a half-life of 1 year for those who do not keep their votes up to date.

My questions are:

  1. I guess by voting influence we mean number of votes per EOS coin and initially it will be 1 vote = 1 eos. Then if we don't vote each week then we will get less then 1 vote per eos, for example 1 eos = 0.95 vote in the first week and then if we don't vote in the second week as well it will decrease to 1 eos = 0.90 vote, etc? Basically in a year time if I have 100 EOS, my voting power will be 50 votes on 365th day if I don't vote for the whole year?

  2. Kind of stupid question, but: is the vote decay actually linked to the account name? This means that I can completely restore my voting power by creating a new account and transferring all the tokens there and start using the new account? I don't think voting each week is achievable if you really want to keep up with news and vote properly, that is why I am asking basically how can I restore my voting influence completely or if I miss one week it is lost forever? Or is the vote decay reset once I vote?

  3. If you cannot restore your voting power, I heard that you can delegate your voting to other accounts, is this is a official/legal way and how to do that? I also heard that there will be voting bots but it is not allowed which is good, but what are the consequences if people start using them?

Any information about alternatives is welcome or more clarity.



Found some useful information here: Everything You Need To Know About Voting On EOS , mainly:

How often should I vote?

You can cast your vote as often or as infrequently as you’d like. Once you have voted, your vote will remain in effect until you either remove it, or change it. However, your voting power will diminish after 1 week, going from full strength to no strength over the course of 2 years. To keep your vote at full strength, you would need to recast it once per week. If your vote begins to decay in strength, recasting will bring it back to full strength immediately.

Why should I re-cast my vote?

As stated above, rescasting your vote will keep it at full strength, giving your voice the power it deserves. This was done to encourage voters to stay up to date with the list of Block Producers, and discourage a “set it and forget it” approach. On other Delegated Proof of Stake blockchains, like SteemIt, we see Witnesses (their name for Block Producers) who have been inactive for a long time who are still receiving votes.

What is Proxy Voting?

A proxy is someone to whom you delegate the authority to vote on your behalf. Once a user has registered as a proxy, another user can delegate their voting power to that proxy. This effectively causes your votes to mirror that of the proxy you have named.

3 Answers 3


From eosio GitHub:

  *  Every time a vote is cast we must first "undo" the last vote weight, before casting the
  *  new vote weight.  Vote weight is calculated as:
  *  stated.amount * 2 ^ ( weeks_since_launch/weeks_per_year)


Maybe that helped.

Cypherglass also uploaded a video for this: https://www.youtube.com/watch?v=v9h4u1xUASw


My understanding is that vote power is simply restored by refreshing your vote, if you feel voting each week is too much administrative overhead you should be able to delegate your voting power to someone else, a bit like a politician.

Proxy your vote to someone you trust and they vote on your behalf, should you not like a vote they did you can take your tokens elsewhere.

Dan Larimer has said a bit about it here

  • What do you mean by "refreshing" the vote? Do I need to submit again the already chosen producers (if I am happy with them) as vote every week or I need to select at least one different producer in my vote? I guess the second doesn't make sense, so I just need to re-submit my vote. Could you provide source where it is documented about restoring my vote power? Thanks
    – Danail
    Commented Jun 10, 2018 at 14:54

To add to the other replies, see the stake2vote() function in voting.cpp, which converts an EOS stake into a vote weight:

double stake2vote( int64_t staked ) {
      /// TODO subtract 2080 brings the large numbers closer to this decade
      double weight = int64_t( (now() - (block_timestamp::block_timestamp_epoch / 1000)) / (seconds_per_day * 7) )  / double( 52 );
      return double(staked) * std::pow( 2, weight );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.