Everything on Solana lives in an account: your wallet, every token you hold, every program and every piece of app data. Validators keep all of these accounts available at all times, and storage is not free. Solana asks each account to hold a small amount of SOL as a deposit for the space it takes. That deposit is called rent.
A deposit, not a fee
The name is misleading. Nothing is charged month by month. The SOL stays inside the account for as long as the account exists, and it comes back in full when the account is closed. Think of it as a deposit on a locker: you get it back when you hand back the key.
In Solana’s early years, accounts below a threshold really did pay rent every epoch and could be wiped once they ran dry. That model is gone. Today every account has to be rent-exempt, meaning it holds at least a minimum balance that depends only on its size. A transaction that would create an account below that minimum, or leave an existing one with less, fails.
How much it is
The minimum is the account’s size times a price per byte. A token account is 165 bytes plus 128 bytes of overhead, so before 2026 it needed 0.00203928 SOL. At today’s price of 5,080 lamports per byte, a new one needs 0.00148844 SOL. The full formula, with examples for other account types, is in How the rent-exempt minimum is calculated.
Small amounts, but they add up: a wallet that has touched a hundred tokens over the years has a hundred token accounts, each with its own deposit.
Who pays it
Whoever creates an account pays its deposit. When you buy a token for the first time, your wallet creates the token account and you pay. When someone airdrops a token to you, the sender usually creates the account and pays, but the account belongs to you, and so does the deposit when you close it. That is why closing empty spam accounts puts SOL in your wallet.
Where it goes when an account closes
Closing an account moves its entire balance to an address the account’s authority chooses, normally the owner’s wallet. For token
accounts this is the CloseAccount instruction, and it only works on empty accounts. Closing empty token accounts walks through it.
Why it matters now
The price per byte was the same from Solana’s launch until 2026. SIMD-0437 lowers it by 90% in five steps. New accounts get cheaper, but accounts that already exist keep the deposit they were funded with. The difference is surplus SOL that belongs to the owner and can be withdrawn without closing anything, using WithdrawExcessLamports.
“Insufficient funds for rent”
This wallet error means a transaction would leave some account with more than zero but less than its minimum. It happens most often with the wallet itself: a plain wallet is an account with no data, so it must hold either nothing at all or at least 128 × 5,080 = 0.00065024 SOL. Sending everything except a few lamports fails; sending everything, or leaving a little more, works.
In short
- Rent is a refundable deposit that every Solana account holds, sized by the bytes it stores.
- It is paid by whoever creates the account and returned to whoever closes it.
- Since SIMD-0437, old accounts hold more than they need, and the difference can be withdrawn.
The UNRENT scanner shows what a wallet’s accounts hold above today’s minimum, and the rent reduction tracker shows which steps are live.