Solana rent calculator: how much SOL to open a token account (and get back on close)

Published 2026-09-28 · 4 min read

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:

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:


Have a specific account type not listed here? Ask on X at @SoldusterHQ.


Scan your wallet on solduster.com →