How to burn worthless Solana tokens and reclaim the rent (2026 guide)

Published 2026-09-28 · 5 min read

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:

  1. Connect wallet
  2. Auto-scan shows all your token holdings including dust
  3. Select the tokens to burn — the tool automatically bundles burn + closeAccount in one transaction
  4. Sign, done — SOL rent returns to your wallet

Method 3: SolDuster (batched)

SolDuster handles both empty AND dust accounts in the same flow:

  1. Scan auto-detects both categories
  2. Empty accounts get closed directly
  3. Dust accounts get burn + close bundled in one instruction
  4. 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:

Use Birdeye or Solscan to price-check any token before burning.

The math on burning + closing

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.


Questions on burning specific tokens? Reach out on X at @SoldusterHQ.


Scan your wallet on solduster.com →