
Every account on Solana must hold a minimum balance of SOL proportional to the space it occupies — the rent-exempt minimum. For a plain wallet that is 0.00089088 SOL; for a token account that holds USDT, USDC or any SPL token it is 0.00203928 SOL. That is why a Solana wallet refuses to send its last fraction of SOL, and why sending a token to someone who never held it costs about 0.002 SOL extra. The SOL is not burned: it stays locked in the account and is returned when the account is closed.
The formula
The runtime charges for account storage in lamports per byte. An account is rent-exempt when it holds at least two years' worth of rent, and today every new account must be rent-exempt. The cost is computed on the account's data plus 128 bytes of metadata:
rent-exempt minimum = (128 + data bytes) × 3,480 lamports × 2 years
= (128 + data bytes) × 6,960 lamports| Account | Data size | Lamports | SOL |
|---|---|---|---|
| Wallet (system account) | 0 bytes | 890,880 | 0.00089088 |
| SPL token mint | 82 bytes | 1,461,600 | 0.0014616 |
| SPL token account (USDT, USDC…) | 165 bytes | 2,039,280 | 0.00203928 |
| Token-2022 account with extensions | > 165 bytes | more | check per token |
The Solana rent-exempt calculator returns the figure for any data size if you are dealing with program accounts or Token-2022 extensions.
“Insufficient funds for rent” when sending SOL
A wallet account may hold either zero lamports or at least the rent-exempt minimum. If you try to send so much that between 0 and 0.00089088 SOL would remain, the transaction is rejected with an error mentioning rent. Two ways out: leave at least the minimum in the wallet, or send the entire balance minus the fee so the account is emptied completely. Most wallets offer a “max” button that handles this, but only if no token accounts depend on the wallet.
Why a token transfer costs 0.002 SOL
On Solana, tokens do not sit in your wallet account directly. Each token you hold lives in a separate associated token account owned by your wallet. When you send USDT to an address that has never held USDT, the transfer must first create that account and fund its rent-exempt minimum. The sender's wallet pays it — about 0.002 SOL, roughly 20 cents at $106 per SOL — on top of the normal transaction fee of 0.000005 SOL.
- You send 50 USDT to a friend's Solana address.
- The wallet checks: does the friend already have a USDT token account? No.
- The transaction creates it (0.00203928 SOL from you) and moves the 50 USDT.
- The next USDT transfer to the same friend costs only the network fee.
This is also why some wallets ask for a slightly larger SOL reserve than you expect before sending tokens.
Getting the rent back
When a token account is empty you can close it, and the rent goes back to the owner. Wallets such as Phantom and Solflare show this as burning or closing empty token accounts; spam tokens airdropped to you also occupy accounts you can close. Each closed account returns about 0.002 SOL. Do not close an account you still expect payments into: the next sender will simply pay to recreate it.
- Only empty accounts can be closed; send or burn the remaining tokens first.
- Be careful with spam tokens: interacting with an unknown token's website to “claim” it is a classic phishing route. Closing from your wallet's own interface is safe.
- Closing a wallet account (the system account) means emptying it to zero; it then no longer exists on chain until it receives SOL again.
What this means for swaps on KOT.CASH
When you receive SOL or an SPL token as a payout, the creation of your token account, if needed, is handled on the sending side; the payout network fee is already included in the quote. When you send SPL tokens to a deposit address, you pay only the network fee, because the deposit's token account already exists. Keep a small SOL reserve — 0.003–0.01 SOL is plenty — in any wallet that holds tokens. The provider credits Solana deposits after 200 confirmations, about a minute and a half.
Rent and exchange withdrawals
Exchanges handle rent on their side: when you withdraw USDT on Solana to a wallet that has no USDT account yet, the exchange's transaction creates it. Some exchanges include that cost in their withdrawal fee, which is one reason Solana withdrawal fees for tokens can look higher than the network fee alone. The reverse also applies: if you deposit to an exchange, its deposit address already has the token account, so you pay only the regular network fee from your wallet.
A practical rule for a personal wallet: count about 0.002 SOL for every token you plan to hold, plus a little for fees. Ten different tokens tie up roughly 0.02 SOL in rent. Clearing out tokens you no longer use and closing their accounts frees that SOL again.
FAQ
Why can't I send all my SOL?
A wallet must keep at least 0.00089088 SOL or be emptied completely. Send the full balance with the wallet's max option or leave the minimum.
Why did sending USDT cost me 0.002 SOL?
Your wallet created the recipient's USDT token account and paid its rent-exempt minimum. It is a one-time cost per recipient and token.
Is Solana rent charged every month?
No. Accounts are rent-exempt by holding the minimum; nothing is deducted over time.
How do I get rent back?
Close empty token accounts in your wallet. Each returns about 0.002 SOL to you.
Does Token-2022 cost more rent?
Often yes, because extensions add data to the account. The formula is the same: (128 + bytes) × 6,960 lamports.