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

Staked SOL isn't locked the way a fixed-term deposit is, but it isn't instantly liquid either — getting it back is a real, protocol-defined process with a predictable but non-instant timeline. Here's exactly what determines how long it takes.

The two steps, and why there are two

Unstaking happens in two separate actions: deactivate, which schedules your stake to stop being delegated, and withdraw, which actually moves the SOL back to your spendable balance. They're separate because deactivation is an epoch-boundary event (like activation, covered in how staking actually works) while withdrawal is only valid once deactivation has actually completed — you can't withdraw stake that the protocol still considers active or activating.

Why it can't be instant

Solana's consensus relies on stake weights being stable and known in advance for each epoch — validators need to know how much stake backs them for that epoch to participate correctly. Letting stake deactivate mid-epoch on demand would mean the total stake backing consensus could shift unpredictably at any moment, which undermines exactly the stability epochs are designed to guarantee. So deactivation, like activation, is scheduled to take effect only at the next epoch boundary — there's no transaction or fee that skips this, because it's enforced by the runtime itself, not by any staking application.

The actual timeline

An epoch on Solana lasts roughly 2–3 days (about 432,000 slots, though actual epoch length varies slightly with network slot timing). If you deactivate:

  • Right after a new epoch starts: you're waiting close to the full epoch length before it's inactive.
  • Right before an epoch ends: it could go inactive within hours.

On average, expect 1–3 days between deactivating and being able to withdraw — there's no way to know the exact remaining time to the minute, but any wallet or staking tool showing your stake account's state will show "activating," "active," "deactivating," or "inactive," which tells you exactly where in the cycle you are.

Partial unstaking

You don't have to deactivate an entire stake account at once. Splitting part of a stake into a new account first, then deactivating just that portion, lets you unstake a fraction while leaving the rest earning rewards uninterrupted. This is useful if you need some liquidity now without giving up your entire position's accrued delegation.

What stops earning, and when

Rewards stop accruing the moment you deactivate — not when withdrawal completes. This matters for timing: there's no benefit to delaying the deactivate step once you've decided to unstake, since the SOL isn't earning anything during the wait either way. Deactivate as soon as you know you want the SOL back, rather than waiting for a "better" moment in the epoch.

Doing it

  1. Open Stake SOL — your active stake accounts are listed with their current state.
  2. Click Deactivate on the account you want to unwind. One signature.
  3. Wait for the account to show Inactive — this happens automatically at the next epoch boundary, no action needed from you.
  4. Click Withdraw. One more signature moves the SOL back to your wallet and closes the stake account, returning its rent deposit (~0.0023 SOL) along with the staked amount.

Full step-by-step is in the unstake docs.