How to Revoke Token Approvals and Protect Your DeFi Wallet

Transparent cryptocurrency wallet secured with a golden padlock, surrounded by approved smart contract access keys and a red revoked permission stamp, illustrating DeFi wallet security.

A DeFi wallet can have no active connections to decentralized applications and still contain permissions allowing external smart contracts to transfer its tokens.

Those permissions are called token approvals. They are created when you authorize an application to spend assets such as USDC, UNI, or another ERC-20 token.

Some approvals authorize a specific amount. Others grant practically unlimited spending access, potentially exposing tokens deposited into the wallet months after the original interaction.

You can inspect existing permissions without paying gas or revealing your recovery phrase. Removing an on-chain approval requires a transaction, but it normally doesn’t require transferring the tokens themselves.

Here’s how to check your wallet and remove permissions you no longer need.

What Are Token Approvals and Allowances?

Token approvals allow a designated address, commonly a smart contract, to transfer tokens on behalf of the wallet owner.

For standard ERC-20 tokens, the permission is stored in the token contract.

It identifies the token owner, the authorized spender, and the permitted spending amount.

Suppose you want to swap 200 USDC for ETH.

The decentralized exchange may first request permission to spend 200 USDC through its router or another designated contract.

Once approved, that spender can initiate token transfers within the allowed amount, subject to the contract’s rules.

The allowance remains in place until it is consumed, changed, or revoked.

An approval doesn’t immediately move tokens. It creates authorization that can be used in a later transaction.

Limited vs Unlimited Token Approvals

PermissionSpending LimitPotential Exposure
Limited approval100 USDCUp to the remaining 100 USDC allowance
Larger approval5,000 USDCUp to the remaining 5,000 USDC allowance
Unlimited approvalExtremely large amountPotentially the entire available token balance
Revoked approvalZeroNo spending through that ERC-20 allowance

These limits apply to the specific token and spender relationship, not automatically to every asset in the wallet.

For NFT collections, operator approvals work differently and may authorize transfers of multiple NFTs.

Why Unlimited Token Approvals Can Be Dangerous

Many DeFi interfaces request unlimited allowances to reduce repeated approval transactions.

This improves convenience but creates long-lived permissions.

If a spender contract becomes compromised or turns out to be malicious, it may use its existing authorization to transfer tokens without requesting another approval from the wallet owner.

Consider an account with 10,000 USDC.

ScenarioUSDC BalanceAuthorized AllowanceMaximum Potential Exposure
Limited permission10,000200 USDC200 USDC
Broad permission10,0005,000 USDC5,000 USDC
Unlimited permission10,000Effectively unlimited10,000 USDC

The exposure is limited by the available balance, remaining allowance, and applicable contract behavior.

An unlimited approval can also affect future deposits. If you withdraw all your USDC and later receive another 10,000 USDC, the old permission may still authorize spending those tokens.

That persistence is the main reason to review unused allowances.

Token Approval vs Wallet Connection vs Signature

These three actions are frequently confused.

ActionWhat It DoesRequires Gas?
Connect walletAllows an application to interact with your wallet interfaceUsually no
Sign a login messageProves control of an address for authenticationUsually no
Approve ERC-20 spendingCreates or updates an on-chain token allowanceYes, for standard approvals
Sign a Permit authorizationMay authorize token spending through an off-chain signatureUsually no at signing
Revoke on-chain approvalRemoves or reduces an existing allowanceYes

Disconnecting a website does not revoke approvals stored in a token contract.

Likewise, not every signature is harmless.

EIP-2612 Permit signatures and Permit2 authorizations can grant spending permissions without a conventional approval transaction.

A regular login signature usually doesn’t authorize spending, but users must inspect what they are signing rather than relying on a wallet popup’s appearance.

How to Check Token Allowances in Your Wallet

One convenient way to inspect existing permissions is through Revoke.cash.

The service supports Ethereum and numerous other EVM-compatible networks.

Step 1: Open the Official Revoke.cash Website

Navigate to:

https://revoke.cash

You can enter your public wallet address to inspect approvals without connecting your wallet.

Alternatively, connect a supported wallet if you intend to revoke permissions.

Only use the official website. Fake approval-checker websites are a common phishing risk.

Step 2: Select the Correct Blockchain

Approvals are network-specific.

An approval recorded on Ethereum Mainnet is separate from one on Base, Arbitrum, or another network.

Select the blockchain where you previously interacted with the decentralized application.

If your wallet uses several networks, review them separately.

Step 3: Review the Approval List

The dashboard displays detected permissions, including information such as:

  • Token contract.
  • Approved spender.
  • Allowance amount.
  • Permission date or related activity.
  • Available revoke action.

Look for unlimited allowances and spender addresses associated with applications you no longer use.

A contract you don’t recognize isn’t automatically malicious. Verify its address and transaction history before drawing conclusions.

How to Revoke Token Approvals Using Revoke.cash

Once you’ve identified an unnecessary permission, removing it is usually straightforward.

Step 1: Connect the Wallet

Connect the wallet that originally granted the approval.

Ensure the selected network matches the blockchain containing that permission.

You must control the relevant wallet address to submit the revocation transaction.

Step 2: Select the Approval

Find the token and spender you want to remove.

Double-check both addresses, particularly if several applications use the same token.

For an ERC-20 allowance, the revoke action generally updates the authorized amount to zero.

The underlying token contract operation is:

approve(spender, 0)

For NFT collection-wide operator permissions, the equivalent operation typically changes the approval status to false.

Step 3: Review the Wallet Transaction

Select the revoke action and inspect the transaction in your wallet.

Confirm the correct blockchain, contract interaction, and estimated network fee.

Some wallets may display the word “Approve” because granting and revoking ERC-20 allowances use the same contract function.

The important detail is that the new authorized amount is zero.

Never sign a new unlimited spending approval presented as a mandatory step to remove an old one.

Step 4: Confirm and Verify

Submit the transaction.

After blockchain confirmation, refresh the approval dashboard.

The relevant allowance should be zero, or the NFT operator authorization should be disabled.

Revoke.cash’s standard individual revocation tools are free to use apart from blockchain gas fees. Optional batch features may have additional service charges.

How to Revoke Smart Contract Permissions on Etherscan

Etherscan provides another way to inspect and revoke permissions on Ethereum.

Open:

https://etherscan.io/tokenapprovalchecker

Enter your public Ethereum address.

Choose the relevant token standard: ERC-20, ERC-721, or ERC-1155.

Review the spender information and authorized permissions. Enable the option to display all approvals if needed.

For a permission you want to remove, select Revoke, connect your wallet through the supported interface, and confirm the transaction.

Once confirmed, refresh the checker and verify that the authorization has been removed.

For other blockchains, use a compatible explorer for that network or an approval-management service supporting it.

How Much Does It Cost to Revoke Token Approvals?

Checking token allowances is generally free.

An on-chain revocation changes blockchain state, so the transaction requires gas.

On Ethereum Mainnet, the transaction fee depends on gas used and the effective gas price.

Transaction Fee = Gas Used × Gas Price

Suppose a revocation consumes 45,000 gas units.

Illustrative Ethereum Revocation Costs

Gas PriceGas UsedFee in ETH
2 gwei45,0000.00009 ETH
5 gwei45,0000.000225 ETH
10 gwei45,0000.00045 ETH
20 gwei45,0000.00090 ETH

At a hypothetical ETH price of $3,000, a transaction costing 0.000225 ETH would equal approximately $0.68.

These are mathematical examples, not live gas quotations.

Actual gas usage depends on the token contract and revocation method. Other EVM networks have different fee structures, and some tools charge separately for optional batch operations.

If you need to remove several permissions, compare the cost against the risk of leaving each authorization active.

Which Token Approvals Should You Revoke First?

Not every unlimited allowance is evidence of a compromised wallet.

A well-established DeFi protocol may use broad permissions for legitimate operations.

However, some approvals deserve more immediate attention.

Token Approval Risk Checklist

Permission TypeMain ConcernSuggested Action
Unknown unlimited spenderPotential unauthorized token transfersVerify and prioritize removal
Contract linked to a known exploitExisting spending authority may be dangerousRevoke promptly if safe
Old unused applicationUnnecessary ongoing exposureRevoke
Active protocol with limited allowanceSpending remains authorizedReview whether needed
Unlimited NFT operatorMultiple NFTs may be exposedCheck operator and revoke if unnecessary
Permit2 permissionsMultiple layers of spending authorizationInspect underlying and delegated permissions

Risk classifications are qualitative. They don’t represent measured probabilities of loss.

Revoking permissions is generally a trade-off between convenience and security.

Some applications will require a new approval before you can use them again.

What About Permit2 and Off-Chain Signatures?

Not every token authorization appears as a conventional ERC-20 allowance.

Permit2 allows supported applications to manage more flexible spending permissions through a separate contract.

There are potentially two authorization layers:

  1. The ERC-20 approval granted to the Permit2 contract.
  2. The individual spending permissions managed through Permit2.

Removing a token’s allowance to Permit2 can block spending through that allowance, while delegated Permit2 permissions may need separate review.

Certain signature-based authorizations expire automatically. Others can remain valid until a deadline or nonce invalidation.

A signed EIP-2612 Permit message may not be visible on-chain until it is used.

Because off-chain signatures aren’t necessarily published, approval scanners cannot provide a complete inventory of every signature a wallet owner has created.

Some supported signature types can be invalidated through dedicated cancellation tools, but the appropriate method depends on the signature system.

This is why reviewing allowances and reviewing signed authorizations are related but different security tasks.

Does Revoking Approvals Protect an Already Compromised Wallet?

Revocation can stop future transfers through a specific allowance once the transaction is confirmed.

It cannot reverse completed transfers or guarantee protection against transactions an attacker has already submitted.

More importantly, if someone controls your private key or recovery phrase, they may create new approvals or transfer assets directly.

In that situation, revoking allowances is not sufficient.

Any remaining assets should be secured in a newly created, uncompromised wallet through carefully verified transactions.

Never provide a recovery phrase to an approval checker, wallet recovery website, or support representative.

Also remember that a hardware wallet cannot prevent misuse of an approval you knowingly signed. Hardware wallets protect private keys but don’t automatically make every authorized smart contract safe.

Common Mistakes When Removing Unlimited Token Approvals

Several mistakes can undermine an otherwise straightforward wallet security check.

One is confusing disconnecting a decentralized application with removing its on-chain spending authorization.

Another is checking only Ethereum while forgetting permissions granted on Layer 2 networks.

Users may also revoke the wrong spender because they rely on token symbols rather than verified contract addresses.

Finally, an approval checker showing no detected permissions does not guarantee that every possible signature-based or nonstandard authorization has been canceled.

The safest approach is to review transaction details carefully and verify the result after every revocation.

Frequently Asked Questions

Is it safe to revoke token approvals?

Generally, yes. Revoking an unnecessary allowance removes spending authorization rather than transferring the approved tokens. Always verify the transaction before signing.

Does Revoke.cash need my seed phrase?

No. A public address is sufficient to inspect supported approvals. Revoking permissions requires signing a transaction with your wallet, never sharing your recovery phrase.

Can I revoke unlimited token approvals?

Yes. Standard ERC-20 allowances can generally be reduced to zero through an on-chain transaction.

Does revoking an approval affect staked or deposited funds?

Usually, revoking a wallet’s spending allowance does not remove funds already deposited in a protocol. Future deposits or certain application interactions may require another approval.

Is disconnecting my wallet the same as revoking approvals?

No. Disconnecting removes an application’s wallet connection, while the on-chain allowance remains until changed or revoked.

Does revoking token permissions cost gas?

Yes, standard on-chain revocations require gas. The amount depends on the network, transaction complexity, and prevailing fees.

Can I cancel a malicious Permit signature?

Some Permit signatures can be invalidated using the relevant nonce or cancellation mechanism. The available method depends on the signature standard, and cancellation may be ineffective if an attacker has already used it.

How often should I check token allowances?

Review approvals after interacting with unfamiliar applications, following relevant security incidents, and periodically when maintaining an active DeFi wallet.