On this page
- A token account must hold zero tokens to be closed; closing returns every lamport it holds to the address you name.
- A 165-byte token account opened today holds 1,488,440 lamports of rent (15 October 2026); older ones hold more, and you get back what each one holds.
- Never close a USDC account a subscription charges, or a merchant receiving account: the first fails renewals, the second blocks checkout with merchant_token_account_missing.
How much SOL do you get back from closing a token account?
You get back every lamport the account holds, which for a normal token account is its rent. Rent is the minimum SOL balance Solana makes an account keep while it exists. Solana's reduced-rent page says that "when that account is closed, the lamports are returned in full to whoever closes it."
A token account, the account that holds one token for one owner, is 165 bytes. On 15 October 2026 a public mainnet RPC put its rent at 1,488,440 lamports, about 0.00149 SOL, which is (128 + 165) * 5,080 lamports per byte. That rate is falling in steps under SIMD-0437, with three more expected in November 2026, so an account opened next year will hold less.
An account opened before the cuts holds what it was funded with, up to 2,039,280 lamports at the old 6,960 per byte, and closing it returns that whole balance. Ten old empty accounts come to about 0.02 SOL: worth a few minutes, not a weekend.
Is closing a token account the same as reclaiming subscription rent?
No: a token account and a subscription account are different accounts, closed by different instructions. A Fianto subscription opens its own 155-byte account in the Solana Foundation's Subscriptions program. As of 15 October 2026 its rent was 1,437,640 lamports, about 0.00144 SOL, and it comes back when you reclaim it in the portal at fianto.xyz/my after the subscription has ended and been cancelled on Solana. The one-time wallet setup account, 1,188,720 lamports or about 0.00119 SOL that day, is not returned. The checkout always shows the live amounts.
That flow, with its timing and the button to press, is in account rent and reclaim. The rest of this post is about plain token accounts.
Which token accounts can you safely close?
You can close a token account when its balance is zero and you sign as its close authority, which is the owner unless the owner handed that role to another address. The Token program documentation is direct: "Non-native Accounts must have a balance of zero to be closed." The only exception is wrapped SOL, which unwraps as it closes. Whether you should close it is a separate question:
| Account | Close it? | Why |
|---|---|---|
| Empty account for a token you no longer hold or want | Yes | Its rent comes back and nothing depends on it |
| Account holding a few leftover tokens (dust) | Only after emptying it | Send or burn the balance first; a non-zero account cannot close |
| Your USDC account, when a subscription charges this wallet | No | The next renewal fails and counts against the subscription |
| The USDC account of a wallet you get paid into | No | Payments have nowhere to land, and Fianto refuses new checkouts |
| A Fianto subscription account | Not with a token tool | Reclaim its rent in the portal after the subscription ends |
An empty USDC account is easy to mistake for clutter. If you spend your last USDC between two renewals, the account sits at zero and a clean-up tool will offer to close it. That is the case to stop and check.
How to close an empty token account
- List your token accounts. Your wallet shows balances by token; an explorer page for your wallet address, or the RPC method getTokenAccountsByOwner, shows every account including empty ones.
- For each empty account, read its mint, the address that says which token it holds. If the mint is
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, it is USDC: skip it if any subscription charges this wallet or anyone pays you into it. - Empty any account that still holds dust. Transfer the tokens to an account you keep, or burn them if they are worthless.
- Close the account with the Token program's CloseAccount instruction, signed by the owner (or by the close authority instead, if one was set), naming your wallet as the destination for the SOL. Your wallet may do this for you under a clean-up option; the command line has spl-token close for one account and spl-token gc, which the Token docs give as an example of tidying a wallet's extra accounts.
- Check your SOL balance. The account's lamports arrive in the same transaction, minus the fee you paid to send it.
What happens to a USDC subscription if you close your USDC account?
Opening the account again does not fix it on its own. A new token account carries no delegate, so the approval the Subscriptions program uses to collect is gone with the old one; Solana token delegation explained covers why. The portal offers Renew approval when the subscription is past due, the latest counted failure was the approval or the closed USDC account, and no cancel is scheduled. The failed renewals guide for payers walks through it: the wallet needs a USDC account again first.
If you meant to stop paying, cancel in the portal instead. A cancel runs to the end of the period you already paid for, and the subscription account's rent can be reclaimed once it has ended. For a renewal that failed for another reason, see why a USDC subscription didn't renew.
Can a merchant close the USDC account of the wallet it gets paid into?
A merchant should never close the USDC account of its receiving wallet, because every Fianto payment lands there and Fianto does not create it for you. Without it, creating a checkout session or building its payment fails with 422 merchant_, and the message tells the merchant to send any amount of USDC to the wallet once to create it again. Shop sales and payment links stop the same way, because they open checkout sessions too.
Subscriptions are bound on chain to that exact wallet when the customer signs, so they have nowhere else to pay. Keeping a little USDC in the receiving wallet is the simplest guard: an account with a balance cannot be closed by accident. Setting the wallet up is covered in accept USDC on Solana.
See how Fianto collects renewals on Solana and what the customer approves.
Solana subscriptions