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

Getting tFLIP

Becoming a Chainflip Validator requires you to own some tFLIP and win a Validator slot in an auction cycle. The amount of tFLIP that you need to own in order to participate as a Validator is not fixed and will change on a fairly regular basis. For this reason it is recommended that you have more tFLIP than the current minimum cost of a Validator node if you want to continue staking through multiple epochs.
The current amount of tFLIP required to become an Active Validator can be checked on the Chainflip Auctions page.
tFLIP is an ERC20 token on the Ethereum Goerli Testnet.
To get tFLIP:
  • Go to 🔀 | tflip-marketplace on Discord.
  • Send a message containing your Node Public Key and you wallet address. You should have gotten this ID during the setup process in the Generating Keys section of the docs
  • We will send youtFLIP after verifying you have setup a node.
Remember to import the tFLIP Token using the address above in order for the assets to show up in your wallet. tFLIP Address: 0x8e71CEe1679bceFE1D426C7f23EAdE9d68e62650
For the remainder of this guide, we will assume that you have an adequate amount of tFLIP, but you can proceed with the rest of the steps without tokens until you reach the staking stage.
Finally, you do not need to move the tFLIP to your Validators' Ethereum wallet. You should use your Ethereum wallet connected to Goerli and use that to stake instead.
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.

Staking your Validator Node

In order to stake your $tFLIP, you should use the Staking App. 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.
  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
  8. 8.
    Once you have successfully staked, jump back to your terminal and run the following.
    sudo systemctl restart chainflip-engine
You have not finished all the steps! Please continue to the bottom of your page otherwise your node will show as Offline
Even after you successfully staked, your node could still be in the Offline state. Just wait for your node to sync all the blocks

Registering and setting up your Validator node

Before you start bidding to become an Authority node, you need to tell the network that your account will be used by a node performing the Validator role, and register the cryptographic keys that will be used for consensus.
If you don't follow all of these steps, your Validator cannot be selected to win an Auction.
Please ensure that all connections on ports 30333 and 8078 are not blocked! Some VPS providers enable an all-port firewall by default, but if this is not the case your node will not be able to participate in Keygen / Signing ceremonies.
🚨 As a result of this you node will never become active and you'll be slashed and might lose all your tFLIP.
First, make sure your node is fully synced! Otherwise the cli commands will likely fail.
Register your account for the Validator role by running the following command:
sudo chainflip-cli --config-root /etc/chainflip 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 Chainflip State Chain! You can go and check on it by copying the extrinsic hash and pasting it into https://blocks-perseverance.chainflip.io/.
🐞 Bug Alert 🐞
For the remaining commands, the CLI may incorrectly report success! Please copy and paste the extrinsic hash into the block explorer to ensure it suceeded. If you see an ExtrinsicFailed event, this means you need to try again.
Registration gives your account access to Validator-specific commands on the State Chain. The first of these is rotating and registering your authorship keys:
sudo chainflip-cli --config-root /etc/chainflip rotate
Now your node should be synced, your account be fully registered, your ports open, your Chainflip Engine humming along. Check the logs once more, check your node status in the web app, then crack your knuckles one more time and signal your intent to bid in the next auction:
sudo chainflip-cli --config-root /etc/chainflip start-bidding
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-root /etc/chainflip 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 Authority! Remember you can always add more tFLIP to have a better chance at winning an Auction.