How to Revoke Token Permissions on MetaMask

Datawallet Team
Last updated
September 26, 2026
This date marks a full audit, not a minor edit. Our editing team reviews every claim, figure, and platform detail in line with our editorial guidelines before republishing.
Fact checked
Editorially Verified
Editorial fact-check process

This article has been reviewed and verified for accuracy by our editorial team. All claims, data points and platform details are cross-referenced against primary sources.

Data accuracy verified
Sources cross-referenced
Platform details confirmed
View our fact-checking process
Disclaimer
Affiliate Disclosure
How Datawallet is funded

Some links on this page are affiliate links. Datawallet may earn a commission when you sign up through them, at no extra cost to you. Ratings and rankings reflect our own testing and assessment criteria.

Read our full disclosure

Summary: MetaMask wallets hold four kinds of permission, each with its own removal process. Clear site connections inside the wallet and revoke token spending caps through an onchain transaction.

Cancel ERC-7715 advanced permissions from Dapp connections. For EIP-7702 smart account delegations, use Account details to switch them off on each network. Disconnecting a site leaves spending caps active, while revoking a cap does not cancel a signed Permit that has yet to be submitted.

The safest habit is to review MetaMask Portfolio or Revoke.cash monthly and revoke every allowance to a contract you no longer use.

Site
Best Tool for Revoking MetaMask Permissions
4.9
/5
Our Rating
Our rating is an editorial verdict from hands-on testing of fees, security, liquidity, and features. It is not a paid placement. See our Editorial Methodology for the full framework.

Revoke.cash lists every spending cap, NFT approval, Permit2 allowance and smart account delegation across 100+ EVM networks, flags approvals tied to known exploits, and revokes them in batches.

Supported Chains
100+ EVM Networks
Speed
Scans Wallets in Seconds
Coverage
Supports NFTs and Tokens
We may receive a commission when you make a transaction through our links, at no extra cost to you.

Can You Revoke Token Permissions on MetaMask?

Every permission a MetaMask account has granted can be removed. The method depends on the permission type.

MetaMask's help center distinguishes between disconnecting a site and revoking an approval. Disconnecting stops a website from seeing your address and balances. Any token approval you signed there remains active onchain and can still move your tokens.

Two newer permissions can also give a dapp ongoing access to tokens. Since Ethereum's Pectra upgrade, MetaMask can use EIP-7702 to point an ordinary account at its own smart contract. This smart account status is switched on by default for new users.

ERC-7715 advanced permissions, which MetaMask has also started supporting, let a dapp spend a capped amount of a token on a schedule without requesting a signature each time. Both permission types can be turned off inside the wallet.

The Four Permission Types and What Each One Controls

Each permission is stored differently, which determines where you remove it.

  • Site connection: Lets a website see your public address, token balances and activity, and send transaction requests for approval. It cannot move funds by itself. Connections are stored locally in MetaMask and cost nothing to remove.
  • Token spending cap (approval or allowance): An onchain record on a token contract authorizing a specific spender, the contract address you approved, to move up to a set amount of that token from your wallet. Dapps commonly request unlimited caps. MetaMask warns that unlimited spending caps are dangerous because a hacked or fraudulent dapp can drain your entire balance of that token. NFT marketplaces use a related permission, setApprovalForAll, covering every token in a collection.
  • Permit and Permit2 signatures: Gas-free signatures that grant a spending cap when a contract later submits them. EIP-2612 Permit works on tokens with the function built in. Uniswap's Permit2 contract extends this approach to any ERC-20 token once you approve Permit2 itself. Neither signature appears onchain before submission.
  • Smart account delegation and advanced permissions: An EIP-7702 delegation points your account at MetaMask's Delegator contract, enabling transaction batching and sponsored gas. ERC-7715 advanced permissions build on that smart account to grant a dapp limited, time-bound token access, such as 10 USDC per day for a subscription. Each requires separate revocation steps.
The Four Permission Types and What Each One Controls

How to Revoke Token Permissions on MetaMask

Four methods cover every permission type. We use the first after each session and the second or third for anything involving funds.

1. Disconnect Sites Inside MetaMask

Disconnecting is enough if a website only connected to your wallet and never requested a token approval. It is also the first step after visiting a page you do not trust.

Remove a site's connection from the wallet:

  1. Open Dapp connections: In MetaMask Extension, click the menu at the top right of the account view and choose Dapp connections. On mobile, open the site in the in-app browser and tap the account icon at the top right.
  2. Pick the site: Select the website, then press Disconnect on Extension or Disconnect all on mobile to remove your accounts from it.
  3. Clear everything at once: Go to Settings, then Security & Privacy, then Clear privacy data. This removes all site connections for the currently selected account in one tap.

Disconnection is free and instant because it writes nothing to the blockchain. It also revokes nothing onchain. If you signed an approval on the site, continue to the next step.

1. Disconnect Sites Inside MetaMask

2. Revoke Spending Caps in MetaMask Portfolio

MetaMask Portfolio is a separate web dashboard containing MetaMask's approval manager. It lists and revokes spending caps on Ethereum Mainnet, Polygon, BNB Chain, Optimism and Base.

Revoke an allowance from MetaMask Portfolio:

  1. Open Portfolio: Go to portfolio.metamask.io, connect MetaMask and stay on the Overview tab.
  2. Switch to Spending Caps: Click the Spending Caps tab to view active allowances on the connected accounts, listed by token and spender.
  3. Revoke and confirm: Press Revoke beside the allowance, then confirm in MetaMask. Each revocation requires an onchain transaction and a network gas fee to process it.

Portfolio suits users who want to stay within MetaMask and use only its five supported networks. For Arbitrum, Avalanche, Linea or smaller chains, choose one of the next two options.

3. Revoke Approvals Using Revoke.cash

MetaMask's help center lists Revoke.cash first among third-party tools. We use it for addresses active across several chains. Alongside ERC-20 spending caps, the dashboard displays NFT approvals, Permit2 allowances and EIP-7702 delegations. An exploit checker compares your approvals against a list of hacked contracts.

Audit and revoke across 100+ networks:

  1. Load your address: Open Revoke.cash and connect MetaMask, or paste your address or ENS name into the search bar. An ENS name is a readable name ending in .eth. Select the network to inspect.
  2. Sort and filter: Sort by most recent to find a fresh malicious approval, or filter for unlimited allowances. If a security alert identifies a contract, search by spender.
  3. Revoke or batch revoke: Click Revoke beside an approval and confirm in MetaMask. To remove several, select them and use batch revoke. This uses an EIP-7702 smart account to combine dozens of revocations into one transaction.

The core dashboard is free, and individual revocations cost only gas. On the free tier, Revoke.cash charges $1.50 per batch. Premium costs $99 a year, removes batch fees and adds a multichain view. Ultimate, at $199 a year, continuously monitors approvals and automatically revokes risky ones, with a small gas budget included.

Its free browser extension supports every EVM network and warns before you sign a suspicious approval or Permit.

4. Use the Block Explorer's Token Approval Checker

Most major EVM explorers have an approval checker. MetaMask directs users to Etherscan, BscScan and Polygonscan, where you can verify a spender's contract on the same site you use to read transactions.

Revoke from an explorer:

  1. Connect to Web3: Open your network explorer's token approval checker, click Connect to Web3 and choose MetaMask.
  2. Review spenders: The checker lists ERC-20, ERC-721 and ERC-1155 approvals, including the spender's contract name where verified. Open the contract page for any spender you do not recognize.
  3. Revoke and pay gas: Press Revoke beside the entry. Check the token and spender in MetaMask's confirmation window, then confirm the transaction.

Each explorer checker covers one chain. Auditing a wallet used on six networks therefore requires six separate visits, so we default to a multichain tool for a full review.

How to Revoke Smart Account Delegations and Advanced Permissions

Smart accounts are enabled by default for new MetaMask users, so many now hold an EIP-7702 delegation without having set it up themselves. A delegation to MetaMask's audited Delegator contract is safe. However, batching lets a transaction move several assets at once, increasing what a phishing site can do with one signature.

In the months after Pectra, Scam Sniffer recorded two large EIP-7702 batch phishing cases with combined losses of $2.54 million.

Switch a smart account back to a standard account:

  1. Open Account details: Click the account selector at the top of MetaMask, press the three dots beside the account and choose Account details, then Smart account.
  2. Toggle each network off: Switch off smart account status on every network you want to revert. The setting is network-specific, and each toggle requires a transaction with a small gas fee.
  3. Confirm the revert: Review and confirm in MetaMask. Your address, funds and Secret Recovery Phrase stay the same because the account remains an EOA, an ordinary key-controlled account, throughout.

Revoke.cash displays active delegations in its Delegations tab but cannot cancel them. MetaMask does not allow external dapps to set or revoke EIP-7702 delegations, leaving the wallet's toggle as the only removal method.

To cancel ERC-7715 advanced permissions, open Dapp connections in MetaMask and revoke the active permission. Many have an expiry date and end automatically.

If you have disabled your smart account, MetaMask asks you to re-enable it before a dapp can request an advanced permission. That prompt signals that the dapp wants ongoing access.

How to Revoke Smart Account Delegations and Advanced Permissions

What to Do About Permit and Permit2 Signatures

No dashboard can show which Permit signatures you have signed because they only appear onchain when the recipient submits them. Wallet drainers favor this blind spot. Scam Sniffer's most recent annual report attributed 38 percent of large-case losses to Permit and Permit2 signatures, including the year's largest theft, $6.5 million in stETH and wrapped Bitcoin.

If you suspect you signed a Permit on a phishing site, first use Revoke.cash or Portfolio to revoke your standing approval to the Permit2 contract. Revoke approvals to NFT marketplace contracts such as OpenSea or Blur as well.

Next, open the Signatures tab on your Revoke.cash account page to cancel potential Permit signatures for tokens you hold. Revoke.cash states that this page can only list tokens where a signature could exist. Only spend gas on cancellation if you are confident you signed something.

If funds are already leaving and every ETH top-up disappears within seconds, your seed phrase has been taken. Revoking will not help. Move whatever remains to a fresh wallet and abandon the old one.

When approving Permit2, replace the unlimited default with a spending cap. MetaMask lets you edit the cap on the confirmation screen before signing, limiting how much a later signature can drain.

How to Revoke Token Permissions on Solana

EVM revoke tools do not work on Solana because its permissions operate differently. Each token sits in its own token account, whose owner can appoint a single delegate to transfer up to a set amount. Only the token account owner can sign the Token Program's Revoke instruction, which clears the delegate and resets the delegated amount to zero.

Most Solana DeFi actions do not create a lasting delegate. Drainers instead use fake claim pages that quietly approve one.

MetaMask's Solana accounts lack a dedicated delegate screen, so you need to connect to a Solana revoker tool. Phantom's help center recommends the Famous Fox Federation Revoker. Sol Incinerator's revoke tool also scans SPL Token and Token-2022 accounts.

Clear Solana delegates with a revoker tool:

  1. Connect a Solana wallet: Open the revoker and connect Phantom, Solflare or another supported Solana wallet. Let it scan your token accounts for active delegates.
  2. Check the approved address: Review each token name, mint address and delegate. Keep any delegate required by an open marketplace listing or lending position.
  3. Revoke and sign: Select the delegates to remove and sign the transaction. Your tokens stay in your wallet, and you pay only the standard Solana network fee.

Disconnecting a Solana app in Phantom or MetaMask stops new signature requests but leaves onchain delegates intact. The same distinction applies on Ethereum. Our MetaMask vs Phantom comparison explains how both wallets handle Solana.

How to Revoke Token Permissions on Solana

Why Revoking Permissions Still Matters

Approval and signature phishing declined sharply last year, but losses remain concentrated in the permissions covered here. Scam Sniffer tracked $83.85 million stolen from 106,106 victims through wallet drainers in 2025. That was down 83 percent from $494 million the previous year.

Losses followed market activity, reaching $31 million in the third quarter during Ethereum's biggest rally of the year. All eleven cases exceeding $1 million involved a signature approved by the victim. These included Permits, approve or increaseApproval calls, setApprovalForAll permissions on Uniswap V3 position NFTs, and EIP-7702 batches.

Approvals to legitimate protocols also carry lasting risk. An allowance granted two years ago remains valid if the protocol is later exploited or its front end compromised. An attacker can use that allowance without your keys. As Revoke.cash explains, a hardware wallet offers no protection here because the signed approval already authorizes spending. Regular revocation is the only defense that works after the fact.

We treat approvals to decentralized exchanges, bridges and NFT marketplaces as temporary. After using any of the leading decentralized exchanges or a cross-chain bridge, we revoke the allowance in the same session. The next time we need it, we approve only the exact amount.

Why Revoking Permissions Still Matters

Common MetaMask Revocation Problems and Fixes

Most failed or confusing revocations come down to three causes. Check them in order before assuming the wallet is at fault.

1. The Approval Is Not Showing Up

Check the permission type and the network first:

  1. Confirm what you granted: A site connection does not appear in a spending cap list. Check Dapp connections instead. If you enabled a smart account, look in the Delegations tab.
  2. Match the network: Approvals are recorded separately on each chain. For an approval signed on Arbitrum, switch both MetaMask and the revoke tool to Arbitrum. If the network is missing, follow our guide to adding networks to MetaMask.
  3. Try a second tool: Portfolio indexes only five networks, while each explorer indexes its own. If the allowance is missing from both, load your address into Revoke.cash and check the same chain.

2. The Revocation Transaction Fails

Rule out gas and pending transactions:

  1. Fund the native token: Onchain revocations require the network's native coin for gas, such as ETH, POL, BNB or SOL. Before starting a long batch, check the current cost on our Ethereum gas tracker.
  2. Clear stuck transactions: A pending transaction with a lower nonce blocks those behind it. The nonce is the sequence number MetaMask assigns to each transaction. Speed up or cancel the pending transaction in the Activity tab before retrying. If the confirmation window returns an error, see our fix for the internal JSON-RPC error in MetaMask.
  3. Wait out the RPC: Public RPC endpoints are the servers MetaMask uses to reach a chain. During congestion, they can drop requests on smaller networks. Retry after a few minutes or switch to another RPC for that network.

3. The Permission Still Looks Active

Separate stale data from a real problem:

  1. Refresh the source: Revoke tools cache results. Once the revocation confirms, reload and re-scan, then check the transaction hash on the explorer to verify success.
  2. Check for a re-approval: Some dapps automatically request another approval when you return. A reappearing allowance means the site requested it again and you signed it.
  3. Look for a sweeper bot: If ETH deposited for gas disappears immediately, your private key is compromised and revocation will not hold. Move everything you can to a new wallet without reusing the seed phrase.

Final Thoughts

Every permission on a MetaMask account can now be removed. Portfolio handles spending caps on five networks, while Revoke.cash covers the remaining permission types, including Permit2 and delegations. Smart account delegations and ERC-7715 permissions are switched off inside the wallet.

Set a monthly reminder to review Revoke.cash or Portfolio and remove unused allowances. For approvals you keep, choose a spending cap instead of unlimited access. Together, these habits remove most of the exposure wallet drainers depend on.

How to Revoke Token Permissions on MetaMask