Key takeaways
- The extra SOL charged when buying a new token on Solana is a refundable rent deposit on a new token account, now 0.00148844 SOL (0.00203928 before Solana lowered rent), not a fee.
- A Solana swap into a token the wallet has never held creates an associated token account; swapping back out empties that account but does not close it.
- Minting a standard Metaplex NFT funds four accounts, the mint, token account, metadata and master edition, which together cost roughly 0.017 SOL before the mint price.
- Trading many different memecoins is the fastest way to accumulate empty Solana token accounts, because every new mint needs its own account.
- Solana never closes empty token accounts automatically, so the rent deposits stay locked until the wallet owner closes each account.
The short answer
Most everyday Solana activity creates token accounts, and each one locks a rent deposit that wallets tend to display as if it were a fee: 0.00148844 SOL for an account opened today, or 0.00203928 SOL for one opened before Solana lowered the rent rate. Buying a new token, claiming an airdrop, minting an NFT and trading memecoins all open accounts in your name. The accounts remain after the tokens are gone, so the deposits pile up until you close them. At $150 per SOL, for illustration, each account is about 22 to 31 cents, which is why nobody notices until there are a few hundred.
Is the extra SOL on a swap really a network fee?
No. The extra 0.0015 SOL or so is a rent deposit on a new token account, and the true network fee is far smaller. A Solana transaction pays a base fee of 5,000 lamports per signature (0.000005 SOL) plus an optional priority fee. The deposit for a new SPL token account is 1,488,440 lamports, about 300 times the base fee. Before Solana lowered the rent rate it was 2,039,280 lamports, which is where the familiar 0.002 SOL figure comes from. Wallet popups add everything into one "SOL leaving your wallet" figure, so the deposit looks like a cost.
The difference matters because the two behave differently:
| Network fee | Rent deposit | |
|---|---|---|
| Typical size | 0.000005 SOL plus priority fee | 0.00148844 SOL per new token account |
| Charged | On every transaction | Only when a new account is created |
| Goes to | Validators, with part of the base fee burned | The new account itself, which you own |
| Refundable | No | Yes, when the account is closed |
How the fee side works is covered in Solana transaction fees explained. The rest of this post is about where the accounts come from.
What happens to your wallet during a swap?
A swap into a token you have never held creates a token account that outlives the trade, and swapping back out leaves it empty rather than closed. Here is the sequence when you buy a new token with SOL on Jupiter:
- Jupiter's transaction checks whether your wallet has an associated token account (ATA) for the output token. An associated token account is the token account at the address derived from your wallet and that token's mint.
- If the ATA does not exist, the transaction creates it and your wallet funds it with 0.00148844 SOL.
- Your SOL is wrapped into a temporary wSOL account, because DEX programs work with SPL tokens and not with native SOL.
- The swap runs through one or more pools, and the output tokens land in the new ATA.
- The temporary wSOL account is closed at the end of the same transaction, and its rent returns to you immediately.
Step 5 shows that the mechanism for getting rent back is built into every swap. It is applied to the temporary wSOL account and never to the output token's account, because that account has to stay open to hold what you just bought. When you sell later, the balance goes to zero and the account stays. When a multi-step swap flow is interrupted, a wSOL account can be left behind too, which I cover in what wrapped SOL is.
Who pays for the token account in an airdrop?
In an airdrop the token account is paid for either by the sender or by you, depending on whether the tokens are pushed or claimed.
- Pushed airdrops. The project sends tokens directly to a list of wallets. The sender's transaction creates each recipient's ATA and the sender pays the deposit. The cost side of this is in how to airdrop tokens on Solana. For the recipient it amounts to a small gift: once you sell or move the tokens, the rent in that account is yours to reclaim.
- Claimed airdrops. You visit a claim page and sign a transaction. That transaction typically creates your ATA, so the deposit comes out of your wallet.
- Unsolicited tokens. Spam tokens arrive the same way as pushed airdrops. The spammer paid the deposit. If the token is worthless or suspicious, do not try to sell it through the link it advertises. Burning the balance and closing the account removes it from your wallet and sends the spammer's deposit to you.
Airdrop farming multiplies this effect. Wallets that interact with many protocols in search of eligibility collect a token account from almost every one of them: receipt tokens, points tokens, LP tokens, reward tokens.
How many accounts does an NFT mint create?
A standard Metaplex NFT mint creates four accounts, all funded by the minter, and costs roughly 0.017 SOL in deposits and fees before any mint price. Metaplex is the program suite that defines the NFT standard on Solana.
| Account | Purpose | Approximate cost |
|---|---|---|
| Mint | Defines the token with a supply of one | 0.0010668 SOL |
| Token account | Holds the NFT in your wallet | 0.00148844 SOL |
| Metadata | Name, symbol, URI, creators | about 0.0137 SOL, including a 0.01 SOL Metaplex fee |
| Master edition | Proves the supply is fixed at one | about 0.00075 SOL (20 bytes since Metaplex resized editions) |
NFTs minted before Solana lowered the rent rate, and before Metaplex shrank metadata from 679 to 607 bytes and master editions from 282 to 20 bytes, were funded at the old amounts, about 0.022 SOL in total, and many of their accounts still hold those larger deposits. Every size, old and new, is in the rent-exempt minimum by account type table.
Programmable NFTs (pNFTs) add a token record account on top. If you sell or transfer the NFT, the metadata and edition accounts travel with it, and only your now-empty token account remains with you. If you keep an NFT you no longer want, burning it through the Metaplex program closes the token account, metadata and master edition, and usually returns between 0.006 and 0.01 SOL. The Metaplex creation fee is not refunded. The NFT Burner shows the exact amount for each item before you sign and charges 5% of the SOL reclaimed.
Compressed NFTs work differently. A compressed NFT is an entry in a shared Merkle tree, not a set of accounts in your wallet, so it locks no rent for you and returns nothing when burned.
Why do memecoin traders end up with hundreds of accounts?
Memecoin trading creates accounts faster than any other activity because every new token needs its own account, and the whole style of trading is to touch many tokens briefly. Launchpad tokens in the pump.fun mould, tokens on Raydium pools, tokens bought through Telegram bots: each first purchase opens an ATA. Buy thirty new tokens in a week and you have paid about 0.045 SOL in deposits, none of it labelled as such.
pump.fun adds one more account of its own. The first time you trade on pump.fun or PumpSwap, the program opens a volume accumulator account for your wallet, funded with 0.0013462 SOL of rent. It stays after you stop trading. Closing it returns that SOL, but pump.fun opens a new one, and charges the rent again, the next time you trade there. If you traded cashback coins, the accumulator may also hold unclaimed cashback, which pump.fun cashback explained shows how to claim before closing anything.
Selling does not always empty the account either. Two patterns are common:
- Dust. Selling "100%" through some interfaces leaves a fraction of a token behind because of rounding or a transfer fee. The account is then not empty, and the SPL Token program will not close it.
- Dead tokens. When the liquidity is gone there is nothing to sell into, and the balance stays in the account indefinitely.
For dust that still has a route, Sell Dust for SOL swaps each small balance through Jupiter and closes the account in the same transaction; the fee is 5% of the SOL received plus 5% of the rent reclaimed. Dead balances can only be burned, which is permanent, so check the value first.
Why does nobody tell you about the deposit?
Nobody mentions the deposit because it is no one's revenue and each instance is tiny. The swap interface does not receive it, the wallet does not receive it, and the network does not spend it; it sits in an account you own. Wallets show a single net SOL change. Hiding zero-balance tokens is a sensible default for a portfolio view, and it also hides the evidence.
The scale works against noticing as well. One account is 0.00148844 SOL, or 0.00203928 SOL if it is older. Nobody audits a wallet over that. The amounts only become interesting in aggregate. Counting every account at today's rate:
- 60 first-time token buys: about 0.089 SOL
- 15 claimed airdrops: about 0.022 SOL
- 10 NFTs minted and later sold: about 0.015 SOL left in empty token accounts
That illustrative wallet has about 0.127 SOL sitting in accounts it no longer uses, or about 0.173 SOL if all of them were opened before Solana lowered rent: roughly $19 to $26 at $150 per SOL. The original version of this post put a dollar figure in the headline; I have removed it because the SOL price moves and the lamport amounts do not. For a proper estimate of your own wallet, see how much SOL you can recover from token accounts.
How do you get the deposits back?
You get the deposits back by closing the empty accounts, because Solana never does it for you. Closing requires the owner's signature, so no program can tidy your wallet on your behalf. The options:
- Close accounts one at a time from a wallet that offers the option in a token's menu, which suits a handful of accounts.
- Use
spl-token closeorspl-token gcfrom the SPL Token CLI, which costs only network fees; closing token accounts with the spl-token CLI has the exact flags. - Use the SOLTidy Token Account Closer, which scans the SPL Token program and Token-2022, preselects empty accounts, packs up to 12 accounts into each transaction, and charges 5% of the rent recovered. Pasting an address gives a read-only preview before you connect anything.
For tokens you still hold, older accounts carry a surplus: they were funded at the old rate and hold more than today's minimum. Both token programs can pay out that difference, 0.00055084 SOL for an SPL token account and about 0.00056 to 0.00059 SOL for Token-2022, without closing the account. The SOLTidy closer does this automatically for the accounts you keep, for the same 5% fee, and it closes pump.fun volume accumulator accounts too.
Do not close accounts for tokens you are still actively trading; the next buy pays the deposit again. And before closing anything through any site, read is it safe to close Solana token accounts: the closing is safe, but fake cleanup sites exist.
Bottom line
The 0.0015 to 0.002 SOL that shows up on swaps, claims and mints is a refundable deposit on an account you own, and the real Solana network fee is a small fraction of it. Accounts accumulate with the number of different tokens and NFTs you touch, which makes memecoin traders, airdrop hunters and NFT minters the wallets with the most SOL stranded. Nothing closes those accounts for you. Once you know where they come from, recovering the deposits takes a few minutes every few months: a Solana wallet cleanup reclaims SOL from all of them in one run. It is the chore that led me to build SOLTidy in the first place, as I describe on the about page.
Questions & answers
Why did my Solana swap cost 0.0015 or 0.002 SOL more than expected?
Because the swap created a new token account. When you buy a token your wallet has never held, the swap transaction first creates an associated token account for it, and that account must hold a rent-exempt deposit, now 0.00148844 SOL and 0.00203928 SOL before Solana lowered the rent rate. The actual network fee was far smaller: 5,000 lamports per signature plus any priority fee. The deposit is refundable when the account is closed.
Do I pay the deposit again every time I buy the same token?
No. The deposit is paid once, when the token account is created. As long as that account exists, later purchases of the same token only pay network fees, even if the balance dropped to zero in between. You pay the deposit again only if the account was closed and has to be recreated, and in that case you already received the earlier deposit back.
Why does Solana not close empty token accounts automatically?
The SPL Token program has no way of knowing whether you will receive that token again, and closing an account requires the owner's signature. An empty account is a valid state: it keeps your address for that token ready to receive. So the account, and the rent inside it, stays until you sign a CloseAccount instruction yourself.
Who pays for the token account when I receive an airdrop?
It depends on how the airdrop is delivered. When a project pushes tokens directly to wallets, the sender normally pays to create each recipient's token account. When you claim through a website, the claim transaction you sign usually creates the account and you pay the 0.00148844 SOL deposit. In both cases the account belongs to you, so you receive the deposit when you close it.
How much SOL does minting an NFT lock up on Solana?
A standard Metaplex NFT needs a mint account (0.0010668 SOL), a token account (0.00148844 SOL), a master edition (about 0.00075 SOL at its current 20-byte size) and a metadata account (about 0.0137 SOL, which includes a 0.01 SOL Metaplex creation fee). That is roughly 0.017 SOL paid by the minter on top of any mint price. Compressed NFTs avoid these accounts and hold no rent.
Does trading the same few tokens create more token accounts?
No. A wallet has one associated token account per token mint, however many times you trade that token. Swapping between SOL and USDC a thousand times uses the same USDC account throughout. Accounts accumulate with the number of different tokens you touch, which is why memecoin traders and airdrop hunters end up with hundreds while large SOL and stablecoin traders have very few.