Staking and voting on the Tangle — how it works

Werner der Champ
5 min readDec 20, 2021

--

As most people are aware now, IOTA will allow staking and voting on the tangle. However I still see a lot of questions regarding this, so let’s go through it.

Participating in events

The newest version of Hornet adds a special plugin that records participations in events. Currently it supports two event types, staking and voting. You can participate in an event by sending a transaction to yourself. To do this, Firefly will collect all your IOTAs on a single wallet and send them to a single address. Therefore, your tokens are not locked and stay on one of your addresses all the time. This transaction embeds all IDs of events you want to participate in, allowing participation in multiple events at once.

Every time a milestone arrives on the tangle, your staking rewards are incremented. For example, with SMR, you will get one SMR per MIOTA you hold every milestone. For voting it works similar, for each Ki you stake, one vote is added to the option you chose every milestone.

If you move your tokens, your tokens are automatically unstaked and you will stop receiving rewards or vote weight. If you send the transaction again, you will resume receiving rewards/weight.

Events on node side

Events are not broadcast throughout the network, they must be manually added by the node owner via the node dashboard (or using the API). After it is added, the node looks for transactions participating in the event. If the node sees participations for events it does not know, they are simply ignored (but still sent to neighbors!). To verify the result of an event, it is therefore necessary to have enough nodes that keep track of it and validate the result.

Flow of an event

Each event goes through several phases:

Upcoming

Upcoming events are already scheduled, but you cannot participate in them yet. This is the best time to add the event to your node to track, although it still can be done later.

Commencing/Pre-Staking

In this phase the nodes already track participations, but the staking has not started yet. Whatever time is chosen to actually start the staking, there will always be a region where it is 3 o’clock in the morning. Or its exactly the day where you are on a business trip and can’t make the transaction. It does not matter when in this phase you enter the event, the rewards will be the same. Just be sure to not miss it.

Staking/Holding

In this phase you can finally watch your token balances going up, or see as your tokens affect the outcome of a vote. Just HODL through this phase to squeeze the maximum stake/weight out of your tokens! You can still enter the event in this phase, but you will not get the full reward. If you send tokens around, you will have to renew your participation in the event.

Ended

Once the event is over, be sure to assist in validation of the results. Instructions on how to do this will be published by the IF shortly.

FAQ

Note: Despite I am writing this to the best of my knowledge, I cannot guarantee that every information is 100% correct and up to date as more details are released from the IF.

Wen staking?

NOW!
Still be sure to follow IOTA on Social Media or Discord to stay updated🙃!

Should I stake for SMR or ASMB?

You can stake for both coins at the same time with your full token amount. Assuming I have 1Gi and stake over the entire duration:
If I choose ASMB, I will get 3110 ASMB
If I choose SMR, I’ll get 777,6 million SMR
If I choose both, I will get 3110 ASMB and 777,6 million SMR

I have multiple wallets. Will they get merged together?

No, in every wallet tokens are sent to one specific address and staked separately. As a result, if you move tokens on one wallet the other wallets are unaffected

What happens if I receive tokens during the event?

Tokens sent to your address are not counted towards your stake/weight. To add them in, you have to make another transaction to your own address that also includes the newly received tokens.

What happens if I send tokens during the event?

Any transaction will automatically end your participation. You will keep the weight/tokens you have earned, but you won’t get any more. If you send a new transaction with the remaining tokens to yourself, you can re-enter the event.

I have my tokens on exchange. Can I participate in events?

At the time of writing, no exchange has announced to support staking/voting. If you want to take part, withdraw your tokens to firefly.

I withdrew my tokens to Binance Chain. Can I participate there?

No, you need to have your tokens on the IOTA mainnet to participate.

I store my tokens in Firefly, but using a Ledger HW Wallet. Can I participate?

Yes!

How many tokens do I need to participate?

You can participate with as little as 1 Mi, which is the current minimum amount anyway. However, for staking events there might be a threshold to actually get your tokens paid out. For ASMB, 1 Mi staked over just 30 days is fine. To receive the shimmer airdrop you need to stake at least 13 Mi over the entire duration

What will happen after the 90 days are over?

A genesis snapshot will be created for ASMB and SMR, which will be used in the launch of the network. Further staking events for ASMB will follow.

Can I participate in multiple events at once?

Yes, you can participate in as many events as you like with no penalty. Every IOTA will fully count for each event.

How do I add an event to my node?

Events can be added via the node dashboard. After logging in head to Settings>Plugins>Participation and click the Add Event button. You can either provide a link to the event data or copy-paste it in.

Can I add an event after it has already started?

Yes, as long as you have the entire history since the event start on your node, you can add events late. The node will then scan through the history and look for participations in the event. As this can take a while however, it is highly recommended to add events ASAP.

Do I have to adjust my history so event data doesn’t get pruned?

Event data is stored in a separate database. You only need the full history of the event at the moment you add it (which will copy the data over).

--

--