SolstackBlog
← All guides

Staking

How to Unstake SOL and How Long It Takes

Why unstaking is a two-step, two-epoch process rather than instant, what determines the actual wait time, and how to plan around it.

2026-10-04·5 min read·Verified against mainnet-beta
How to Unstake SOL and How Long It Takes

Staked SOL isn't locked for a fixed term like a deposit, and you can't get it back instantly either. Unstaking follows a process the protocol defines, with a wait you can predict roughly but can't skip. This post explains how long it takes and why.

Two steps

Unstaking takes two separate actions. Deactivate schedules your stake to stop being delegated. Withdraw moves the SOL back into your spendable balance. They're separate because deactivation only takes effect at an epoch boundary (the same as activation, see how staking works), and you can only withdraw stake once it has finished deactivating.

Why it can't be instant

Solana's consensus needs each validator's stake weight to be fixed and known for the whole epoch. If stake could leave mid-epoch whenever someone asked, the stake behind consensus could change at any moment. So deactivation takes effect at the next epoch boundary. The runtime enforces this, so no transaction, fee or staking app can skip it.

How long you wait

An epoch lasts roughly a day: about 432,000 slots, which has been around 25 to 26 hours since slots came down to about 200 ms in October 2026. The exact length shifts a little with slot timing. If you deactivate:

  • just after a new epoch starts, you wait almost a full epoch before the stake is inactive
  • just before an epoch ends, it can be inactive within minutes or hours

On average the wait between deactivating and withdrawing is about half a day, and at most about a day. You can't know the exact time remaining to the minute, but any wallet or staking tool shows the stake account's state as "activating", "active", "deactivating" or "inactive", so you can see where it is.

Unstaking part of a stake

You don't have to deactivate a whole stake account. Split part of it into a new stake account, then deactivate only that part. The rest keeps earning without interruption. This is useful when you need some SOL now and want to keep the rest of your position staked.

When rewards stop

A deactivating stake still counts for the rest of the current epoch, so it earns that epoch's rewards. It stops earning at the boundary, the same moment it becomes withdrawable. That means the timing within the epoch makes no difference. Wherever in the epoch you deactivate, you get that epoch's rewards and you can withdraw once the next one starts. Deactivate as soon as you know you want the SOL back.

Doing it

  1. In your wallet or staking dashboard, open the list of stake accounts and find the one you want to unstake.
  2. Click Deactivate and sign.
  3. Wait for the account to show Inactive. This happens on its own at the next epoch boundary.
  4. Click Withdraw and sign again. The SOL goes back to your wallet and the stake account closes, which also returns its rent deposit (about 0.0017 SOL) along with the staked amount.