We have 50+ amazing Delegates that want your votes: community leaders, developer groups, ecosystem partners, technical partners, investors, and more. See for yourself on the official voting website: member.iotex.io!
In this post, we provide an overview of the voting process and step-by-step instructions on how to vote. For more important details and tips, please read our all-in-one Voter Handbook or watch our Voting video.
Why Should I Vote?
IoTeX uses Roll-DPoS, where Delegates “prove their stake” by committing time, hardware, and tokens to the network. As a digital democracy, IoTeX relies on community voting to elect Delegates that will maintain the network with integrity. Voting increases the security and efficiency of IoTeX, and also earns you great rewards.
Make your voice heard and earn 20–30% annual rewards!
To securely bootstrap the Mainnet, we require 20% of the current circulating supply (~500 million IOTX) to be staked/voted. This is your chance to put your IOTX tokens to work and greatly impact the trajectory of IoTeX. Don’t wait — make sure you encourage everyone to vote now!
How to Vote?
In this section, you will find step-by-step instructions on how to vote for Delegates. Please ask any questions in the official IoTeX Telegram Group.
Step #1: Install MetaMask
The first step is to install MetaMask. The staking/voting process on Ethereum is streamlined thanks to our easy-to-use MetaMask webtool:
- Install MetaMask (Chrome/Firefox/Opera plugin or Brave browser). This is a bridge between your ETH wallet and the IoTeX voting smart contract.
- In MetaMask, create a new ETH wallet or import an existing ETH wallet using your private key or Ledger / Trezor.
If using a hardware wallet, update your firmware (Trezor v1.8.0, Ledger v1.5.5). For Ledger, make sure “contract data” is turned on: https://goo.gl/ngF58q
3. Add IOTX to MetaMask using the “custom token” option. The IOTX token contract address is: 0x6fb3e0a217407efff7ca062d46c26e5d60a14d69
4. Transfer the IOTX you wish to stake (and some ETH for gas fees) to your ETH wallet. Congrats, you have successfully set up MetaMask!
Step #2: Choose your Delegates
There are 45+ Delegates with unique teams/goals on the voting website. Do your own research and create a diverse voting portfolio that represents your vision for the future of IoTeX. If you want IoTeX to prioritize:
- Community — vote for an Ambassador
- Tools / dApps — vote for a Developer Group
- Network resources — vote for an Ecosystem Partner
- Mining experience — vote for a Technical Partner
- Enterprise/funding — vote for an Investor
You can vote for as many Delegates as you want with a single account. The difference in rewards across Delegates is marginal (i.e., 80% vs. 85%), but the difference in impact can be massive. Don’t vote based on rewards, vote for reliability and the benefit of IoTeX!
Step #3: Vote for Delegates
It’s time to vote! Here is how to VOTE using an existing bucket (i.e., you have already staked) and using a new bucket (i.e., you have NOT yet staked).
We highly recommend dividing your tokens into five or more buckets. Each bucket can be used to vote for a different Delegate OR all buckets can be used to vote for one single Delegate. More flexibility for future votes!
Vote using an EXISTING bucket
- Login to MetaMask and visit the “My Votes” page on the voting website. You will see your existing buckets. If you have no existing buckets, go to the “Vote using a new bucket” section below.
- To vote using an existing bucket, click the “Vote Now!” button.
3. A popup window will appear. In the Name field, enter the name of the Delegate you want to vote for and press “OK”. Note: auto-matched names will appear as you type — please make sure you are voting for the correct Delegate!
4. You will need to confirm a smart contract transaction in the MetaMask popup window. If a popup does not appear, please check your MetaMask plugin / txn queue. Use our recommended gas limits to save on gas fees! Please ignore the “ALERT: Transaction Error” and press “Confirm”.
5. Wait for the smart contract to process — once confirmed, you are all done! Visit the “My Votes” page to see your new vote. You can now repeat this process for any other existing buckets.
Vote using a NEW bucket
- Visit the voting website. Next to the Delegate you want to vote for, click the “Vote” button. You will be asked to install MetaMask before voting.
2. A popup window will appear. Create a new voting bucket by completing the form and click “Proceed to Vote” once completed:
- Enter a Delegate name. Note: auto-matched names will appear as you type, so please make sure you are voting for the correct Delegate!
- Input the amount of IOTX you wish to stake (1 IOTX = 1 Vote). Remember to split your IOTX into multiple buckets (1 for each Delegate you will vote for).
- Set a stake duration to get bonus votes (optional). Bonus votes reduce every day and eventually go to zero when the stake duration expires.
- Turn auto-stake on/off. Auto-stake locks your stake duration, which means your voting power will be retained indefinitely until you turn off auto-stake.
3. You will be prompted to review and confirm the voting transaction details: Delegate name, # of IOTX tokens, stake duration, and auto-stake on/off. Click “Yes, make transaction” to confirm.
4. You will need to confirm two smart contract transactions in two MetaMask pop-up windows. If pop-ups do not appear, please check your MetaMask plugin / txn queue. Use our recommended gas limits to save on gas fees!
- Smart Contract #1 (left): Approve the staking smart contract to transfer tokens from your wallet to the smart contract
- Smart Contract #2 (right): Confirm the actual smart contract transaction — please ignore the “ALERT: Transaction Error” dialog
5. Congratulations! You have successfully created a voting bucket. You can now visit the “My Votes” page to view, add, or edit your voting buckets.
Step #4: Changing your Voting Buckets
After making your votes, you will be able to see all of your voting buckets on the “My Votes” page of the voting website. At any time, you can update your votes and change your voting buckets in several ways:
- Change Delegate: you may change your vote to another Delegate
- Restake: you may extend your stake duration or turn on/off auto-stake
- Unstake: if you do not set a stake duration or your stake duration has expired, you may unstake your tokens (process lasts 3 days)
- Withdraw: after unstaking, you may withdraw your tokens to your wallet
Your changes will be sent to the staking/voting smart contract to be updated. You will be asked to confirm this smart contract update in MetaMask. A small gas fee is required — see our recommended gas limits to save on gas fees.