If you've approved something dodgy, revoke it before the attacker uses it. A token approval is standing permission for a smart contract to move tokens or NFTs out of your wallet, sometimes every token of a type at once, and it stays in place until you revoke it. Scam pages collect blanket approvals on purpose and drain the affected tokens whenever the attacker decides.
Find your situation
What you're seeing | What it means | Path |
You just clicked a scam link and approved something, but funds are still in the wallet | The approval is sitting there waiting to be used; revoke now | Revoke an approval |
Your wallet has been quiet for a while and you want to clean up | Review every active approval and revoke anything you don't recognise | Revoke an approval |
Funds or NFTs have already moved out of the wallet without you signing | A bad approval was used. Revoke any others before they're used too, then move what's left | Revoke an approval, then move funds to a new wallet |
Your | The name was transferred out. Revoking an approval won't bring it back | |
Your recovery phrase has been shared, photographed, or typed into a website | The wallet is fully compromised; revoking can't help | Move everything to a fresh wallet — see the Important note below |
Good to know
A token approval lets a smart contract move specific tokens or NFTs from your wallet. Most are routine (a swap on Uniswap needs one); the dangerous kind is
setApprovalForAll, a blanket permission for every token in an NFT collection.Revoking doesn't undo transfers that already happened. Tokens already gone are gone; blockchain transactions can't be reversed.
The original gas you paid to grant the approval isn't refunded.
Pick a tool
Tool | Where it runs | Notes |
revoke.cash | Community-built and widely used. | |
Etherscan Token Approval Checker | Etherscan's own tool. Reference article on Token Approvals. |
Both do the same job. Pick whichever you find easier to read.
Revoke an approval
Open the tool. Go to one of the URLs above and connect your wallet.
Pick the network. Approvals are per-chain; switch between Ethereum Mainnet, Base, Arbitrum, and others to see each chain's active approvals.
Find the approval. Each row shows the token, the contract that has access, and how much the contract can move. Approvals on contracts you don't recognise, especially
setApprovalForAllon an NFT collection, are the priority.Select Revoke. Approve the revoke transaction in your wallet. Most confirm in 1–2 blocks (12–24 seconds); busy networks can take longer.
Repeat for each one you want gone. One transaction per approval.
Revoking is a transaction, so you need a bit of ETH on Ethereum Mainnet (or the L2 the approval lives on) for gas; there's no other cost.
Important: If your recovery phrase has been compromised (written down somewhere others have seen, photographed, or typed into a fake login), revoking approvals won't help. Anyone with the seed phrase has full wallet access and can re-grant any approval you revoke. Move funds and any ENS names to a new wallet with a fresh seed phrase.
