Solana rent calculator: how much SOL to open a token account (and get back on close)
Solana rent calculator: how much SOL to open a token account (and get back on close)
Solana's rent-exempt minimum depends on the account's data length. This page has the exact numbers for every common account type so you can calculate what you paid — and what you'll get back when you close.
The formula
rent_exempt_minimum = (128 + data_len) * lamports_per_byte_year * 2
At current Solana parameters:
- lamports_per_byte_year = 3,480 lamports (unchanged since 2020)
- The 128 overhead is the account header size
- The × 2 factor makes it a "2 year" deposit, which is treated as permanent (rent-exempt)
The numbers you actually care about
SPL Token accounts
| Account type | Data size | Rent-exempt minimum |
|---|---|---|
| Legacy SPL Token account | 165 bytes | 0.00203928 SOL |
| Token-2022 base account | 165 bytes | 0.00203928 SOL |
| Token-2022 + Transfer Fee extension | 214 bytes | 0.00237456 SOL |
| Token-2022 + Interest Bearing extension | 173 bytes | 0.00209496 SOL |
| Token-2022 + Metadata Pointer extension | 173 bytes | 0.00209496 SOL |
| Token-2022 + Transfer Fee + Interest Bearing | 222 bytes | 0.00242920 SOL |
| Token-2022 + all common extensions | ~250 bytes | 0.00262432 SOL |
Other common Solana accounts
| Account type | Data size | Rent-exempt minimum |
|---|---|---|
| System account (wallet) | 0 bytes | 0.00089088 SOL |
| Mint account (legacy) | 82 bytes | 0.00144768 SOL |
| Mint account (Token-2022) | 82 bytes | 0.00144768 SOL |
| Stake account | 200 bytes | 0.00228288 SOL |
| Vote account | 3762 bytes | 0.02614080 SOL |
| Metaplex NFT metadata | 679 bytes | 0.00561600 SOL |
| Metaplex NFT master edition | 282 bytes | 0.00285408 SOL |
| Name Service record | 128 bytes | 0.00178272 SOL |
How much have you actually spent on rent?
Multiply the number of accounts you've opened by the rent-exempt minimum:
- 100 SPL token trades = 100 × 0.00203928 = 0.20 SOL locked in ATAs
- 500 memecoin trades = 500 × 0.00203928 = 1.02 SOL locked in ATAs
- 2000 pump.fun snipes = 2000 × 0.00203928 = 4.08 SOL locked in ATAs
If you've held NFTs, add: - Each NFT ATA: 0.00203928 SOL - Metaplex metadata account is typically NOT closable (owned by the mint authority)
What you get back when you close
closeAccount returns 100% of the rent deposit to a destination you specify (usually your main wallet). No slippage, no fees beyond the standard transaction cost (~5000 lamports = 0.000005 SOL).
Net recovery per closed empty ATA: - 0.00203928 (rent) − 0.000005 (tx fee, split if batched) = ~0.00203428 SOL per close
For batched closes (12 per transaction): - 12 × 0.00203928 (rent) − 0.000005 (single tx fee) = 0.02446636 SOL net - Per-close net: 0.00203886 SOL (fee cost is amortized)
Batching is the right approach — solo closes waste the transaction fee proportionally.
Special case: NFT ATAs
Every NFT you've ever held has its own ATA. When you sell/transfer the NFT, the ATA remains open. Closing NFT ATAs is safe and returns the full 0.00203928 SOL.
However — the underlying Metaplex metadata account (the NFT itself as an object) usually isn't yours to close. It belongs to the mint authority.
Special case: reopening accounts
Once you close an account, you can reopen it later (e.g., you buy the same token again). Reopening costs the full rent-exempt minimum again. So don't close accounts for tokens you actively trade — you're just paying the deposit twice.
Real-time calculation
If you want to compute the rent yourself for an arbitrary data length:
import { Connection } from '@solana/web3.js';
const connection = new Connection('https://api.mainnet-beta.solana.com');
// For a 165-byte account (SPL token):
const rentLamports = await connection.getMinimumBalanceForRentExemption(165);
console.log(rentLamports / 1e9, 'SOL'); // 0.00203928
Or via CLI:
solana rent 165 # returns the SOL amount needed for 165-byte account
Bulk check via SolDuster
If you want to see exactly how much SOL you have locked across all your accounts without doing this manually, use SolDuster:
- Free scan on any wallet address
- Auto-detects legacy Token, Token-2022, and NFT ATAs
- Shows total recoverable + per-account breakdown
- Non-custodial recovery in one signed transaction
Related reading
- What is rent on Solana? A plain-English explanation
- Token-2022 vs legacy SPL Token: what changed and why it matters
- How to burn worthless Solana tokens and reclaim the rent
Have a specific account type not listed here? Ask on X at @SoldusterHQ.