Skip to content
SOLTidy

How to reclaim SOL rent from trading bot wallets

Trading bot wallets on Solana collect a token account per coin, each holding 0.0015 to 0.002 SOL. How to export the bot wallet safely and close the accounts.

Cover image for How to reclaim SOL rent from trading bot wallets
By Updated 8 min read 1773 words

Key takeaways

  • Solana trading bot wallets accumulate empty token accounts quickly, because every new coin a bot buys opens a token account holding 0.00148844 SOL of rent, or 0.00203928 SOL if opened before Solana lowered rent.
  • Closing a token account on Solana needs the owner's signature, so reclaiming rent from a trading bot wallet usually means exporting its private key or seed phrase into a regular wallet first.
  • At the time of writing, Trojan's documentation lets users export a wallet's private key from Settings, Wallets, and BONKbot's documentation tells users to export the seed phrase into Phantom or Solflare.
  • Photon's documentation states that a Photon trading wallet's private key is shown only once, when the wallet is created, so a key not saved then cannot be exported later.
  • A private key exported from a trading bot should only ever be pasted into a wallet app's own import screen; no legitimate rent reclaim site asks for a private key.

The short answer

Trading bots buy coins from a wallet they generate for you, and every new coin opens a token account holding 0.00148844 SOL, or 0.00203928 SOL if it was opened before Solana lowered rent. Selling empties the account but does not close it. To get the rent back, export the bot wallet's private key or seed phrase from the bot, import it into a wallet app you control, and close the empty accounts there. A bot wallet with 100 empty accounts holds roughly 0.15 to 0.2 SOL.

Why do trading bot wallets pile up so many token accounts?

Bot wallets pile up token accounts because bots make it effortless to buy many different coins, and each coin needs its own account. A Solana wallet holds each token in a separate token account at an address derived from the wallet and the token's mint. The first purchase of a coin creates that account and funds it with the rent deposit; selling sets the balance to zero and leaves the account in place. Nothing closes it automatically.

Telegram bots such as BONKbot and Trojan, and web terminals such as Photon, Axiom and BullX, are built for speed: snipe a launch, take profit, move on. That style touches dozens of new mints a week. The background on where these deposits come from is in the hidden cost of everyday Solana activity; the short version for bot traders is this list:

  • One token account per coin bought. The main source, and the bulk of the SOL.
  • Dust left after selling. A "sell 100%" can leave a fraction of a token behind, which keeps the account from being closed.
  • pump.fun and PumpSwap volume accumulators. If the bot traded on pump.fun or PumpSwap, each program opened a 137-byte account for the wallet holding 0.0013462 SOL. Reclaiming SOL after pump.fun trades covers those in detail. If the bot bought cashback coins, the accumulators may also hold unclaimed cashback, which should be claimed before they are closed; pump.fun cashback explained shows where it sits.
  • Dead coins. Tokens whose liquidity vanished cannot be sold, so their accounts hold a balance indefinitely.

Why can't you close the accounts from inside the bot?

Closing a token account requires a signature from the account's owner, and the owner is the bot wallet, whose key the bot manages for you. So the question is whether the bot offers a cleanup feature of its own. I could not find one in the official guides I checked at the time of writing, and BONKbot's documentation, in its guide to burning tokens, tells users to export the seed phrase and import it into Phantom or Solflare. If your bot does have a close or cleanup button, use it and skip the export entirely.

Otherwise the route is the same for every bot: get the key out, put it in a normal wallet, and close from there.

How do you export a trading bot wallet's key?

Each bot handles key export differently, and some only show the key once. Here is what the official documentation says at the time of writing, in October 2026; menus change, so check the bot's current docs before you start.

Bot or terminalWhat its official documentation says about exporting
TrojanIn the bot, /start, then Settings, then Wallets. Select the wallet, choose Export Private Keys, then Show Private Keys, and enter your secure action password if you set one.
BONKbotIts docs tell users to export the seed phrase from BONKbot and import it into Phantom or Solflare. Key exports can be protected by BONKbot's 2FA.
PhotonThe trading wallet's private key is revealed only once, when the wallet is created. If you did not save it then, the docs offer no way to retrieve it later.
Axiom, BullX and othersI could not verify the export steps in official documentation, so I am not reproducing third-party guides here. Look for an export option under the wallet or security settings, and use the bot's official docs or support channel to confirm.

Two things are common to all of them. The export gives you either a private key, usually a long base58 string, or a 12 or 24 word seed phrase. And whatever the bot does to protect the key ends the moment it is on your screen.

How do you import the bot wallet safely?

Import the key only into a wallet app's own import screen, on a device you trust, and nowhere else. The steps:

  1. Export on a clean device. Close screen-sharing, streaming and remote-desktop apps first. Do not take a screenshot of the key.
  2. Import it into a wallet app. Phantom's help center documents an Import Private Key option in both the extension and the mobile app, and Solflare documents importing any Solana wallet by private key. Both also restore wallets from a recovery phrase. Paste the key directly into that screen.
  3. Check the address. The imported account's address must match the bot wallet's address character for character. If it does not, you imported the wrong key or the wrong derivation path for a seed phrase.
  4. Clear the clipboard. Copy something harmless afterwards, so the key is not sitting in clipboard history.
  5. Do not store the key in notes, email or cloud drives. The bot wallet should hold working capital only, and the key now lives in two apps already.

Importing does not remove the key from the bot. Both the bot and your wallet app can now sign for the same address, which is fine for cleanup.

Never paste a private key or seed phrase into a website, including a site that offers to reclaim rent for you. A closing tool only needs your wallet to sign transactions; a site asking for the key itself is a drainer, whatever it calls itself. The wider habits are in the Solana wallet security checklist.

How do you close the empty accounts once the wallet is imported?

With the bot wallet in Phantom, Solflare or any other Solana wallet, you close accounts the same way as for any wallet. There are three realistic options.

  1. The wallet's own menu. Some wallets offer a close option per token, free beyond the network fee. Practical for a handful of accounts; bot wallets rarely have only a handful, and empty tokens are usually hidden from the list.
  2. The spl-token CLI. spl-token gc --close-empty-associated-accounts closes empty associated accounts for network fees only, but it needs the key in a keypair file, which means writing the exported key to disk. With a bot key I would rather not; if you are comfortable with it, the commands are in how to close Solana token accounts with the spl-token CLI.
  3. A batch closer. Connect the imported wallet to the SOLTidy Token Account Closer. One scan covers both SPL Token and Token-2022 accounts, empty accounts are selected for you, and up to 12 items go into each transaction. Every batch is simulated before you sign, and any account that changed since the scan is dropped from it.

For the closer, the order I use on a bot wallet:

  1. Connect the imported account and let the scan finish.
  2. Review the preselected empty accounts. Untick any coin you plan to buy again soon through the bot, since reopening costs a new deposit.
  3. Look at accounts with a balance. Dust with a market goes through Sell Dust for SOL, which swaps it via Jupiter and closes the account in the same transaction. Worthless balances can be burned and closed, which is permanent, so check the value first.
  4. Check the two options under the summary on the Reclaim tab. They cover excess rent on older accounts you keep and pump.fun or PumpSwap accumulators; untick the accumulators if the bot still trades on pump.fun, because the next trade recreates them.
  5. Sign each batch and confirm the SOL arrived in the bot wallet's balance.

The closer charges 5% of the rent actually recovered, taken inside each transaction, and nothing for a transaction that recovers nothing. It requests no token approvals, and accounts it cannot close, such as frozen ones, are not offered at all. If one still refuses to close, why a Solana token account won't close goes through the errors one by one.

What can you recover from a bot wallet, and what is gone?

You can recover rent deposits; you cannot recover anything the bot or the market already spent. The table is arithmetic at current and old rent rates, not data from any particular wallet.

SourcePer item50 items200 items
Empty SPL token account, opened recently0.00148844 SOL0.0744 SOL0.2977 SOL
Empty SPL token account, opened before the rent change0.00203928 SOL0.1020 SOL0.4079 SOL
Excess rent on an older account you keep0.00055084 SOL0.0275 SOL0.1102 SOL
pump.fun or PumpSwap volume accumulator0.0013462 SOLat most 2 per walletat most 2 per wallet

For scale: in SOLTidy's own data from 67 wallet cleanups, the median wallet closed 2 accounts and the largest closed 178. A bot wallet that buys a new coin every day reaches the upper end within months.

Gone for good: the bot's own trading fee, priority fees and tips, DEX and launchpad fees, and trading losses. How much SOL you can recover from token accounts has the full estimate method, including network fees.

What should you do with the bot wallet afterwards?

Decide whether you will keep using it. If you are done with the bot, close the empty token accounts first, then send the entire SOL balance to your main wallet; transferring SOL alone would leave the rent deposits stranded in the token accounts. If you keep trading through the bot, repeat the cleanup every month or two and leave open the accounts for coins you trade repeatedly.

Either way, a few checks are worth the minute they take:

  • Run a free delegate scan with Revoke Delegations; bot wallets touch many programs.
  • Remove the imported account from your wallet app if you no longer need it there, so the key lives in one fewer place.
  • If you are unsure what a past bot transaction did, paste its signature into the Transaction Decoder.

Bottom line

A trading bot wallet usually holds one empty token account for every coin it ever bought, each worth 0.00148844 or 0.00203928 SOL, and the bot will not close them for you. Export the key using the bot's own documented option, import it only into a wallet app, then close the empty accounts with the wallet, the CLI or a batch closer. I built SOLTidy's wallet cleanup for the batch case, because bot wallets are where my own empty accounts piled up fastest. Whatever route you choose, the private key never belongs in a website.

Questions & answers

Can I close token accounts in a trading bot wallet without exporting the key?

Only if the bot itself offers a close or cleanup option, because closing a Solana token account must be signed by the account's owner, and the bot holds that key. Without such an option, you export the wallet's private key or seed phrase, import it into a regular wallet such as Phantom or Solflare, and close the accounts from there. Check the bot's own menus and documentation before exporting.

How much SOL is locked in a typical trading bot wallet?

It depends on how many different coins the wallet has bought, not on volume. Each coin leaves one token account holding 0.00148844 SOL, or 0.00203928 SOL if it was opened before Solana lowered rent. A bot wallet that bought 100 different coins and sold them all has about 0.149 to 0.204 SOL in empty token accounts, plus up to 0.0026924 SOL in pump.fun and PumpSwap volume accumulators if it traded there.

Is it safe to export my trading bot's private key?

It is as safe as where you put it. The export itself is a normal feature of bots such as Trojan and BONKbot, but the key then exists outside the bot's protection, and anyone who sees it can empty the wallet. Paste it only into a wallet app's import screen on a device you trust, never into a website, chat or support form, and do not keep it in screenshots or cloud notes.

Will the bot still work after I import its wallet into Phantom?

Generally yes. Importing a key into Phantom or Solflare does not move it out of the bot; both apps can then sign for the same address. That also means closing an account in Phantom affects the bot's view of the wallet, which is harmless for empty accounts. If you buy the same coin again through the bot, the bot simply opens a new token account and pays the deposit again.

Why does my bot wallet show no tokens but still have SOL locked?

Because bots and wallets usually list tokens you hold, and an empty token account holds no tokens. The account still exists on chain with its rent deposit inside. A block explorer's token accounts view for the bot wallet's address lists every account, including empty ones, and connecting the imported wallet to a closing tool shows the exact SOL each would return.

Should I close the accounts or just move the SOL out of the bot wallet?

Do both if you are done with the wallet. Moving SOL out leaves the rent deposits behind, because each deposit belongs to a token account, not to the wallet's SOL balance. Close the empty accounts first so their rent lands in the bot wallet, then transfer the full SOL balance to your main wallet.