How to burn worthless Solana tokens and reclaim the rent (2026 guide)
How to burn worthless Solana tokens and reclaim the rent (2026 guide)
If you've traded memecoins on Solana, you've hit this: you try to close an empty token account to reclaim its 0.002 SOL rent deposit, and the tool tells you "Account not empty — burn the remaining tokens first". Here's how to burn the worthless dust and reclaim the SOL underneath.
Why this happens
Some rug tokens intentionally airdrop dust into your account after you've sold, specifically to prevent you from closing the account and reclaiming the rent. Others just have dust from rounding in the AMM.
Either way: closeAccount fails if the token balance isn't exactly zero. You need to burn the remaining tokens first.
Method 1: CLI (spl-token burn)
If the token has value: transfer it out first. If it's worthless: burn.
# Get all your token accounts with balances
spl-token accounts --owner <YOUR_WALLET> --output json | jq '.accounts[] | select(.tokenAmount.uiAmount > 0)'
# Burn the dust in one account
spl-token burn <ATA_ADDRESS> <AMOUNT> --owner <YOUR_WALLET>
# Then close it
spl-token close-account --address <ATA_ADDRESS>
If you're not sure of the exact amount (dust can be a weird decimal), use the ALL flag:
spl-token burn <ATA_ADDRESS> $(spl-token balance --address <ATA_ADDRESS>) --owner <YOUR_WALLET>
Or a bash loop across all dust accounts:
spl-token accounts --owner <YOUR_WALLET> --output json \
| jq -r '.accounts[] | select(.tokenAmount.uiAmount > 0 and .tokenAmount.uiAmount < 1) | .address' \
| while read ATA; do
BAL=$(spl-token balance --address $ATA)
spl-token burn $ATA $BAL
spl-token close-account --address $ATA
done
Method 2: Sol Incinerator
Sol Incinerator was originally built for burning worthless tokens (hence the name). Its UX is optimized for this exact case:
- Connect wallet
- Auto-scan shows all your token holdings including dust
- Select the tokens to burn — the tool automatically bundles burn + closeAccount in one transaction
- Sign, done — SOL rent returns to your wallet
Method 3: SolDuster (batched)
SolDuster handles both empty AND dust accounts in the same flow:
- Scan auto-detects both categories
- Empty accounts get closed directly
- Dust accounts get burn + close bundled in one instruction
- All batched into single transactions per wallet
Advantage: multi-wallet flow — if you have dust across 5 sub-wallets, you handle everything in one session.
Which tokens to be careful about
Not everything with a balance is worthless. Before you burn, check:
- Actual USD value: even 0.0001 tokens of BONK is worth watching if BONK is up 10x
- Vesting schedules: some airdrops release over time — burning early gives up future value
- NFT mints: NFTs on Solana are SPL tokens with supply of 1. Do NOT burn NFTs unless you're sure they're worthless
Use Birdeye or Solscan to price-check any token before burning.
The math on burning + closing
- Legacy SPL token account: 0.00203928 SOL rent reclaimed after close
- Token-2022 account (base): same 0.00203928 SOL
- Token-2022 with transfer fee extension: 0.00237456 SOL
Total per account = rent reclaimed − transaction fee. Transaction fee is ~5000 lamports (0.000005 SOL). So net recovery per closed account is about 0.00203428 SOL (0.00203928 − 0.000005), or roughly $0.40 at $200/SOL.
Multiply by the number of dust accounts and it adds up. Users with 200+ dust accounts routinely recover 0.3-0.5 SOL after burning.
What to do about rug tokens that re-airdrop
Some malicious tokens will re-mint dust to your (closed) account, effectively re-opening it. There's nothing you can do about this on-chain — the mint authority can push tokens to any ATA that ever existed.
Best defense: run the recovery + burn tool periodically (once a month is enough), and just accept that some accounts will reopen occasionally.
Related reading
- What is rent on Solana? A plain-English explanation
- How to close a Solana token account (2026 guide)
- Solana rent recovery tools compared
Questions on burning specific tokens? Reach out on X at @SoldusterHQ.