We Refund Your Rent Deposit When You Cancel — Why Finality Never Saw That as Optional
Closing a subscription vault on Finality returns everything in one transaction: the unused balance, and the few cents of blockchain rent nobody else bothers to give back. The story of a small product decision that defines what non-custodial actually means.
The short answer: when a customer closes a subscription vault on Finality, one transaction does three things: stops all future charges, returns the entire unused balance, and refunds the rent deposit — the small amount of SOL that Solana requires to keep an account alive on-chain. That last item is usually less than a dollar. Almost nobody in this industry returns it. This post is about why we decided that refunding it was never actually a choice — and what that small decision says about what "non-custodial" has to mean if it means anything.
First, what this deposit even is
Solana charges rent for on-chain storage. Any account — including the vault a customer funds for a subscription — must hold a minimum balance (the "rent-exempt" amount) to exist. It's not a fee; it's a deposit. Close the account, and the lamports come back.
So when a customer starts a subscription on Finality, they're paying three distinguishable things: the subscription charges (which go to the merchant, per the billing terms welded into the vault's address), the funds they've pre-loaded (which remain theirs), and this rent deposit (which the chain holds as long as the vault exists).
Two of those three have obvious owners. The interesting question — the one that quietly sorts payment platforms into two kinds — is who gets the third.
The industry default: nobody gives the dust back
In most crypto products, small residual balances are treated as rounding noise. Accounts get abandoned rather than closed; deposits sit locked forever; sometimes closing isn't even a button that exists. The amounts are small enough that nobody complains, which means nobody builds the path, which means the money is — in every practical sense — gone.
We understand the economics of that choice. A rent deposit is maybe half a dollar. Building a proper close instruction — one that returns SPL balances, closes the token account, sweeps every remaining lamport back, and wipes the vault — is real engineering. On a spreadsheet, it never pays for itself.
The decision, as it actually happened
When we designed the close-vault instruction, the question came up the way it always does — as a small scope discussion. Does close return the rent too, or just the balance?
The answer we landed on became a design rule we now apply everywhere: ownership doesn't scale with amount. The deposit is the customer's money. Fifty cents of someone else's money is still someone else's money. A platform that says "your funds, your keys" and then quietly keeps the dust is running a marketing slogan, not an architecture.
So on Finality, closing a subscription is one transaction that: returns the full token balance to the owner's wallet, closes the vault's token account (that rent flows back), sweeps every remaining lamport from the vault to the owner, and wipes the account. There is no residue. There is no "contact support to recover small balances." The vault ends the way it began: with everything in the customer's hands, verifiable on-chain by anyone.
And one detail we're quietly proud of: canceling doesn't require a separate step first. Close implies cancel — one signature, everything back. Nobody has ever wanted the two-step version.
Then we went one step further
Building this surfaced an uglier edge case: what happens if someone accidentally sends funds to a vault after it's been closed? On most platforms, money sent to a dead address is a eulogy, not a support ticket.
We built a second on-chain instruction for exactly this: reclaiming orphaned funds from a closed vault, with ownership proven by the address derivation itself — the vault's address is mathematically bound to its owner, so the chain can verify who the money belongs to even though the account's data is gone. Wrong-window transfers, delayed exchange withdrawals landing late — recoverable, by the owner, on-chain.
Was there a business case? Not really. There was a consistency case: "your money is always recoverable" is either a property of the system or it's false. It can't be true for balances and false for dust, true before closing and false after. Properties don't have exceptions; policies do. We wanted the property.
The question we now ask about every feature
This tiny decision gave us a test we've used on everything since: if Finality disappeared tomorrow, does the customer get everything back without us? The vault's billing terms are enforced by the chain, not our goodwill. The close path returns everything, including the deposit. The orphan-reclaim path works because of address math, not a database we operate. Merchants settle every sale directly into their own wallets for the same reason.
That test is the honest meaning of non-custodial. It's easy to pass when the number is large and everyone is watching. The rent deposit is where you find out whether a platform passes it when the number is fifty cents and nobody would ever notice.
We built the industry's first real crypto subscriptions — automatic charges from a vault only the customer controls. The rent refund is a footnote to that architecture. But if you want to know whether a platform's principles are load-bearing, read its footnotes.
FAQ
How much is the rent deposit, actually?
Typically well under a dollar's worth of SOL. That's the point — it's small enough that keeping it would be invisible, which is exactly why returning it is the honest signal.
Do I need to cancel before closing?
No. Closing the vault stops future charges and returns everything — balance and deposit — in a single transaction. Cancel is contained in close.
What if I sent funds to my vault after closing it by mistake?
They're recoverable on-chain — ownership is proven by the vault's address derivation, so the funds can be reclaimed to your wallet even though the vault's data is gone.
Do I get my money back when I cancel a crypto subscription?
Everything unspent, yes — the crypto subscription refund here is structural: remaining balance plus the rent deposit, one transaction, no support ticket. What you've already been charged for past cycles is the merchant's, as agreed.
Are there any closing fees?
None — and there couldn't honestly be: the deposit was never our money, and charging to return it would be the industry default we wrote this post against.
What is Solana rent, in one line?
A refundable deposit the chain requires for on-chain storage — the full merchant's guide to rent economics is here.
Does the merchant lose anything when a customer closes a vault?
No — charges already earned are settled and final. The refund covers only what the customer hadn't used: their balance, their deposit.
How fast does the refund arrive?
Same transaction as the close — there is no processing window because there is no processor between the vault and the customer's wallet.
If you're evaluating subscription billing in crypto, the architecture is the headline: how real, auto-charging, non-custodial subscriptions work — and a sandbox where you can watch the whole lifecycle, including getting every cent back.