How to bond your REEF and nominate a Reef Chain validator using Klever Wallet

Derek E. Silva
Reef
Published in
14 min readSep 20, 2021

Klever launched liquidity bridges for Ethereum, Binance Smart Chain and Reef Chain, launched the first external Reef Chain validator, enabled withdrawals to Reef Chain, and the option to stake REEF immediately alongside Reef’s mainnet launch!

This guide will show you how to transfer Reef tokens over to the Klever wallet, bond them and nominate a validator(s).

If you wish to learn more about nominators and validators on the Reef Chain, or you already have a Klever wallet, you can search this page for “Nominators and Validators” and look for the “Guide— How To” subheading.

Requirements:

Klever Wallet, Reef tokens (ERC-20 and/or BEP-20), BNB (BEP-20) and/or ETH (Mainnet) for fees.

Step-by-step Work Instruction

  • Create a new Klever wallet
  • From your smartphone, download the app from the official page at https://klever.io/en/

iOS: https://apps.apple.com/us/app/id1525584688

Android: https://play.google.com/store/apps/details?id=cash.klever.blockchain.wallet

  • Read and accept the Klever Privacy Policy;
  • Go through the initial set-up. You can either “Create” a new wallet or “Restore” an existing wallet you have previously created (you would have backed up your 12 seed words). This work instruction will show you how to setup a new wallet on Klever;
  • Tap on “Create Wallet”;
  • Enter / create a new PIN that you will need in order to unlock your wallet at a later stage;
  • Confirm the new PIN;
  • You will be given a set of 12 words; this is your wallet seed phrase that must be immediately backed up. Please, write down your 12 Words Back-up Seed on a piece of paper, in the exact same order as shown and store the paper with the seed in a safe place. Your 12 Words Seed and Private Keys give direct access to your account and funds. DO NOT SHARE THIS WITH ANYONE.

Note: If you don’t like the words that are randomly given to you, for any reasons, you can get new ones;

  • Confirm the seed phrase by tapping on each word in the exact order;
  • Confirm that you understand the security of your wallet and your responsibilities in keeping your wallet secure;
  • Accept the important notice from Klever: no one from Klever nor Reef Finance teams are ever going to ask for your seed phrase;
  • Enter a referral code (if desired) to gain discounts and advantages (for your convenience, you can use this to show you read this post: 1OTTYD);
  • Paste in the code and tap on “Confirm”;
  • Enable biometric security, if available and your device supports it;

Congratulations! 🎉 You are now a brand new Klever user! 🎉

  • Transfer Reef tokens to the new Klever wallet (https://klever.zendesk.com/hc/en-us/articles/360058062631-How-to-add-new-token-to-your-Portfolio)
  • Once you are on the wallet main page, tap on the token filter button (circled in red below) to make Reef available in your account. Please, be aware that you will find three Reef entries: ERC-20, BEP-20 and Mainnet addresses — you can enable them all, as well as BNB (BEP-20) and ETH (Mainnet) for the fees, as shown later in this document:
  • In the search field, type reef and enable the addresses, as shown below:
  • Then, enable BNB (BEP-20) and ETH (Mainnet) addresses as well;
  • Once you have Reef enabled, open the Reef (BEP-20 or ERC-20) wallet from the Portfolio section, copy the receiving address and move over to your Binance account. You will need to withdraw Reef tokens from your Binance wallet to Klever, as per images below:

(☝️ Go to your Reef wallet in Binance and tap on “Withdraw” ☝️)

(☝️ In the Address field, enter the address you have previously copied in Klever ☝️)

(☝️ Binance will automatically recognize the network. If the wallet address is available on multi-chain, select the BEP20 (BSC) network in order to pay cheaper fees ☝️)

(☝️ Select the Amount of Reef tokens you wish to transfer in order to stake — 1000 Reef (BEP-20) tokens + 10 Reef (BEP-20) for fees, as per example above ☝️)

(☝️ Ensure the network you selected is correct — you should double check which network the wallet address you copied from Klever is on ☝️)

  1. Tap on “Confirm” and wait for the order to be completed;
  2. When the order is complete, you will receive the amount of Reef tokens in your Klever wallet (the fees for the Binance transfer will be deducted from the total amount of tokens you chose to transfer):
  • Now you need to transfer some BNB (BEP-20, because the Reef token I transferred is on the Binance Smart Chain blockchain, so I need to have BNB BEP-20 to make transactions and pay the transaction fees. You can use Binance again or any other wallet, like MetaMask (I have some BNB on my self-custodial wallet):

Note: Klever recommends to have / keep at least 0.001 BNB available in the Klever wallet at all times. The amount you wish to transfer must be above 0.001 BNB so that you will not experience failed transactions in future. Also, please don’t confuse BNB BEP-20 with BNB BEP2 (BEP2 is Binance Chain).

  • When the transaction is complete, you will see the BNB (BEP-20) in your Klever wallet:

YOU PAY: REEF (BEP-20)

YOU GET: REEF Mainnet (not the ERC-20 address)

The amount you wish to swap. Note that swapping Reef does not affect its value, 1 Reef (ERC-20 or BEP-20) = 1 Reef Mainnet:

  • Tap on “Next”, then tap on the “To” field address and select your REEF Main Account:
  • Once the fields are populated, you can choose the Processing Speed (I chose Priority, below) and whether you want to pay the swapping fees using Klever’s native token or BNB (BEP-20, previously transferred):
  • Tap on “Convert Now” to place your order, your order is successfully placed:
  • Tap on “Got it!” and wait for the order to be completed;
  • When the order is complete, you will find Reef Mainnet tokens in your wallet (i.e., the number of tokens you chose to swap minus some Reef tokens that were used, with BNB, for fees):
  • Select the Amount of Reef Mainnet tokens you wish to bond (i.e., stake), then select “Stash account (Increase Stake)”. It is highly recommended not to select 100% of your tokens because you will need Reef tokens for fees. Also, remember that there is a minimum 7 day bond:
  • Tap on “Next”, check your transaction details and then “Submit Transaction”;
  • If successful, the following message will come up:

Congratulations! 🎉 You have just staked your Reef tokens! 🎉

This last step is very important because it determines your staking rewards. Selecting validators in the Klever app is one simple option; to find more information about validators, visit https://console.reefscan.com/#/staking/targets. This is a mandatory step if you wish to earn with Reef Chain. Please, consult the Nominators and Validators Guide in the second half of this document before selecting your validators.

  • From your Portfolio, go to Reef Mainnet and tap on “NOMINATE”, circled in red below:
  • From the next screen, you can select up to 16 validators (Note: selecting multiple validators that are not oversubscribed is the best way to earn rewards):
  • Tap on “Nominate”, then tap on “Submit Transaction”:
  • If successful, the following message will come up:

Congratulations! 🎉 You have just staked and nominated a validator with Reef Finance! 🎉

Nominators and Validators

Guide — How To

Each section below gives you additional information when it comes to nominating and selecting a validator(s) on the Reef Chain:

  1. Nominators
  2. Active vs. Inactive Nomination
  3. Oversubscribed Validators
  4. The Election Solution Set
  5. Receiving Rewards
  6. What To Take Into Consideration When Nominating
  7. Filter Out Validators With Undesirable Traits
  8. Review Your Validators’ History
  9. Risks of Single Operators with Multiple Validators
  10. Avoiding Oversubscribed Validators

Nominators

Nominators secure the Relay Chain by selecting good validators and staking Reef tokens.

You may have an account with Reef and want to earn fresh Reef tokens. You could do so as validator, which requires a node running 24/7. If you do not have such node or do not want to run a node, you can still earn Reef tokens by nominating one or more validators. By doing so, you become a nominator for the validator(s) of your choice.

NOTE: Pick your validators carefully — if they do not behave properly, they will get slashed and you will lose Reef tokens as well. However, if they do follow the rules of the network, then you can share in staking rewards that they generate.

While your Reef tokens are staked by nominating a validator, they are “locked” (i.e., bonded). You can receive new Reef tokens in your account but you cannot stake as a validator or transfer Reef tokens out from your account. You can un-nominate at any time to stop staking your funds. Keep in mind that the un-nomination is effective in the next era, and that un-nominating does not automatically un-bond your funds; there is an un-bonding period of 28 days on Reef before bonded funds can be transferred after issuing an un-bond transaction.

Active vs. Inactive Nomination

When you go to the Account actions section, under the staking page, you should see your bonded accounts and nomination status. Your nominations will be effective in the next era; eras are estimated to be 24 hours long, on the Reef Chain:

Suppose you have nominated five validator candidates, and three out of five were elected to the active validator set, then you should see two of your nominations as “waiting”, and most likely one as “active” and the rest as “inactive”.

Active or inactive nomination means your nominated validators have been elected to be in the validator set, whereas waiting means they did not get elected. Generally, you will only have a single validator with an active nomination, which means that you are directly supporting it with your stake in this era and, thus, potentially receiving staking rewards.

Inactive nominators were validators that were elected for this era but that you are not actively supporting. In each era, a new election will take place and you may be assigned a different active nomination from among the validators you have selected.

If you are committing a very large amount of stake, then you may have more than one active nomination. However, the election algorithm attempts to minimize this situation, and it should not occur often, so you should almost always see only a single active nomination per era.

See the section on Phragmén optimization for more details.

Oversubscribed Validators

Validators can only pay out to a certain number of nominators per era. This is currently set to 64:

https://console.reefscan.com/#/chainstate/constants | staking | maxNominatorRewardedPerValidator

However, this can be modified via governance.

If more than 64 nominators nominate the same validator, it is “oversubscribed” and only the top 64 staked nominators (ranked by amount of stake) are paid rewards. Other nominators will receive no rewards for that era, although their stake will be still used to calculate entry into the active validator set. Although it is difficult to determine exactly how many nominators will nominate a given validator in the next era, one can estimate based on the current number of nominators. A validator with only 5 nominators in this era, for instance, is unlikely to have more than 64 in the next era. An already-oversubscribed validator with 1000 nominators in this era, however, is very likely to be oversubscribed in the next era as well.

The Election Solution Set

Determining which validators are in the active set and which nominators are nominating them creates a very large graph mapping nominators to their respective validators. This “solution set” is computed off-chain and submitted to the chain, which means it must fit in a single block.

If there is a large number of nominators, this means that some nominators must be eliminated.

Currently, nominators are sorted by amount of Reef tokens staked and those with more tokens are prioritized. This means that if you are staking with a small amount of Reef tokens, you may not receive rewards. This minimal amount is dynamic, based on the number of validators, number of nominators, amount nominated, and other factors.

Receiving Rewards

As long as you have nominated more than one validator candidate, and at least one of them got elected, and you are nominating with enough stake to get into the solution set, then your bonded stake will be fully distributed to one or more validators.

That being said, you may not receive rewards if you nominated very few validator candidates and no one got elected, or your stake is small and you only selected oversubscribed validators, or the validator you are nominating has 100% commission.

It is generally wise to choose as many trustworthy validators as you can (up to 16) to reduce the risk of none of your nominated validators being elected.

Rewards are lazy — somebody must trigger a pay-out for a validator for rewards to go to all of the validator’s nominators. Any account can do this, although — in practice — validator operators often do this as a service to their nominators.

What To Take Into Consideration When Nominating

One thing to keep in mind as a nominator is the validator’s commission. The commission is the percentage of the validator reward that is taken by the validator before the rewards are split amongst the nominators.

As a nominator, you may think that the lowest commission is best. However, this is not always true. Validators must be able to run at break-even in order to sustainably continue operation. Independent validators that rely on the commission to cover their server costs help to keep the network decentralized.

Commission is just one piece of the puzzle that you should consider when picking validators to nominate:

As a nominator, if you only want to know the profit that each validator made for each era, you can go to the Targets section, under the Network -> Staking page. Then, nominate those who have a higher profit. However, that does not guarantee the right way to evaluate the validators’ overall performance.

Filter Out Validators With Undesirable Traits

On the Targets page, you can filter out validators that have traits that may indicate an issue with you nominating them. You can turn these filters on and off and narrow down which validators you should nominate.

It is important to note that none of these traits are necessarily “bad”; however, depending on your validator selection methodology, they may be characteristics that you would be interested in filtering out:

  • Single from operator — Do not show groups of validators run by a single operator
  • No 20%+ comm — Do not show any validators with a commission of 20% or higher
  • No at capacity — Do not show any validators who are currently operating at capacity (i.e., could potentially be oversubscribed)
  • Recent pay-outs — Only show validators that have recently caused a pay-out to be issued. Note that anyone can cause a pay-out to occur; it does not have to be the operator of a validator
  • Only elected — Only show validators that are currently in the active set (i.e., they have been elected to produce blocks this era)
  • Only with an identity — Only show validators that have set an identity. Note that this identity does not have to be verified by a registrar for the validator to show up in the list

Review Your Validator’s History

How the validator acted in the past may be a good indicator of how they will act in future. An example of problematic behaviour would be if a validator is regularly offline, and their nominators would get fewer rewards than others, most likely. More importantly, when many validators are unreachable, those nominators who staked with them will be slashed:

Thus, to be a smart nominator, it would be better to query their histories to see statistics such as blocks produced, rewards and slashes, and identity (if they have it set). Moreover, a nominator should do comprehensive research on their validator candidates — they should go over the validators’ websites to see who they are, what kind of infrastructure setup they are using, reputation, the vision behind the validator, and more.

Risks of Single Operators with Multiple Validators

Remember that slashing is an additive function; the more validators are offline or equivocate in any given session, the harsher the penalties. Since validators that are controlled by a single entity are more at risk of a “synchronized” failure, nominating them implies a greater risk of having a large slash of your nominated funds.

Generally, it is safer to nominate validators whose behaviour is independent from others in as many ways as possible (e.g., different hardware, geographic location, owner, etc.)

Avoiding Oversubscribed Validators

If you are not nominating with a large number of Reef tokens, you should try to avoid oversubscribed validators.

It is not always easy to calculate if the selected validator will be oversubscribed in the next session; one way to avoid choosing potentially oversubscribed validators is to filter out those that are at capacity on the Targets page.

Finally, if you have a very small amount of Reef tokens, you may not be able to have your nomination fit into the election set. The nominator-to-validator mapping has to fit in a single block, and if there are too many nominators, the lowest-staked nominations will be dropped. This value is, obviously, dynamic and will vary over time.

If you review the lowest number of nominations that are occurring on current validators, you can get a good idea of how many Reef tokens will likely be necessary to have your nomination earn you rewards.

Thank you to Salvatore for assembling all the documentation and supporting material shared here.

Join our social channels:

--

--

Derek E. Silva
Reef
Editor for

Community & developer relations professional.