Bidding & Staking

Before your Validator is considered for the active set, you must stake the necessary amount of tFLIP.
The Staking Web App currently supports MetaMask Wallets only.

Staking via the Validator Dashboard

To become an active validator, you'll need to win an Auction. To win an auction, you'll need to stake some tFLIP. For more information about Auctions and how they are supposed to work, you can check out this article: Chainflip Validator Auction Theory. In order to stake your $tFLIP, you can use the Validator Dashboard. You could also interact with the Smart Contract directly, but since that's ugly we'll use the Dashboard for the purposes of this tutorial.
Once you have successfully stake, jump back to your terminal and run the following.
sudo systemctl restart chainflip-engine
  1. 1.
    Make sure you have tFLIP in your Metamask. The contract address is 0x8e71CEe1679bceFE1D426C7f23EAdE9d68e62650
  2. 2.
    Go to Perseverance Staking App -> "My Nodes"
  3. 3.
    Connect your Metamask wallet with the tFLIP
  4. 4.
    Click the button "+ Add Node" -> You should see the "Register new node" modal
  5. 5.
    Enter the Validator ID you got during Generating Keys step — your Public Key(SS58)— and the amount of tFLIP you want to stake. Click on "Stake"
  6. 6.
    Metamask will ask you to sign two transactions. The first one is a token approval and the second one transfers and stakes your tFLIP
  7. 7.
    Congrats! You should see the new node on "My Nodes" page
You have not finished all the steps! Please continue to the bottom of your page otherwise your node will show as Offline

Registering Validator Keys

Once your node appears on the Staking App, you need to set the keys that your Validator will use to produce blocks. If you don't do this, your Validator cannot be selected to win an Auction. To set the keys, you can use the chainflip-cli.
You must first register the node as a Validator by running the following command:
Before running the commands below, make sure your node is fully synced. Otherwise you might get errors.
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
register-account-role Validator
It may take some time in order to have the account activated as Validator after running the last command.
If everything worked, you should see a transaction hash, also known as an 'extrinsic hash,' displayed on your terminal by the CLI. Congratulations! You just submitted a transaction to the blockchain! You can go and check on it by copying the extrinsic hash and pasting it into https://blocks-perseverance.chainflip.io/.
Then, activate your account in order for it to be included in the next Auction. The following command will submit the activation:
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
activate
Finally, you have to rotate your Validator keys by running:
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml rotate
Optionally, you can set a Vanity Name for your validator by running:
You can really help us by setting your Vanity Name as your Discord username. It helps us know who to contact if we find a problem.
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
vanity-name my-discord-username
Once the Auction cycle is complete, the network will attempt to include your node in the next Key generation ceremony, and if successful, you'll be a real validator! Remember you can always add more tFLIP to have a better chance at winning an Auction.