Key takeaways
- Solana's rent-exempt minimum is (128 + data bytes) x 5,080 lamports, so an account with no data needs 650,240 lamports (0.00065024 SOL) and every extra byte adds 5,080 lamports.
- A 165-byte SPL token account needs 0.00148844 SOL, an 82-byte SPL mint 0.0010668 SOL, a 200-byte stake account 0.00166624 SOL and an 80-byte nonce account 0.00105664 SOL at the current rate.
- Solana accounts opened before the rent reduction keep their old deposit of (128 + bytes) x 6,960 lamports, which is 0.00203928 SOL for an SPL token account, and return all of it when closed.
- An address lookup table is 56 bytes plus 32 bytes per address, so a full table of 256 addresses holds 0.04255008 SOL of rent at the current rate.
- A Solana program deploy buffer holds about 0.52 SOL per 100 KB of program at today's rate, which makes abandoned buffers the largest rent deposits most developers leave behind.
The short answer
Every Solana account must hold (128 + data bytes) x 5,080 lamports to be rent-exempt. That puts a plain wallet at 0.00065024 SOL, an SPL token account at 0.00148844 SOL, a mint at 0.0010668 SOL, a stake account at 0.00166624 SOL and a nonce account at 0.00105664 SOL. Accounts opened before Solana lowered rent were funded at 6,960 lamports per byte and still hold more, for example 0.00203928 SOL per token account.
How is the Solana rent-exempt minimum calculated?
The rent-exempt minimum is (128 + data bytes) x 5,080 lamports, where 128 bytes is a fixed overhead counted for every account. Each additional byte of data costs 5,080 lamports, or 0.00000508 SOL. Before Solana lowered the rent rate the multiplier was 6,960, so the same account cost about 37% more to open.
The formula only tells you what a new account needs. An account keeps whatever it was funded with, and the reduction did not change existing balances, which is why the tables below show both figures. Why rent exists at all and why it is a refundable deposit rather than a fee is covered in what Solana rent is; this post is the lookup table.
Three ways to check a value yourself, all read-only:
- The RPC.
getMinimumBalanceForRentExemptionwith a byte count returns the live minimum in lamports. I checked every size in this post against a mainnet RPC on October 5, 2026, and the results matched the formula. - The Solana CLI.
solana rent <BYTES>prints the same value. - A calculator. The free Solana rent calculator reads the current rate from the network and works out the deposit for any size, with presets for common accounts.
What is the rent-exempt minimum for each account type?
The core account types have fixed sizes, so their minimums are fixed too. In this table "old rate" is what an account of that type holds if it was opened before the reduction:
| Account type | Data size | Minimum today (lamports) | Today (SOL) | Old rate (SOL) |
|---|---|---|---|---|
| System account (plain wallet) | 0 bytes | 650,240 | 0.00065024 | 0.00089088 |
| Nonce account | 80 bytes | 1,056,640 | 0.00105664 | 0.00144768 |
| SPL mint | 82 bytes | 1,066,800 | 0.0010668 | 0.0014616 |
| pump.fun / PumpSwap volume accumulator | 137 bytes | 1,346,200 | 0.0013462 | 0.0018444 |
| SPL token account | 165 bytes | 1,488,440 | 0.00148844 | 0.00203928 |
| Stake account | 200 bytes | 1,666,240 | 0.00166624 | 0.00228288 |
| SPL multisig | 355 bytes | 2,453,640 | 0.00245364 | 0.00336168 |
| Address lookup table, empty | 56 bytes | 934,720 | 0.00093472 | 0.00128064 |
| Address lookup table, 256 addresses | 8,248 bytes | 42,550,080 | 0.04255008 | 0.05829696 |
The sizes come from the programs themselves: the token programs define 82-byte mints and 165-byte accounts, the stake program allocates 200 bytes, and a durable nonce account is 80 bytes. I confirmed the stake, mint, token account, lookup table and volume accumulator sizes by reading real mainnet accounts.
A system account is the one row you cannot "close" in the usual sense. It disappears when its balance reaches zero, so the 0.00065024 SOL is only relevant as the smallest amount you can send to a new address.
How much rent do Token-2022 accounts and mints need?
Token-2022 accounts and mints start at the classic sizes and grow with each extension. A token account adds one account-type byte, then a 4-byte header plus data for each extension. Associated token accounts always carry the immutable owner extension, so the smallest common Token-2022 account is 170 bytes. The sizes below come from the Token-2022 extension layout, computed with the official @solana/spl-token library:
| Token-2022 account | Size | Today (SOL) | Old rate (SOL) |
|---|---|---|---|
| Associated token account, no account extensions from the mint | 170 bytes | 0.00151384 | 0.00207408 |
| Non-transferable or pausable token | 174 bytes | 0.00153416 | 0.00210192 |
| Transfer hook token, or required memos or CPI Guard enabled | 175 bytes | 0.00153924 | 0.00210888 |
| Transfer fee token | 182 bytes | 0.0015748 | 0.0021576 |
| Transfer fee plus transfer hook | 187 bytes | 0.001602 | 0.0021924 |
| Mint with a metadata pointer only | 234 bytes | 0.00183896 | 0.00251952 |
| Mint with metadata pointer and on-mint metadata | about 390 to 430 bytes | about 0.0026 to 0.0028 | about 0.0036 to 0.0039 |
The last row varies because the metadata extension stores the name, symbol and URI on the mint, so longer strings mean more bytes. The pump.fun mints I sampled on October 5, 2026 use exactly those two extensions and ranged from 389 to 427 bytes, each funded with the exact current minimum. Mints with many extensions are larger again: PayPal's PYUSD mint is 866 bytes.
What extensions mean for closing a Token-2022 account, including withheld transfer fees that block it, is in how to close Token-2022 accounts.
How much rent is in a Metaplex NFT?
A standard Metaplex NFT spreads its rent across three or four accounts, and their sizes changed in 2024. According to Metaplex's own documentation, the Token Metadata program shrank metadata accounts from 679 to 607 bytes, master editions from 282 to 20 bytes and print editions from 241 to 42 bytes, starting in October 2024. In a sample of 5,000 Token Metadata accounts I read on October 5, 2026, most were at the new sizes, but 679-byte metadata and 282-byte master editions still turn up.
| NFT account | Size | Today's minimum (SOL) | Old rate (SOL) |
|---|---|---|---|
| Token account | 165 bytes | 0.00148844 | 0.00203928 |
| Metadata, current size | 607 bytes | 0.0037338 | 0.0051156 |
| Metadata, original size | 679 bytes | 0.00409956 | 0.00561672 |
| Master edition, current size | 20 bytes | 0.00075184 | 0.00103008 |
| Master edition, original size | 282 bytes | 0.0020828 | 0.0028536 |
| Print edition, current size | 42 bytes | 0.0008636 | 0.0011832 |
| Token record (programmable NFTs) | 80 bytes | 0.00105664 | 0.00144768 |
Two things make this table a guide rather than an exact receipt. First, a resized account does not automatically get the old-rate deposit reduced to today's minimum: the 20-byte master editions in my sample still held 1,030,080 lamports, the old-rate figure for 20 bytes. Second, Metaplex says holders could claim the excess released by resizing through its own free interface, so some editions hold less than they did at mint. What you get back is whatever each account holds today.
That is why the NFT Burner reads the real lamport balance of every account before you sign. Burning a standard NFT usually returns between about 0.006 and 0.01 SOL; the tool charges 5% of the SOL reclaimed. Compressed NFTs live in a Merkle tree, hold no rent and return nothing, as explained in what to do with spam NFTs.
How much rent do program buffers and deployed programs hold?
Program accounts are sized to the binary, so they hold by far the largest deposits. A deploy buffer has a 37-byte header (a 4-byte type tag, a 1-byte flag and the 32-byte authority) followed by the program bytes, so its rent is (128 + 37 + program bytes) x 5,080 lamports:
| Program size | Buffer rent today | Buffer rent at the old rate |
|---|---|---|
| 100 KB | about 0.52 SOL | about 0.71 SOL |
| 200 KB | about 1.04 SOL | about 1.43 SOL |
| 500 KB | about 2.60 SOL | about 3.56 SOL |
| 1 MB | about 5.33 SOL | about 7.30 SOL |
A successful deploy copies the buffer into the program's data account and closes the buffer. An interrupted one leaves the buffer on chain with its full deposit, and each retry that does not reuse it creates another. The deployed program's data account holds a similar deposit for as long as the program exists. The program account itself is 36 bytes, 0.00083312 SOL.
Which accounts can you close to get the rent back?
Most of them, if you are the owner or the relevant authority and the account is empty or no longer needed. Closing returns the account's entire balance, so an older account returns the old-rate amount. Here is what each type takes, and the SOLTidy tool that handles it:
| Account type | Can you close it? | How |
|---|---|---|
| Empty SPL or Token-2022 token account | Yes, once the balance is zero | Token Account Closer, spl-token close, some wallet menus |
| Older token account you keep | No, but the excess can be withdrawn | Token Account Closer, spl-token withdraw-excess-lamports |
| pump.fun / PumpSwap volume accumulator | Yes, by the trader | Token Account Closer |
| Metaplex NFT | Yes, by burning it | NFT Burner |
| Inactive stake account | Yes, by withdrawing the full balance | Stake Account Manager; see withdrawing old stake accounts |
| Program buffer | Yes, by the buffer authority | Buffer & ALT Closer, solana program close --buffers |
| Address lookup table | Yes, after deactivating and waiting about 513 slots | Buffer & ALT Closer |
| Nonce account | Yes, by withdrawing the full balance | Solana CLI withdraw-from-nonce-account |
| Classic SPL mint | No | Excess over today's minimum can be withdrawn by the mint authority |
| Token-2022 mint | Only with a mint close authority and zero supply | spl-token close-mint |
The fees, from each tool's own page: the Token Account Closer, NFT Burner and Buffer & ALT Closer charge 5% of the SOL recovered, taken inside the same transaction, and the Stake Account Manager charges 0.002 SOL per stake account withdrawn. Every one of these jobs can also be done for network fees alone with the Solana or SPL Token CLI, and if you already work in a terminal with a keypair file, that is the cheapest route.
If you would rather not go tool by tool, the Solana wallet cleanup on the SOLTidy home page scans token accounts, spare rent, pump.fun accounts, stake, NFTs and dust in one pass and shows what each would return before you sign. I built it because the rent in a typical trading wallet is spread across several of the rows above, and most wallets show none of it.
Why does account size matter?
Size is the only input to rent, so every byte an account stores is SOL someone has locked up. For users that mostly shows up as the 0.0015 to 0.002 SOL that leaves your balance each time you buy a token you have never held. Across a few hundred memecoins that adds up; see how much SOL you can recover from token accounts.
For developers, size is a design decision. A program that allocates a 1,000-byte account per user asks each user for about 0.0057 SOL; trimming it to 200 bytes cuts that to about 0.0017 SOL. Programs should read the minimum with getMinimumBalanceForRentExemption or the Rent sysvar rather than hard-code it, because the rate has already changed once.
Bottom line
The Solana rent-exempt minimum is (128 + bytes) x 5,080 lamports today and was 6,960 lamports per byte before the reduction. That gives 0.00065024 SOL for an empty account, 0.00148844 SOL for a token account, 0.00166624 SOL for a stake account and anything from 0.5 SOL upward for a program buffer, with older accounts holding about 37% more. Use the rent calculator for sizes not listed here, and close the accounts you no longer need to get their deposits back.
Questions & answers
What is the rent-exempt minimum for a Solana account with no data?
650,240 lamports, which is 0.00065024 SOL. Every account counts 128 bytes of overhead even when it stores no data, and at 5,080 lamports per byte that is the floor for a plain wallet. Before Solana lowered rent it was 890,880 lamports. It is also the reason a transfer of a smaller amount to a brand-new address fails.
How much rent does a Solana stake account need?
A stake account is 200 bytes, so its rent-exempt reserve is 1,666,240 lamports, 0.00166624 SOL, at the current rate, and 2,282,880 lamports (about 0.0023 SOL) if it was created before the reduction. The reserve is not staked and earns nothing. It comes back when you withdraw the full balance from an inactive stake account, which closes it.
How do I check the rent-exempt minimum for a specific size?
Call the getMinimumBalanceForRentExemption RPC method with the size in bytes, or use the solana rent command in the Solana CLI. Both ask the cluster for the live value. The free SOLTidy rent calculator does the same from a browser, with presets for common account types, and needs no wallet.
Do old Solana accounts hold more rent than new ones?
Yes. An account keeps the lamports it was funded with, and lowering the rate from 6,960 to 5,080 lamports per byte did not touch existing balances. An SPL token account opened before the change holds 0.00203928 SOL instead of 0.00148844 SOL. Closing returns whatever the account holds, and token programs can also withdraw the excess from accounts you keep.
How much rent is in a Metaplex NFT?
It depends on the NFT's age and type. A standard NFT has a token account (165 bytes), a metadata account (607 bytes since Metaplex resized them, 679 before) and a master edition (20 bytes, 282 before). Burning one through Metaplex usually returns between about 0.006 and 0.01 SOL. Compressed NFTs hold no rent at all.
Which Solana accounts can I close to get rent back?
Empty token accounts, NFTs you burn, inactive stake accounts, nonce accounts, deactivated address lookup tables, program buffers and pump.fun volume accumulators can all be closed by their owner or authority. Classic SPL mints cannot be closed at all, and a Token-2022 mint only with a close authority and zero supply.