DEV Community

Cover image for How I Recovered 1.8 SOL from Empty Solana Accounts (You Probably Can Too)
JUMPBIT
JUMPBIT

Posted on

How I Recovered 1.8 SOL from Empty Solana Accounts (You Probably Can Too)

TL;DR

If you've been trading on Solana for a few months, you probably have 0.5-2 SOL sitting in empty token accounts. Here's how I recovered 1.8 SOL in under 3 minutes.


The Problem: Hidden SOL in Empty Accounts

Every time you receive a new SPL token on Solana, the blockchain creates a token account with a rent deposit of 0.00203928 SOL (~$0.20).

After you sell or transfer those tokens, the account stays empty... but your SOL remains locked.

My situation:

  • 50 airdrop farming wallets
  • 6 months of active trading
  • Result: 897 empty token accounts = 1.83 SOL locked πŸ’Έ

How Solana Rent Works (Quick Primer)

Solana uses rent to prevent blockchain bloat. When you create an account, you deposit SOL based on the account's data size.

// Typical token account rent
const RENT_EXEMPT_MINIMUM = 0.00203928; // SOL

// For 100 empty accounts
const totalLocked = 100 * RENT_EXEMPT_MINIMUM;
// = 0.203928 SOL (~$30 at $150/SOL)
Enter fullscreen mode Exit fullscreen mode

If the account maintains this balance, it's rent-exempt and exists forever.

The catch: Even when you empty the account (0 tokens), the rent stays locked.


Solution: Close Empty Accounts & Reclaim Rent

Solana's protocol lets you close empty accounts and recover the full rent deposit.

Option 1: Manual (CLI) - Not Recommended

# List token accounts
spl-token accounts

# Close account manually (one at a time 😫)
spl-token close <TOKEN_ACCOUNT_ADDRESS>

# For 100 accounts = 100 commands = hours of work
Enter fullscreen mode Exit fullscreen mode

Verdict: Painful. Don't do this.


Option 2: Wallet Cleaner Tool - Recommended βœ…

I used Jumpbit Wallet Cleaner because:

  • Bulk operations (close 100+ accounts in seconds)
  • Multi-wallet support (perfect for airdrop farming)
  • Fee payer support (pay all fees from one account)
  • Auto-burn spam tokens (with safety confirmation)

Step-by-Step: How I Recovered 1.8 SOL

For Single Wallet (Quick Cleanup)

Time: 60 seconds

  1. Connect wallet (Phantom/Solflare)
  2. Scan for empty accounts
  3. Review the list (mark any protected assets)
  4. Execute bulk close

Result: Recovered 0.24 SOL from 118 empty accounts in my main wallet.


For Multiple Wallets (Airdrop Farmers)

Time: 3 minutes for 50 wallets

  1. Import private keys (one per line, 100% client-side)
  2. Set fee payer account (pays all network fees)
  3. Scan all wallets (took ~90 seconds for 50 wallets)
  4. Review assets
    • 897 empty accounts found
    • Potential recovery: 1.83 SOL
  5. Mark protected assets (tokens I'm still holding)
  6. Confirm & execute
    • Auto-burn spam tokens (with disclaimer modal)
    • Close empty accounts
    • All fees paid from fee payer

Result: Recovered 1.83 SOL in 2 minutes 47 seconds.


What I Learned

1. Network Fees Are Negligible

Close 897 accounts
Network fees: 0.0045 SOL (paid by fee payer)
Recovered: 1.83 SOL
Net gain: 1.8255 SOL

ROI: 40,466% 🀯
Enter fullscreen mode Exit fullscreen mode

2. Fee Payer Support Is a Game-Changer

Old way:

  • Fund all 50 wallets with 0.001 SOL each
  • 50 transfers = 0.05 SOL upfront + time

New way:

  • One fee payer account pays all fees
  • No need to fund individual wallets
  • Faster & cleaner

3. Auto-Burn Spam Tokens = Free SOL

Scammers airdrop spam tokens to millions of wallets. They pay the rent deposit.

When you burn these spam tokens, you reclaim the rent they paid!

Example:

  • 37 spam token accounts in my wallets
  • Scammers paid: 0.075 SOL in rent
  • I burned them and recovered: 0.075 SOL
  • Free SOL from spammers 😎

How Much Can YOU Recover?

Calculate your potential recovery:

// Count your empty accounts
const emptyAccounts = 100; // example

// Calculate recoverable SOL
const RENT_PER_ACCOUNT = 0.00203928;
const recoverableSOL = emptyAccounts * RENT_PER_ACCOUNT;

console.log(`You can recover: ${recoverableSOL} SOL`);
// Output: "You can recover: 0.203928 SOL"

// At $150/SOL
const usdValue = recoverableSOL * 150;
console.log(`Worth: $${usdValue}`);
// Output: "Worth: $30.5892"
Enter fullscreen mode Exit fullscreen mode

Rough estimates by user type:

User Type Empty Accounts Recoverable SOL USD Value*
Casual trader 20-50 0.04-0.1 $6-15
Active trader 100-200 0.2-0.4 $30-60
Airdrop farmer (1 wallet) 200-500 0.4-1.0 $60-150
Airdrop farmer (50 wallets) 500-1,500 1.0-3.0 $150-450

*at $150/SOL


Safety Tips

1. Never Close Accounts with Balances

The tool prevents this, but double-check:

// Only close if balance === 0
if (tokenBalance === 0) {
  closeAccount();
} else {
  console.error("Account has balance, DO NOT CLOSE");
}
Enter fullscreen mode Exit fullscreen mode

2. Use Protected Assets

Mark tokens you're holding long-term as "protected" to prevent accidental deletion.

What to protect:

  • Governance tokens (DAO voting rights)
  • LP tokens (liquidity positions)
  • Tokens you're actively holding
  • Tokens with potential future airdrops

3. Test with Small Batch First

Don't close 500 accounts at once on your first try.

Recommended:

  1. Close 5-10 accounts first
  2. Verify SOL recovery
  3. Check transaction log
  4. Then scale to all accounts

4. Private Keys Are Sensitive

Multi-wallet mode requires private keys. Make sure:

  • βœ… Tool is 100% client-side (keys never leave browser)
  • βœ… You're on the official domain
  • βœ… Connection is HTTPS
  • ❌ Never share keys via Discord/Telegram

Common Questions

Q: Can I undo after closing accounts?

No. Closing is permanent and irreversible.

BUT: If you receive that token type again later, a new account is created automatically (costing another 0.002 SOL deposit).

Q: What about spam tokens?

The tool has auto-burn functionality with a safety disclaimer modal.

Before burning, you'll see:

  • List of tokens to be burned
  • Confirmation that action is irreversible
  • Option to protect specific assets

Q: Why do I need a fee payer?

In multi-wallet mode, the fee payer account pays network fees for all operations.

Benefits:

  • No need to fund 50+ individual wallets
  • Cleaner workflow
  • Lower total fees (batch transactions)

Setup:

// Fee payer can be:
// 1. One of the imported wallets
// 2. A separate wallet you fund

const feePayerRequiredSOL = 0.01; // for 100+ wallets
Enter fullscreen mode Exit fullscreen mode

Results: Before & After

Before Cleanup:

Total Wallets: 50
Empty Accounts: 897
SOL Locked: 1.83 SOL
Spam Tokens: 37
Enter fullscreen mode Exit fullscreen mode

After Cleanup:

Total Wallets: 50 (cleaned)
Empty Accounts: 0
SOL Recovered: 1.83 SOL
Spam Tokens: 0 (burned)
Network Fees: 0.0045 SOL (paid by fee payer)
Net Gain: 1.8255 SOL (~$274)
Time: 2 min 47 sec
Enter fullscreen mode Exit fullscreen mode

When to Clean Your Wallets

Recommended schedule:

Airdrop Farmers: Every 1-2 weeks

  • Prevents accumulation of 500+ accounts
  • Recover rent continuously
  • Clean before tax season for records

Active Traders: Monthly or quarterly

  • Recover 0.1-0.5 SOL per cleanup
  • After intense trading periods

Casual Users: Every 3-6 months

  • Low accumulation
  • Set a calendar reminder

Try It Yourself

Free tool: Jumpbit Wallet Cleaner

Features:

  • βœ… Single & multi-wallet support
  • βœ… Fee payer functionality
  • βœ… Auto-burn spam tokens
  • βœ… Protected assets
  • βœ… 100% client-side processing
  • βœ… No fees (just network costs)

Quick start:

  1. Paste your wallet address (no connection needed)
  2. See how much SOL you can recover
  3. If it's worth it, connect and execute

Developer Resources

Solana Documentation:

Code Example (Manual Close):

import { closeAccount } from "@solana/spl-token";
import { Connection, PublicKey } from "@solana/web3.js";

async function closeTokenAccount(
  connection: Connection,
  payer: Keypair,
  account: PublicKey,
  destination: PublicKey
) {
  const signature = await closeAccount(
    connection,
    payer,
    account,
    destination,
    payer
  );

  console.log("Account closed:", signature);
  console.log("Rent returned to:", destination.toString());
}
Enter fullscreen mode Exit fullscreen mode

But seriously, use a bulk tool for 100+ accounts. πŸ˜…


Final Thoughts

I had no idea I was sitting on 1.8 SOL until I ran this cleanup.

If you've been active on Solana for more than a month, you probably have recoverable SOL too.

The math is simple:

  • 5 minutes of your time
  • Recover $50-300+
  • Literally free money

Why leave it on the table?


Have you recovered SOL from empty accounts? Drop your results in the comments! πŸ‘‡

Found this helpful? Share it with other Solana degens. πŸš€


Disclaimer: This is not financial advice. Always verify addresses, test with small amounts first, and never share your private keys. Wallet cleanup is generally safe when done correctly, but all blockchain transactions are irreversible.


Related Tools:

Follow for more Solana tips:

Top comments (0)