Tools
Wallet Cleaner
Close empty token accounts across many throwaway wallets at once, sell or burn the tokens and NFTs you don't want, and optionally sweep their SOL to one address.
Open Wallet Cleaner ↗Solana Wallet Cleaner overview
Step by step
- Step 1Paste private keysOne per line, as base58 or the JSON byte array that solana-keygen writes. Lines starting with # are ignored. Up to 1,000 wallets.
- Step 2ScanEach wallet's SOL balance, token accounts and empty accounts, plus every token and NFT they hold, listed once with its value.
- Step 3Pick what to sell or burnOptional: tick tokens or NFTs, or select everything under $0.50. On Mainnet a ticked token worth $0.50 or more across the wallets is sold for SOL unless you switch it to Burn. Every wallet holding a ticked token sells or burns it and closes the account.
- Step 4Choose sweepOptionally send each wallet's remaining SOL to one destination.
- Step 5Wallets sign for themselvesEach pasted key signs its own transactions in your browser. Your connected wallet signs at most once, to pay the network fees.
- Step 6ReportPer-wallet status and signatures, exportable as CSV.
When to use it
After a launch, a bot run or a round of testing you're left with wallets that hold nothing useful but still have SOL locked in empty token accounts. Wallet Cleaner closes those accounts in every wallet at once and can send what's left to one address, so the SOL isn't stranded across hundreds of keys. For a single wallet you're connected with, Rent Reclaim is simpler.
What it does to each wallet
- Closes every empty, unfrozen token account and returns the rent (about 0.0015 to 0.002 SOL each) to that wallet.
- Sells the ticked tokens marked for sale through Jupiter Ultra, which also reaches tokens still on a launchpad curve, then closes each emptied account. If a sale fails, the wallet keeps those tokens.
- Burns and closes the other tokens and NFTs you ticked. An NFT goes through Token Metadata, so its metadata and edition rent comes back as well. Staked or listed NFTs can't be burned and are left alone.
- With sweep on, sends the wallet's remaining SOL to your destination, minus the network fee, including what its sales brought in.
- Skips wallets with nothing to do, and wallets that can't pay their network fee when neither your connected wallet nor another pasted wallet pays it for them. The report says why.
Cleaner or Aggregator?
Wallet Cleaner never sends tokens to another wallet: it closes accounts, sells or burns what you tick and, if you ask, moves SOL. To collect tokens from many wallets into one, use the Wallet Aggregator, which can also close the accounts it empties and sweep the SOL.
Your keys
Keys are parsed in memory in this tab, never stored and never sent to Solstack or anywhere else. Each wallet's transactions are signed in your browser and sent to the RPC. Treat pasted wallets as disposable, and only paste keys you control.
Video walkthrough
What it costs
2% of the rent each wallet gets back and 2% of the SOL its sales bring in, which that wallet sends in the same transactions as its closes. Nothing on sweeps. Your connected wallet can pay every network fee with one approval, and what isn't spent comes back. Otherwise each wallet pays its own, the pasted wallet with the most SOL pays for those with none, and a wallet is skipped only if no wallet has SOL to spare.
Troubleshooting
| "No SOL to pay the network fee" | That wallet has empty accounts but no SOL for the fee. Send it a little SOL, or collect it with the Wallet Aggregator, which can pay fees from your connected wallet. |
|---|---|
| A key isn't accepted | Paste the full secret key, either as base58 or as the whole [1,2,…] byte array on one line. |
| "Prices unavailable" | The price lookup didn't come back, so nothing is picked by value. Tick tokens by hand, or scan again. |
| A wallet was skipped | Nothing to close and sweep off, or not enough SOL for the fee. |
FAQ
Is it safe to paste private keys?
Keys are parsed in memory and never stored or sent. Only paste wallets you consider disposable.
What gets closed?
Empty token accounts, plus the tokens and NFTs you tick: each wallet holding one burns it and closes the account.
What does "Select under $0.50" pick?
Every token worth under $0.50 across the wallets, and every token with no price. Never NFTs. If prices fail to load, it's switched off.
Can I sell instead of burning?
Yes, for tokens worth $0.50 or more across the wallets, on Mainnet, including ones still on a launchpad curve. Every wallet holding a ticked one sells it for SOL through Jupiter Ultra and closes the account, before any sweep, so the SOL is swept too. A sale that fails keeps its tokens.
Do I need a connected wallet?
No. Each pasted wallet signs for itself. Connect one to pay every wallet's network fees from it: one approval, and what isn't spent comes back.
What does sweep do?
Sends each wallet's remaining SOL to one address, minus the network fee.
Why was a wallet skipped?
Nothing to close, or no SOL for the fee. Pay fees from your connected wallet, or fund any one pasted wallet: the one with the most SOL pays for those with none.
How many wallets at once?
Up to 1,000.
What does it cost?
2% of the rent each wallet gets back and 2% of the SOL its sales bring in, which it sends in the same transaction as the close. Nothing is taken from sweeps. Plus network fees.