What are dust tokens on Solana, and why sell them?
Dust is the small change a wallet collects over time: 0.37 of a token left after a swap, a few cents of an airdrop, the remainder of a position you exited months ago. Each balance is too small to bother swapping by hand, so it stays. On Solana that has a second cost, because every balance sits in its own token account and every token account holds a rent-exempt deposit of roughly 0.0015–0.002 SOL, depending on when it was opened, that you only get back when the account is closed.
Selling dust therefore pays twice. The tokens themselves convert to a little SOL, and once the account is empty it can be closed, which returns the rent deposit. For many dust balances the rent is worth more than the tokens. A wallet with forty forgotten balances is holding roughly 0.06 to 0.08 SOL in deposits alone, depending on how old the accounts are, before counting whatever the tokens fetch.
How the dust to SOL swap works
SOLTidy uses the Jupiter aggregator's public swap API. For each token it requests a quote for your full balance to SOL, then asks Jupiter for the raw swap instructions instead of a finished transaction. It composes its own versioned transaction from them: compute budget, Jupiter's setup and swap instructions, the wrapped SOL unwrap, a CloseAccount instruction for your now-empty token account under the correct token program, and one SOL transfer for the fee. Address lookup tables supplied by Jupiter keep the transaction under Solana's 1232-byte limit.
If a route is too large to fit alongside the close and the fee, the tool asks for a simpler route with fewer accounts, and as a last resort a direct single-pool route. Before your wallet ever opens, the finished transaction is simulated against current chain state. A failing simulation shows up as a message on that token's row, not as a confusing wallet error, and nothing is sent.
Slippage, thin liquidity and tokens with no route
Dust tokens often trade in small pools where a quote can move between the moment you see it and the moment the transaction lands. The slippage setting is the most you are willing to lose to that movement: at 3%, the swap fails on chain rather than deliver less than 97% of the quoted SOL. Nothing is lost when that happens except the network fee. If a sale fails on slippage, retry or move to 5%. The SOLTidy fee is calculated on the guaranteed minimum output, not the optimistic estimate.
Some tokens cannot be sold at all. Dead projects, scam airdrops and NFTs have no liquidity, so Jupiter returns no route. The tool marks these as No route. They still hold a rent deposit, and the way to recover it is to burn the balance and close the account in the Token Account Closer. The same applies to tokens worth less than the network fee of a swap: burning them costs less than selling them.
Token-2022 dust, transfer fees and accounts that will not close
The tool handles both the original SPL Token program and Token-2022, and always closes an account with the program that owns it. Token-2022 adds extensions that matter here. A token with a transfer fee withholds part of every transfer, so the quote you see is already net of it. An account that holds withheld fees from earlier incoming transfers cannot be closed until the issuer harvests them, and a frozen account cannot be sold at all.
SOLTidy deals with this through simulation. It first simulates the swap with the close. If only the close makes it fail, it rebuilds the transaction without the close, simulates again, and sends that: you still get the SOL from the sale, no rent fee is charged, and the row tells you the account was left open. If the swap itself cannot succeed, for example because the account is frozen or the wallet lacks the roughly 0.003 SOL needed temporarily for the wrapped SOL account, the row explains why.
Questions & answers
How much does it cost to sell dust tokens with SOLTidy?
The fee is 5% of the SOL you receive from each swap plus 5% of the SOL reclaimed from the closed token account. It is a plain SOL transfer inside the same transaction as the swap, so there is no separate charge and nothing to pay if a sale fails or a token has no route. You also pay the normal Solana network fee for each transaction, which the tool caps at roughly 0.00006 SOL including the priority fee. The summary box shows the fee and the net amount before you sign.
Is it safe to sell dust tokens here? Do you hold my tokens?
No funds ever leave your control. The transaction is built in your browser, simulated, and signed in your own wallet; this tool never asks for a private key and never takes custody or a token approval. The swap runs through Jupiter's on-chain program with a minimum output enforced by the program itself, and the SOL lands directly in your wallet in the same transaction. You can read every instruction in your wallet's confirmation screen before approving.
Why is each token a separate transaction?
A Jupiter swap route touches many accounts, often thirty or more, and a Solana transaction is limited to 1232 bytes. One swap plus the account close and the fee transfer fills most of that, even with address lookup tables. Keeping one token per transaction also means one illiquid token that fails on slippage cannot block the others. Sell all selected simply runs the transactions in order and shows progress.
Can I undo a dust sale?
No. A swap is final once the transaction confirms, like any trade on a decentralised exchange. You can buy the token again later, and your wallet will open a fresh token account for it automatically, but you will pay the rent deposit and the market price at that time. Closing the empty account itself is harmless and fully repeatable.
Why are some of my tokens hidden from the list?
By default the list leaves out tokens whose swap value is lower than the network fee of selling them, and tokens with no route. Selling those would cost more than it returns. Turn on Show all to see every balance with its status. For the hidden ones, burning and closing in the Token Account Closer is the cheaper way to get the rent back.