Earn 6.38% APY staking with Solana Compass + help grow Solana's ecosystem

Stake natively or with our LST compassSOL to earn a market leading APY

🚨 PSA: You're not earning rewards from all of your stake

Hey staker!
If you're here then you've received one of our NFTs alerting you to your inactive stake. So what does it mean?
Your Account (CZVhCRcTzLy8x55RjNQPRjsoBBppjFyWWMABAAWMK3rY)
Total Account Balance
5,573.1058 SOL
Active Stake
5,566.5934 SOL
Inactive Stake
6.5101 SOL
Potential Missed Rewards (12mo at 6.5%)
0.4232 SOL

Why is part of my stake inactive?

When stakers on Solana want to increase their stake, many will naturally decide to transfer more SOL to their existing stake account

The trouble is, this doesn't actually work. Solana's system requires a period of 'activating' the stake before you can start earning rewards.

This means any SOL added to a stake account via a standard transfer never gets activated, and so never earns any rewards on the additional stake that was transferred in. (The initial stake the account was created with does continue to earn rewards)

Instead, when you want to stake more SOL, you should create a new stake account and delegate it. Once that stake is active, it is possible to 'merge' your stake accounts to keep things tidy.

How can I fix it?

To fix your stake account so you earn rewards on the entire balance, not just the active stake, you must first withdraw the excess stake and then re-delegate it. There are 3 ways you could do this, depending on your familiarity with CLI tools.

1. Easiest, but slowest: Use a wallet like Phantom or Solflare

The absolute simplest way to activate the excess stake is:

  1. Open your wallet
  2. Select the stake account and 'Deactivate' / 'Undelegate' it
  3. Wait for the end of the epoch
  4. Then, once your stake is 'inactive' and ready for withdrawal you can
  5. Delegate it again
  6. At the end of the epoch your entire stake will be active and start earning rewards

Pros: Using this technique you can use the tools you know and trust

Cons: It is slower: You miss out on an epoch (2/3 days) of rewards, and potentially more if you forget to take step 5

2. Use the Solana Compass Staking Dashboard

If you don't want to wait 2 epochs to start earning rewards on all of your stake, you can use the staking dashboard we have built. All you need to do is connect your wallet and follow a couple of simple steps to withdraw and activate your stake.

  1. Visit our staking dashboard and connect your wallet
  2. When your stake accounts load, any stake accounts with inactive stake will be flagged with a
    Missing Rewards
    warning label
  3. On the flagged account, click Actions > Withdraw Stake, then approve the transaction in your wallet. This will withdraw 100% of the inactive stake back to your wallet
  4. Finally, click the 'New Stake' button at the top of stake accounts table. This will allow you to re-delegate the stake you withdrew. You can choose the same validator or an alternative, such as Solana Compass 😅
  5. Confirm the transaction in your wallet, and you will see the new stake account appear in the dashboard with an
    Activating
    label. At the end of the epoch this account will be earning rewards too
  6. Optionally, once the new account is active you can merge it back into the old one, giving you one single account to collect rewards in.

Pros: You can fix the issue in a few clicks, keeping your active stake live.

Cons: You need to trust our app. If it helps, our site and validator has been live since October 2021. Almost 1700 individuals have delegated in excess of 273,000 SOL in stake to us, and our Stake Pools page was supported by the Solana Foundation, for whom we have also undergone KYC.

3. Harder, but efficient: Use the Solana CLI

If you're comfortable with command line tools and already have the Solana CLI installed and configured with your wallet, you can skip the stake cooldown period and keep your existing stake active:

Withdraw the excess SOL from your stake account
  1. First, check your stake account balance, using the command
    solana stake-account YOUR_STAKE_ACCOUNT_KEY
    This should return something like:
    $ solana stake-account 9KJ41B3KtLzSusGrHtfjgw9vEDAR9tHfBe2ihTKo4Pqo
    Balance: 134691.498661336 SOL
    Rent Exempt Reserve: 0.00228288 SOL
    Delegated Stake: 73569.506378456 SOL
    Active Stake: 73569.506378456 SOL
    Stake deactivates starting from epoch: 322
    Delegated Vote Account Address: 4PsiLMyoUQ7QRn1FFiFCvej4hsUTFzfvJnyN4bj1tmSN
    Stake Authority: EMfQV4CNry1HQqf3f8tvSUCXmnkX6zxBepW9CiaE7yEt
    Withdraw Authority: EMfQV4CNry1HQqf3f8tvSUCXmnkX6zxBepW9CiaE7yEt
                                
  2. Then you need to work out how much inactive stake you can withdraw. To do so, subtract your Active Stake and Rent Exempt Reserve from your Balance. This is the maximum you can withdraw, eg:
    max_withdrawal = Balance - Rent Exempt Reserve - Active Stake
    or:
    134691.49 - 0.0228228 - 73569.5064 = 61121.960772

  3. Next, use the withdraw-stake command to withdraw the excess SOL back to your wallet:
    solana withdraw-stake STAKE_ACCOUNT_ADDRESS YOUR_WALLET_ADDRESS MAX_WITHDRAWAL_AMOUNT
  4. Providing your wallet matches the stake account's authorized withdrawer, this will return the extra SOL back to your wallet while keeping the active portion of the account staked and active.
    Note if you get an insufficient funds message you may have miscalculated the max withdrawal - check for rounding errors.
  5. Finally you can now delegate the SOL you have withdrawn to a validator, either using the CLI or a wallet like Phantom. After the current epoch ends your new stake account will be live and earning rewards.

Pros: Using Solana's tools instead of a wallet skips the 'deactivation' period so you don't miss out on rewards

Cons: If you're not familiar with the CLI tools and setup with your wallet then it can be a frustrating experience

Found this useful? Please consider delegating some stake to our validator, Solana Compass.
We're consistently in the top 50 validators by APY, independent, fully decentralized and run a professional operation. Staking with us helps support our guides and tools

I don't like your NFT. How can I remove it from my wallet?

Understood! You can use an NFT burning tool such as Sol Incinerator and you'll never have to look at it again. Plus you'll get the rent fee we paid to send it to you. Bargain! :)