Recover SOL
Find, unstake and withdraw Solana stake accounts
List every native stake account a wallet controls, see which are active, cooling down or sitting inactive, then deactivate or withdraw them from your own wallet.
How it works
- 1
Connect, or paste an address
Connect your wallet, or paste any Solana address for a read-only lookup. SOLTidy queries the Stake program for accounts where that address is the withdraw or stake authority.
- 2
Read the state of each account
Every account shows its balance, validator vote account and state: activating, active, deactivating, inactive or not delegated. The headline is the SOL you could withdraw right now.
- 3
Deactivate active stake
Press Deactivate to start unstaking. It is free. The stake keeps earning until the current epoch ends, and the panel estimates how long that is.
- 4
Withdraw inactive SOL
Select inactive accounts and withdraw. The full balance, rent reserve included, returns to your wallet and the stake account is closed. Several accounts are batched per transaction.
How to find forgotten Solana stake accounts
Staked SOL does not sit in your wallet's balance. When you stake natively, your wallet creates a separate 200-byte account owned by the Stake program, moves the SOL into it and delegates it to a validator. Your wallet address is not where the SOL lives; it is recorded inside that account as the stake authority and the withdraw authority. Many wallets only display stake accounts they created themselves, so stake made years ago, in another app, or with an imported key can drop out of sight entirely.
The chain still knows. SOLTidy asks the Stake program for every account whose withdraw authority, stored at byte 44, or stake authority, stored at byte 12, is the address you give it. That finds stake regardless of which app created it or what the stake account's own address is. Because it is just a read, you can run it on any address without connecting. Inactive accounts are the forgotten SOL: fully unstaked, earning nothing, and withdrawable at once.
How long does unstaking SOL take?
Stake changes state only at epoch boundaries. A Solana epoch is 432,000 slots, which is a little over two days at current slot times. When you deactivate, the stake enters a deactivating state and continues to earn rewards for the rest of the current epoch. When the next epoch begins it becomes inactive and can be withdrawn. So unstaking takes anywhere from a few minutes to about two days, depending on how far into the epoch you are.
The panel reads the live epoch position from the network and shows the estimated time remaining, using roughly 0.4 seconds per slot. Two edge cases are worth knowing. Stake that was delegated and deactivated within the same epoch never became active, so it is withdrawable immediately. And the network limits how much total stake can cool down per epoch, so in rare periods of mass unstaking a very large account may take more than one epoch.
Deactivate vs withdraw: what each stake instruction does
Deactivate is signed by the stake authority and only begins the cooldown. No SOL moves, and you can delegate again later if you change your mind. SOLTidy charges nothing for it. Withdraw is signed by the withdraw authority and moves lamports out of the stake account. SOLTidy always withdraws the entire balance, which includes the rent-exempt reserve of about 0.0023 SOL and any rewards, and an account drained to zero is removed from the chain. That is how you close a stake account on Solana; there is no separate close instruction.
In most wallets both authorities are the same address, but they can differ, for instance when a custodian or a staking service holds the stake authority. The panel shows Deactivate only where your wallet is the stake authority and Withdraw only where it is the withdraw authority, and names the other authority otherwise. Accounts under a lockup that is still in force are marked Locked, because the Stake program rejects withdrawals until the lockup date or epoch passes unless the lockup custodian signs.
Liquid staking tokens are not stake accounts
If you staked through Marinade, Jito, or another liquid staking pool, you hold a token such as mSOL or jitoSOL. That token is an ordinary SPL balance in a token account; the stake accounts behind it belong to the pool, not to you, so they will not appear here. To exit a liquid staking position you either swap the token for SOL on an exchange, which is instant, or use the pool's own delayed unstake, which hands you a stake account at the end of the epoch.
That last case is one of the most common sources of forgotten SOL. A delayed unstake, a stake pool withdrawal, or a split made by a staking dashboard leaves a native stake account, often already inactive, that your wallet's main screen never mentions. Those accounts do show up in this tool, because your wallet is their withdraw authority, and they can be withdrawn like any other.
Questions & answers
How do I unstake SOL with this tool?
Connect the wallet that holds the stake authority, find the active account in the list and press Deactivate. Sign the transaction; the account switches to Deactivating and shows the estimated time until the epoch ends. Come back after that, select the now inactive account and press Withdraw. The whole balance returns to your wallet and the stake account is closed.
How much does it cost to withdraw a stake account?
SOLTidy charges a flat 0.002 SOL for each stake account you withdraw, sent in the same transaction as the withdrawal, so there is never a separate payment. Looking up any address and deactivating stake are free. On top of that you pay the usual Solana network fee of about 0.000005 SOL per transaction. The panel shows the fee and the net SOL you will receive before you sign.
Is it safe? Does SOLTidy ever hold my stake?
No. The tool is non-custodial: it builds standard Stake program instructions in your browser and your wallet signs them. A withdrawal sends the SOL from the stake account straight to your own wallet address, in one transaction you can inspect first. SOLTidy never receives a key, never becomes an authority on your stake account, and the read-only lookup needs no connection at all.
Why does my wallet not show a stake account that appears here?
Wallet apps often list only stake accounts they created, or those at addresses they derive themselves. Stake made in a different wallet app, through a command line, by a staking dashboard, or left over from a liquid staking delayed unstake uses other addresses. This tool searches by authority instead, so it finds every account your key controls wherever it came from.
Can I cancel a deactivation?
Yes. A deactivating or inactive stake account can be delegated again to the same or another validator with any staking interface; SOLTidy does not offer delegation itself. Re-delegated stake needs the following epoch boundary to become active again. A withdrawal cannot be undone, but nothing is lost: the SOL is in your wallet and you can create a new stake account whenever you like.
Do I lose staking rewards when I deactivate?
You keep everything already earned; rewards are paid into the stake account itself and come out with the withdrawal. Deactivating stake still earns for the remainder of the current epoch. After it turns inactive it earns nothing, which is why inactive stake left for months is simply idle SOL that is better withdrawn or staked again.
Why can I not withdraw an account that is listed?
There are three usual reasons. The stake is still active or deactivating, so it must finish cooling down at the end of the epoch first. Your wallet is only the stake authority for that account and a different address holds the withdraw authority. Or the account has a lockup that has not expired, which is common for vesting and foundation grants. The row states which one applies.
Does this work for mSOL, jitoSOL or other liquid staking tokens?
No. Those are SPL tokens that represent a share of a stake pool, not stake accounts owned by you, so they do not appear in this list. Swap them on an exchange or unstake through the pool's site. If you used a pool's delayed unstake, the resulting native stake account will appear here once it has been created.
Is there a fee?
Looking up and deactivating stake accounts is free; withdrawing costs a flat 0.002 SOL per stake account withdrawn, paid inside the same transaction as the withdrawal.
Guides that go deeper
Built and maintained by Jacob, a Solana trader who uses these tools daily. Content reviewed . Every transaction is built in your browser and signed in your own wallet — see the terms for fees.