How to check and revoke Solana token approvals
When you trade, stake, or claim on Solana, you sometimes sign a transaction that hands out a permission: you let another address move a specific token out of a specific one of your token accounts, up to an amount you chose. That permission is called a delegate. Wallets and explorers may also call it an approval. This page explains what it is, what it can and cannot do, and how to clear it. Nothing here needs your seed phrase, on this site or any honest one.
What an approval actually is
On Solana, every token you hold sits in its own token account, a small on-chain record that ties one mint to your wallet. The Approve instruction writes one extra field onto that record: a delegate address and a delegated amount. The instruction runs on one token account. It is not a permission on your wallet as a whole, and it is not a permission on your other tokens.
If you have used Ethereum or other EVM chains, the closest comparison is an ERC-20 approval, but scoped tighter: per token account rather than per wallet.
What a delegate can do
A delegate can transfer or burn tokens from that one account, up to the delegated amount, without asking you again. That is the whole list. It exists so a program can act for you when you ask it to, for example settling a trade you agreed to.
What a delegate cannot do
- It cannot move SOL or any token from your other token accounts. Each approval lives on exactly one account.
- It cannot take more than the amount that was approved.
- It cannot spend from an account that holds nothing. An empty account has nothing to take.
- It cannot extend itself or grant itself anything new.
Why a stale approval matters
An approval you granted months ago is still on the account today. Nothing expires it. If the protocol you approved is ever compromised, or you approved something you did not mean to, that permission is what gets used. This is why people make a habit of revoking approvals they no longer need. A revoke is one small transaction: it clears the delegate and resets the delegated amount to zero. Closing the token account also ends any delegation on it, because the whole record is deleted.
Connected apps are not token approvals
Phantom and other wallets keep a list of connected apps in their settings. That list is a session between your wallet and a website: it controls whether the site can prompt you, not what the chain allows. A delegate is on-chain data on your token account. Disconnecting a site cannot change on-chain data, the same way closing a tab cannot change a bank record. Tidying your connected-apps list is good hygiene, but it does not revoke token approvals. Those are a separate list, cleared by a separate action.
How to see yours
Three honest ways. Some wallets show a delegate on a token account's detail screen, so open the token and look for a mention of a delegate, an approved spender, or a delegated amount. An explorer like Solscan shows the delegate field when you open the token account itself. And this site has a read-only option: open the wallet health report, connect to scan, and delegated accounts are listed as an active delegation. Reading never signs anything.
How to revoke one
With a dedicated tool. If the account still holds tokens and you want to keep it, an approval-revoking tool is the right instrument. Revoke.cash is the established one and supports Solana, and Solana Incinerator has a revoke page. Read what each one shows you before you sign, and check their fee terms on their own pages.
From the command line. The spl-token CLI has a revoke subcommand for token accounts you own. Run spl-token --help for the exact syntax on your version.
On this site. The scan offers a revoke action for delegated accounts that hold a balance: one account at a time, with your consent per account. Empty delegated accounts do not need a separate step; the repair clears the delegate and closes the account in the same transaction.
What this site does and does not handle
- Funded accounts with an active delegate: a per-account revoke action, one at a time. You approve each transaction.
- Empty delegated accounts: revoke plus close together, inside the repair.
- Frozen delegated accounts: listed read-only. The network rejects revoking a frozen account, so the page reports rather than pretends.
- A dashboard sweep of many approvals in one go: not what this site is. If you want to review every approval across your wallet in one place, Revoke.cash is genuinely the better tool for that job.
Checking what you signed
If you are unsure whether a past transaction granted a permission, you can read it. Paste any transaction signature into the transaction explainer and it names every lasting change the transaction made, including approvals. The steps for closing the accounts themselves are in how to close empty token accounts.