Deciphr Academy
Track 2 · Module 10 · Lesson 3 of 7 · 9 min read

How can one signature let a wallet drainer empty a crypto wallet?

Short answer

Many apps ask for a token approval, a permission to spend your tokens for you. If you approve, or sign a "permit" message, for an address the attacker controls, it can pull your tokens out without asking again.1,2,3 An unlimited approval puts the whole balance of that token at risk, and approvals never expire until you revoke them.4,5

Your walletbalance: 80,000 USDCSpender contractthe app, or a drainerapprove (allowance)transferFrom: pulls tokens outWhat can it take? The smaller of allowance and balanceAllowance 5,000balance 80,000: up to 5,000 at riskAllowance unlimitedbalance 80,000: all 80,000 at riskApprovals have no expiry date until you revoke them
Fig. 3. An approval lets a spender pull tokens with transferFrom. What it can take is the smaller of the allowance and the balance.

Approvals: letting a contract spend your tokens

Revoke.cash, which makes a tool for checking approvals, explains that token approvals give a smart contract permission to spend your tokens on your behalf.2 Exchanges and lending apps built on smart contracts use them all the time.2

The ERC-20 token standard sets out how this works.1 Module 12 covers it in more detail.

  • approve lets a spender withdraw from your account several times, up to a limit. Calling it again replaces the old limit.1
  • allowance shows how much the spender may still withdraw.1
  • transferFrom is how a contract moves tokens out of your account, on your behalf.1

Unlimited approvals

Many apps ask for an unlimited approval, so you only approve once and pay the network fee once.5 ethereum.org warns against this: an unlimited spend could let the smart contract drain your wallet.4

Two facts make old approvals risky. They have no expiry date and can be used years later. And disconnecting your wallet from an app does not cancel them.5 If the approved contract is hacked or was malicious all along, Revoke.cash says, your tokens can be stolen.2

What a drainer does

A drainer is a tool that empties wallets once the victim has connected or approved it. The FBI has warned about several versions.6,7,8

  • Fake NFT launches. Victims connect their wallets to a "drainer smart contract" on a copy of a real project's site. Their crypto and NFTs go to criminals.6
  • Fake "liquidity mining". A pop-up asks for permissions. By accepting, victims let scammers pull an unlimited amount out of their wallets.7
  • Fake play-to-earn games. When victims stop paying in, criminals drain their wallets using a program the victims unknowingly switched on when they joined.8

Microsoft's security researchers call one version "ice phishing". The attacker tricks you into signing an approval to the attacker, rather than to the real app.9 To do it, the attacker only needs to change the spender address. Microsoft says a wallet screen may not show enough to tell that anything has changed.9 The attacker can collect approvals over time, then drain many wallets quickly.9

Microsoft's example is the Badger DAO attack of late 2021. Part of Badger's website set-up was compromised, and its site asked users to approve the attacker. Microsoft says the attacker drained 121 million US dollars from almost 200 accounts within 10 hours.9

Permit signatures: an approval without a transaction

The ERC-2612 standard adds a function called permit. It lets you set an allowance with a signed message, instead of sending an approval transaction yourself.3 Anyone can then submit that signed message to the token contract.3 A signed permit can only be submitted up to its deadline, but the deadline can be set so that it effectively never expires.3

Revoke.cash says scammers often use permit signatures. Signing one costs nothing and sends nothing on-chain, so it may look like you are just signing in to a website, when you are really granting an approval.10 It adds that most tokens don't support permit.10

How much could a drainer take?

How we work out what an approval puts at risk

For each token, the most a spender can take is the smaller of its allowance and the wallet's balance. An unlimited approval means the whole balance. Add up the tokens one by one. Because an allowance has no expiry date, tokens that arrive later are at risk too.1,5

Checking and revoking

ethereum.org lists several websites that show and revoke the permissions linked to your address, including Etherscan and Revoke.cash.5 Naming a tool is not a recommendation. To revoke an approval, the tool sets the allowance back to 0.2 That is an on-chain transaction, so it costs a network fee.5

The FBI suggests checking now and then with a third-party token allowance checker, and revoking what you didn't mean to allow.8,7 For crypto games, it suggests a separate wallet, so your main holdings stay apart.8 ethereum.org's own list is short: avoid untested new projects, approve only what you need, and revoke access regularly.5

A revoke protects the future, not the past. Revoke.cash says it stops an attacker taking more. It only sets the allowance back to 0, so it does not return tokens already taken.11,2

How we work out what a late revoke saves

Pulls made before the revoke is confirmed stay taken. Pulls after it fail. If a drainer takes 2,000 USDC every 10 minutes from 14:00, and the revoke is confirmed at 14:25, it has pulled at 14:00, 14:10 and 14:20: 3 × 2,000 = 6,000 USDC.11

Our viewAn approval is a key you hand out. Hand out the smallest key that does the job, and take it back when the job is done.
Sources
  1. ERC-20: Token Standard. Ethereum Improvement Proposals (Fabian Vogelsteller, Vitalik Buterin), created 19 November 2015, status Final.
  2. What Are Token Approvals?. Revoke.cash, Learn pages (the maker of an approval-checking tool), checked 22 October 2026.
  3. ERC-2612: Permit Extension for EIP-20 Signed Approvals. Ethereum Improvement Proposals (Martin Lundfall), created 13 April 2020, status Final.
  4. Ethereum security and scam prevention. ethereum.org, page updated 6 June 2026.
  5. How to revoke smart contract access to your crypto funds. ethereum.org guides, page updated 6 June 2026.
  6. Criminals Pose as Non-Fungible Token (NFT) Developers to Target Internet Users with an Interest in NFT Acquisition (Alert I-080423-PSA). FBI Internet Crime Complaint Center, 4 August 2023.
  7. Scammers Target and Exploit Owners of Cryptocurrencies in Liquidity Mining Scam (Alert I-072122-PSA). FBI Internet Crime Complaint Center, 21 July 2022.
  8. Criminals Steal Cryptocurrency through Play-to-Earn Games (Alert I-030923-PSA). FBI Internet Crime Complaint Center, 9 March 2023.
  9. ‘Ice phishing’ on the blockchain. Microsoft Security Blog (Microsoft 365 Defender Research Team), 16 February 2022.
  10. What Are EIP2612 Permit Signatures?. Revoke.cash, Learn pages (the maker of an approval-checking tool), checked 22 October 2026.
  11. You've Been Scammed, Now What?. Revoke.cash, Learn pages (the maker of an approval-checking tool), checked 22 October 2026.

General education built from the publicly available sources listed above. Not financial, legal, tax or investment advice. Naming a company, project or regulator is not an endorsement either way. Last checked 2026-10-22. Terms and disclaimer.