If you have used Solana for any length of time, you have encountered rent — that small amount of SOL that seems to disappear every time you interact with a new token, create an account, or use a dApp. For active users with dozens or hundreds of token accounts, the SOL locked in rent can add up to a meaningful amount.
This guide explains how Solana's rent system works, why it exists, and practical steps to reclaim SOL from accounts you no longer need.
What Is Rent on Solana?
Every piece of data stored on Solana lives in an account. Unlike Ethereum, where smart contracts have their own storage, Solana uses an explicit account model — every token balance, every NFT, every program's state is a separate account on the network.
Storing data on a decentralized network is not free. Validators must keep this data in memory and make it available for reads and writes at high speed. Rent is Solana's mechanism for paying validators to store your account data.
The rent cost is proportional to the amount of data stored. A standard token account holds about 165 bytes and requires approximately 0.00203928 SOL in rent. A larger account storing more complex data costs proportionally more.
Rent Exemption: Why Your SOL Gets Locked
In Solana's early design, accounts were charged rent periodically — a small amount deducted every epoch. If an account's balance dropped to zero, it would be deleted. This was confusing and created bad user experiences where token balances could disappear.
Solana moved to a rent-exemption model. Instead of periodic charges, accounts must hold enough SOL upfront to cover two years of rent. If the account balance meets this threshold, it is considered "rent-exempt" and the SOL is never actually deducted — it just sits in the account as a deposit.
The practical effect: every time you receive a new SPL token, a token account is created for you, and roughly 0.002 SOL is deposited into that account as the rent-exempt minimum. This SOL is not spent or burned — it is locked in the account and can be reclaimed by closing the account.
How Rent Is Calculated
The formula for the rent-exempt minimum is:
Rent-exempt minimum = (account data size in bytes + 128) * rent rate per byte-year * 2 years
The 128 bytes of overhead account for account metadata (owner, lamports, data length, etc.). The rent rate is set by the network and has remained stable at 3.48 SOL per megabyte per year.
For common account types:
| Account Type | Data Size | Rent-Exempt Minimum |
|---|
| System account (wallet) | 0 bytes | 0.00089088 SOL |
| Token account (SPL) | 165 bytes | 0.00203928 SOL |
| Mint account | 82 bytes | 0.00144768 SOL |
| Token-2022 account | ~165+ bytes | 0.00203928+ SOL |
| Metadata account (NFT) | ~679 bytes | 0.00561672 SOL |
Where Your SOL Goes: Common Rent Sinks
SPL Token Accounts
This is the biggest source of locked rent for most users. Every unique token you have ever received — whether you bought it, were airdropped it, or received it as a reward — created a token account holding ~0.002 SOL.
If you have interacted with 100 different tokens over time, that is roughly 0.2 SOL locked in token accounts. Active DeFi users or those who receive frequent airdrops can easily have 200-500 token accounts, locking 0.4-1.0 SOL.
Associated Token Accounts
When you receive a token for the first time, an Associated Token Account (ATA) is created. The ATA program derives a deterministic address for each wallet-token pair, so there is only one token account per token per wallet. The sender or the protocol initiating the transfer typically pays for the account creation, but the rent deposit comes from your wallet or is embedded in the transaction.
NFT and Metadata Accounts
NFTs on Solana involve multiple accounts: the mint account, the metadata account, the token account, and potentially a master edition account. A single NFT can lock 0.01-0.02 SOL across these accounts. A collection of 50 NFTs might lock 0.5-1.0 SOL.
Program Data and PDAs
When you interact with DeFi protocols, they often create Program Derived Accounts (PDAs) to store your position data — LP positions, staking records, order states. These accounts also require rent-exempt deposits, though the protocol usually handles the creation cost.
How to Reclaim Rent: Closing Unused Accounts
Closing an account on Solana returns the rent-exempt deposit to your wallet. This is the primary way to recover locked SOL.
Closing Empty Token Accounts
Token accounts with zero balance can be closed directly. The rent deposit (typically 0.002 SOL) returns to your wallet.
Using Solflare:
Solflare wallet has a built-in feature to close empty token accounts. Navigate to your token list, look for empty or zero-balance accounts, and close them individually or in batch. This is the easiest method for most users.
Using Solscan:
Solscan lets you view all accounts associated with your wallet. Navigate to your wallet address, check the token accounts tab, and identify accounts with zero balance. While Solscan does not close accounts directly, it helps you inventory what can be closed.
Using the CLI:
For developers comfortable with the command line:
spl-token close --owner <WALLET_ADDRESS> <TOKEN_ACCOUNT_ADDRESS>
Or to close all empty token accounts at once:
spl-token gc
The gc (garbage collect) command is the fastest way to close all empty token accounts in a single operation.
Closing Token Accounts with Dust Balances
Some token accounts hold tiny, worthless balances — remnants of airdrops or failed transactions. You cannot close an account with a non-zero balance directly. You have two options:
- Burn the tokens first, then close. Use
spl-token burn to destroy the token balance, reducing it to zero, then close the account.
- Send the balance somewhere. Transfer the tokens to another wallet (or a burn address), then close the empty account.
For worthless tokens, burning is simpler:
spl-token burn <TOKEN_ACCOUNT_ADDRESS> <AMOUNT>
spl-token close <TOKEN_ACCOUNT_ADDRESS>
Closing NFT Accounts
Closing NFT accounts is more involved because NFTs consist of multiple linked accounts. Burning the NFT through a marketplace or using Metaplex tools will close the associated accounts and return the rent deposits.
Be cautious — this is irreversible. Only close NFT accounts for NFTs you are certain you do not want.
Optimizing Rent Costs Going Forward
Minimize Unnecessary Account Creation
Every new token interaction creates an account. Being selective about which tokens you interact with reduces rent accumulation. Avoid accepting random airdrops from unknown sources — they create accounts and often carry phishing risk as well.