Staking SOL tokens with Solflare mobile app
In this step-by-step guide, we will walk you through the process of how you can create a Solana wallet and then stake your SOL token on the Solana blockchain using the Solflare mobile app.
All the screenshots and values visible in this manual, in particular the accounts balances and mnemonic phrases are example data only, presented to show how the mechanisms work and as such they should not be taken into account in real applications.
1. Creating Solana wallet
Head over to app store/play store search for Solflare app and install it. Run the app and ont he first screen choose “Create a new wallet”.
The next step is MNEMONIC phrase. It is EXTREMELY important! Make sure to safely store the phrase as it is needed to access your wallet as well as to perform any operations on your account.
IMPORTANT! The mnemonic phrase is a critical data safeguarding your account. Copy it and keep it in a safe place, do not share it with anyone. Anyone who gets access to your mnemonic phrase will have full access to your wallet and will be able to withdraw as much as they like. Losing a mnemonic phrase will result in you losing access to your wallet and there is no possibility of mnemonic phrase recovery.
Once you wrote down the mnemonic phrase in the correct order, check “I have saved this in a safe place” and tap “Confirm” button. Then, fill in the blank fields with the corresponding words and once again check “I have saved this in a safe place” and tap “Confirm” button. On the next screen you can add additional layer of security to your account by setting up the passcode. While it is optional, we highly recommend doing so. You will need to enter the passcode to authorize operations on your wallet.
Next screen is the main screen of your wallet. You can find here key information about your Wallet Account such as your wallet account address, your balance, as well as other accounts that are associated with your Wallet Account. To display or share your full wallet address tap copy or qrcode icon located next to the address.
To stake SOL tokens you need to transfer them to your Wallet Account. Send some SOL tokens, e.g. from the exchange on which you bought them. Tap qrcode icon and then “Share” button to send the address or scan qrcode.
2. Creating & delegating your Stake Account
After you successfully funded your Wallet Account, it is time to create a Stake Account. To do so, you can tap stake icon in the bottom of the screen and then “Start Staking” on the next screen.
Next choose the amount you want to stake. The amount chosen will be transferred into your Stake Account. Do not stake all your tokens. Make sure to leave small amount of SOLs in your Wallet Account in order to pay for transaction fees — this is really important!
Then choose a validator from the list. You can also look for specific validators via their name. Once you have chosen a validator, you are presented with some info about them like commission or skipped slots. Tap the arrow next to validator name.
Next screen is transaction confirmation. Check if everything is correct and swipe to confirm. When transaction is confirmed you will see green check mark icon and transaction ID. Tap “Done” to return to the stake accounts list.
You will now find your Stake Accounts listed in the Solflare Staking Menu. Please note that your delegated SOL tokens will start earning rewards once the Warmup Period has concluded. This usually takes one epoch (~2–3 days). Until this is the case, you will see your Stake Account with an “Delegating” status. You can always check the progress of the current epoch on solanabeach.io.
What is important is the fact that you as a token-holder have the means to increase the overall security and therefore the overall value of the network. This can be achieved through enhancing decentralization by delegating your stakes to smaller validators. Should you wish to do it with success, you need to create more than one Stake Account and distribute your funds across these Stake Accounts. Remember to always make sure to leave some SOL tokens in your Wallet Account to pay for transaction fees.
Repeat the above process for every Stake Account you want to create and delegate. Tap the “+ Create new staking account” button in the Staking menu to start the process.
3. Managing stakes
At he beginning of each consecutive epoch the staking rewards are automatically accumulated and re-delegated on your Stake Account. In order to check your staking rewards, go to the „Staking” menu. Click on a Stake Account to see your rewards per epoch.
Delegating more SOL tokens
If you wish to increase the amount of SOL that you are delegating to a specific validator, it is recommended that you create another separate Stake Account which then you delegate to the selected validator. To do so, simply repeat the steps described in part 2 of this guide.
If you send SOL to a Stake Account that is already delegated, please note that the new funds are not automatically delegated. First you would need to undelegate the Stake Account, next delegate again in order to have the new funds delegated too. It is worth remembering that during the Cooldown or Warmup Period you will not earn any rewards.
Decreasing delegated amount or stopping delegation
If you want to undelegate the whole account, tap staking icon in the bottom of the screen and select account you want to undelegate. On the “Details” tab tap three dots icon in right bottom corner of the screen and select “Undelegate”. On the next screen check if everything is correct and swipe to confirm. Wait few seconds and hit “Done” button when transaction is confirmed.
Once the „undelegated” process has started, the respective Stake Account will have a new status assigned, namely „Undelegating”. For the time when your account is deactivating, your funds are illiquid. This is considered the Cool Down Period.
Once the Cooldown Period has concluded (~2–3 days), the status of your Stake Account will change to “Undelegated”. You can then withdraw the undelegated funds from your Stake Account to your Wallet Account. To do so, simply click on the respective Stake Account and hit “Withdraw”. In the next window, you can choose the amount of SOL tokens you wish to withdraw..
If you wish to undelegate only part of your delegated SOL tokens, then first you need to split your Stake Account. Splitting your stake account will create another separate Stake Account that is delegated to the same validator as the Stake Account that it was split from.
On the stake screen select stake account you want to decrease, head to the “Details” tab and hit “Split” button. On the next screens enter amount of SOL tokens you want to split and confirm transaction.
You will now find a new, separate Stake Account that is delegated to the same validator as the Stake Account that it was split from. You can now undelegate the whole Stake Account by following the steps described in the previous paragraphs.
Warmup and Cooldown Periods
The Warmup and Cooldown period 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. Between these two phases, 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. Between these two points, your Stake Account is treated as „deactivating”, it does not earn rewards anymore and the funds are illiquid.
A change to the state of your Stake Account is only considered by the protocol at the beginning of an epoch. This means, that if you change the status of your Stake Account, you will have to wait until the new epoch starts for the change to come into effect. Since an epoch lasts ~2–3 days, you have to wait for the current epoch remaining time to pass in order for your changes to become effective – the exact duration of the remaining time depends on when you commenced 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.