Marinade Unstake Tickets: Claiming Forgotten SOL After Delayed Unstakes
Marinade offers instant unstake (with a fee) or delayed unstake (free, ~2 epochs). Delayed unstake creates a ticket you have to redeem manually. Many users forget.
Marinade is one of the two dominant liquid-staking protocols on Solana. When you unstake mSOL, you get two options: an instant unstake through the liquidity pool with a small fee, or a delayed unstake that redeems at full value after roughly two epochs (about two days).
Delayed unstakes don't send you SOL directly. They create an on-chain "ticket" — a small account holding your claim. After the cooldown, you sign a claim instruction, the ticket burns, and the SOL lands in your wallet.
The instant path costs 0.1% to 0.3% depending on pool depth; the delayed path is free. Users choose delayed to save the fee and then almost immediately forget the ticket exists. Two days later Marinade would happily pay them, but nobody is polling for the epoch to tick over. So the SOL waits.
The forgotten-ticket problem
The claim instruction is manual. Marinade doesn't push the funds. If you initiated a delayed unstake, closed the tab, and never came back, the ticket sits on-chain indefinitely, holding both your claim amount and the ticket's own rent deposit.
We regularly find wallets with three- and six-month-old tickets. In every case the SOL is fully claimable — Marinade doesn't reclaim unredeemed tickets. You just need to sign the claim instruction.
The largest single Marinade recovery we've processed was 18.4 SOL from a ticket that had been sitting for eleven months. The user had unstaked to move liquidity to a lending market during a rate spike, forgot the delayed path required a claim, and never came back to the ticket. That's not a rare pattern — it's just the extreme end of a normal distribution.
How to check
Query the Marinade program for TicketAccountData accounts where the beneficiary is your wallet. Each ticket exposes the claim amount and the epoch at which it becomes redeemable.
- beneficiary — the wallet that can claim
- lamports_amount — the SOL that will be paid out
- created_epoch — becomes claimable one epoch later
The current Solana epoch is roughly two days long. If your ticket's created_epoch is at least two epochs behind the current one, it's ready to claim. Anything more recent needs to wait. Solana's epoch length varies slightly with block times, so in edge cases a ticket may take a few extra hours to become claimable — that's normal.
Claiming
The claim instruction is OrderUnstake → Claim. It transfers the lamports to the beneficiary, closes the ticket account, and refunds the ticket's rent — all atomically. Cost: one signature and a few thousand lamports of network fee.
What about Jito, Blaze, and other LSTs?
Jito's JitoSOL uses a different model: unstakes route through the stake pool's withdraw path and produce a native stake account, not a ticket. The forgotten-SOL failure mode is similar but the recovery is different — you're withdrawing from a stake account rather than claiming a ticket. BlazeStake, Sanctum, and other newer liquid staking tokens each have their own patterns; a complete recovery scan has to know all of them individually.
The one shared pattern across every liquid staking protocol: unstaking is a two-step process, and the second step is where SOL gets forgotten. If you've ever unstaked from any Solana LST, it's worth checking whether the second step ever ran.
Everything in one sweep
Marinade tickets are one of the smaller categories in a typical recovery, but they're often the most-forgotten. Combined with stake-account withdraws, empty-account rent, and stale OpenBook orders, a full-wallet sweep almost always turns up more than users expect. Run the scan, sign once, done.
Run the scan on your own wallet
WalletSweep finds every category above in one pass and closes them in a single signed transaction.
Scan my wallet