In this step-by-step guide, we will walk you through the process of how you can stake your $SOL token on the Solana blockchain using the Solflare wallet and a keystore file.
We structured this guide into four parts:
- Accessing your wallet
- Creating a Stake Account
- Delegating your stake
- Managing your Staking Operations
A keystore file holds an encrypted version of your private key. The password you choose when creating the keystore file is used to encrypt your private key. This is why you should choose a very strong password when setting it up. Whenever you perform actions on your account, you need to provide the keystore file along with your password.
We highly recommend using Solflare in conjunction with a Ledger Nano S since it is a safer method to interact with the Solana blockchain. In case you do own a Ledger hardware wallet, you can find our step-by-step guide on how to use Solflare with a Ledger device here.
Solflare is a non-custodial wallet created by Dokia Capital, a fellow validator on the Solana network. It was the first wallet that enabled token-holders to send, receive, and stake $SOL without having to touch a single line of code.
In case you want to find out more about how staking works in Solana, check out our short explainer video or visit the Solana docs, and make sure to read the official Staking & Inflation FAQs. We also created a video tutorial about how you can stake your SOL with Solflare and a keystore file, which you can find here in case you prefer video over text.
Part 1: Accessing your wallet
Head over to Solflare.com and either click “Create” in the top menu bar or “Create a Wallet” in the hero section. Carefully read the info-text, then choose “Using Keystore File” and click “Next”.
Make sure to choose a very strong password that you share with no one. In case you want to store your password for safekeeping, do not save it on your computer.
Check the box next to “Get a Raw Private Key” to save another file in addition to your keystore file. You can use the “Raw Private Key” file to manage the same account with the Command-Line-Interface (CLI) in case you lose your password or keystore file. Afterward, click “Next”.
Save both files and check the box at the bottom, then click “Next”.
Upload your keystore file to ensure you have access to it. Hit “Finish” to finalize the process.
From now on, you can access your wallet by providing your keystore file together with your password.
You are now in the main menu of Solflare in which you find key information about your Wallet Account such as your wallet account address, your balance, or your most recent transactions.
Now you need to fund your Wallet Account to perform any actions such as staking. Send over some funds from the exchange on which you bought your SOL to your account address, which you find in the top left corner of the main menu.
Part 2: Creating a Stake Account
After you successfully funded your Wallet Account, it is time to create a Stake Account. Now it is important to note that you as a token-holder have the power to increase the overall security and hence the overall value of the network through enhancing decentralization by delegating to more than one validator. For you to do this successfully, you need to create more than one Stake Account. Split the funds in your Wallet Account across your different Stake Accounts, but make sure to leave some $SOL in your Wallet Account in order to pay for transaction fees. Since these are very low in Solana, leaving ~ 1 SOL in your Wallet Account should be more than enough.
Visit the “Staking” tab in the top menu and click “Create Account”. Choose the amount you want to transfer from your Wallet Account to your Stake Account in the pop-up menu and click “Next”. Type in your password and hit “Submit”. Repeat this process for every Stake Account you want to create.
You will find all of your Stake Accounts displayed in Solflare and are now ready to stake!
Part 3: Delegating your Stake
In the “Staking” tab (top menu) on Solflare, click “Delegate Now” next to the respective Stake Account, select the validator of your choice in the drop-down menu and then click “Next”. Enter your password and click “Submit”.
Repeat this process for every one of your Stake Accounts — just make sure to delegate to a different validator each time. Besides Staking Facilities, we can recommend delegating to Dokia Capital, Certus One, Stake.Fish, Chorus One, Forbole, Chainflow, or Melea Staking-Pool. To foster decentralization and ultimately the security and value of the Solana network, best choose validators outside the ‘Halt Power’. The ‘Halt Power’ is indicated by a bar on Solanabeach that states: ‘CUMULATIVE STAKE ABOVE CAN HALT THE NETWORK- IMPROVE DECENTRALIZATION AND DELEGATE TO VALIDATORS BELOW’.
…and this is it! You are now a delegator on the Solana blockchain, congratulations! Please note that your delegated SOL will start earning rewards once the Warmup Period has concluded (~2–3 days). Until this is the case, you will see your Stake Account as “activating”.
You can find your Stake Accounts with the validators they are delegating to under the “Staking” tab on Solflare. You can always access your Wallet Account and the corresponding Stake Accounts by clicking “Access” on the Solflare homepage.
Part 4: Managing your Staking Operations
Solana Staking Rewards
Ever since Inflation was activated on Solanas’ Mainnet Beta in February 2021, delegators earn rewards for staking. Staking rewards automatically accrue on your Stake Account at the beginning of each subsequent epoch and are automatically re-delegated.
To check on your staking rewards, visit the ‘Staking’ menu and click on your Stake Account. In the pop-up window, choose the ‘Rewards’ tab to see your rewards per epoch.
How to delegate more SOL
In case you want to increase the amount of SOL that you are delegating to a specific validator, it is recommended to create another, separate Stake Account and delegate it to the respective validator. To do so, simply repeat the steps described in parts 3 & 4 of this guide.
If you send SOL to a Stake Account that is already delegated, the new funds are not automatically delegated! You would need to first undelegate the Stake Account and then delegate again in order to have the new funds delegated as well. Please note that doing it this way means that you will not earn any rewards during the Cooldown or Warmup Period respectively.
How to stop delegating or reduce the delegated amount
If you want to undelegate the whole amount, simply click “undelegate” next to the Stake Account that you want to stop delegating. Confirm this in the subsequent window.
In case you want to undelegate only a part of your funds, you first need to “split” the Stake Account that you want to partially undelegate. To do so, click on the respective Stake Account and choose “split” in the subsequent pop-up. Choose the amount you wish to undelegate, then click “Next” and confirm the transaction.
You will now find another Stake Account that is delegated to the same validator and that holds the amount you want to undelegate. To finish the undelegation process, click “undelegate” next to the account you just created. Confirm this in the subsequent window.
Once the Cooldown Period has concluded (~2–3 days), you can withdraw the undelegated funds from your Stake Account to your Wallet Account. Click on the respective account and click “withdraw” in the subsequent pop-up window, then choose the amount you wish to withdraw.
During the Cooldown Period, you will see your Stake Accounts’ status as “deactivating”. It can take a few minutes until the process is successfully displayed within the SolFlare UI.
What is the Warmup and Cooldown Period in Solana?
The Warmup and Cooldown period respectively, refer to the state of your Stake Account.
The Warmup Period describes the time between the moment you issue the delegation transaction and the moment that your Stake Account is fully delegated and starts to earn rewards. In between, your Stake Account is considered to be “activating”.
The Cooldown Period describes the time between the moment you issue the undelegation transaction and the moment that your Stake Account is fully undelegated. In between, your Stake Account is considered to be “deactivating”, does not earn rewards anymore, and is illiquid.
A change to the state of your Stake Account is only considered by the protocol at the beginning of an epoch. Hence, if you change the state of your Stake Account, you would have to wait until the new epoch for the change to come into effect. Since an epoch lasts ~2–3 days, you have to wait for the remaining time of the current epoch for your state changes to become effective — the exact duration of your waiting time depends on when you initiated the changes to the state of your Account.
There is a certain threshold of 25% of the total stake across the whole network that can change state in one epoch. In case this threshold is exceeded, you would have to wait for an additional epoch until the exceeding portion of your stake has successfully changed state.
Useful Information & Links
Warm-Up period (time until your stake starts earning rewards): ~2 days
Cool-down period (time for your stake to become liquid after you stopped staking): ~ 2 days
Staking Facilities validator identity: Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM
Staking Facilities Vote Account: DumiCKHVqoCQKD8roLApzR5Fit8qGV5fVQsJV9sTZk4a
Staking Facilities Website: https://stakingfacilities.com/
Solana Network Explorer: https://solanabeach.io/#/
Solana Telegram Group: https://t.me/solana
Solflare Telegram Group: https://t.me/SolFlare_Wallet
Solflare Twitter: @solflare_wallet