Wallet drainer attacks are the most common and devastating crypto security threat in 2026. Unlike exchange hacks or private key bruteâforcing, drainers exploit a feature you use every day: token approvals. When you connect your wallet to a DeFi app or swap site, you grant permission for that contract to move your tokens. A malicious site can request unlimited approval â and then drain every token you own. This guide explains how approvalâbased drainers work, how to detect and revoke dangerous approvals using tools like Revoke.cash, the insidious EIPâ2612 permit signature attack that bypasses approval revocation, and a practical security routine that prevents theft even if you accidentally connect to a phishing site.
Essential Security Reading
- How approvalâbased wallet drainers operate
- Revoke.cash and other tools to audit & revoke approvals
- EIPâ2612 permit signature attacks (the hidden threat)
- How to detect phishing sites before connecting
- Security hygiene: hardware wallets, burner wallets, approval limits
- Frequently asked questions about drainers and approvals
đłď¸ How ApprovalâBased Wallet Drainers Work
A wallet drainer is a malicious smart contract or script that, once your wallet approves it, can transfer your tokens out. The attack chain is simple but devastating:
- Lure â You click a phishing link (fake airdrop, fake site that looks like Uniswap, OpenSea, or a new DeFi protocol). The site asks you to "connect wallet".
- Approval request â Instead of a standard connection, the site requests a token approval transaction (ERCâ20 approve function) for a large or unlimited amount.
- Signature â You sign the approval transaction in your wallet (MetaMask, Trust Wallet, etc.). Because the request looks similar to a regular transaction, many users approve without reading the details.
- Drain â The attackerâs contract calls
transferFrom()using the approval you granted, moving your tokens to the attackerâs address. This can happen instantly or be delayed to avoid suspicion.
The key is the approve() function in ERCâ20 tokens. When you set spender to a contract address and amount to 2^256-1 (max uint256), that contract can take any amount of that token from your wallet at any future time. Most drainer attacks use exactly this â an unlimited approval.
Real attack: Fake airdrop drains $2.5M
In January 2026, a phishing site impersonating a popular L2 airdrop asked users to "claim tokens" by approving a malicious contract. Over 1,200 wallets approved unlimited spending on USDC and ETH. The drainer script ran two days later, stealing $2.5M before victims realised. All victims had active unlimited approvals.
đĄď¸ Revoke.cash: How to Audit and Revoke Dangerous Approvals
Approvals are permanent until revoked. If youâve ever used a DeFi protocol, a swap aggregator, or an NFT marketplace, you likely have active approvals sitting on the blockchain. Revoke.cash is the industry standard tool to see and cancel them.
How to use Revoke.cash (step by step):
- Go to revoke.cash (always verify the URL â phishing clones exist).
- Connect your wallet (Ledger, Trezor, MetaMask, Rabby, etc.).
- The dashboard displays all active token approvals across Ethereum, BSC, Polygon, Arbitrum, Optimism, and 30+ other chains.
- For each approval, you see: token, spender contract address, approved amount (e.g., "Unlimited" or "1,000 USDC"), and last used date.
- Click "Revoke" next to any approval you donât recognise or no longer need. Youâll pay a gas fee (approx $2â$10 depending on network congestion).
Best practice: run Revoke.cash every 2â4 weeks, especially after interacting with new protocols. Remove all unlimited approvals to contracts you donât use daily.
đ ď¸ Approval Revocation Tools (2026)
| Tool | Chains supported | Batch revoke | Gas estimation |
|---|---|---|---|
| Revoke.cash | 30+ EVM chains | Yes | Yes |
| Etherscan Token Approvals | Ethereum only | No | No |
| Rabby Wallet built-in | All EVM | Yes | Yes |
| Unrekt.net | 10+ chains | Limited | Yes |
For a deeper understanding of wallet security, read our hardware wallet setup guide â using a hardware wallet (Ledger/Trezor) does not automatically protect you from approval drainers, but it adds an extra physical confirmation step that can stop blind signing.
âď¸ EIPâ2612 Permit Signature Attacks: The Approval Bypass
In 2025â2026, a new generation of drainers uses EIPâ2612 (permit) signatures. This standard allows a user to approve a spender via an offâchain signature, without sending an onâchain approval transaction. The attacker only needs you to sign a message â no gas, no approval transaction visible in your wallet history. The signature is then submitted onâchain by the attacker, and your tokens are drained instantly.
How it works:
- You visit a phishing site and connect your wallet.
- The site shows a popâup requesting a signature (often disguised as "login" or "verify wallet").
- The signature is a permit message for a specific token (USDC, DAI, UNI, etc.) granting unlimited spending.
- Because permit signatures are offâchain, your wallet may not show a clear warning. Many users sign without realising theyâve granted approval.
- The attacker broadcasts the signed permit to the network, and the token is transferred out.
Permit attacks are dangerous because they leave no onâchain approval to revoke â the drain happens instantly after the signature. The only protection is to never sign messages from untrusted sites and to use wallets that decode permit requests clearly (Rabby wallet does this well).
How to spot a permit signature attack
If a site asks you to sign a message that contains "Permit", "EIPâ2612", "approve", or a token address, treat it as highly suspicious. Legitimate permit signatures are used by some DeFi protocols (e.g., Uniswap permit2), but only from sites you fully trust. Always verify the domain and the exact message content in your walletâs detailed view.
đľď¸ How to Detect Phishing Sites and Drainers Before Connecting
Prevention is better than revocation. Train yourself to recognise drainer infrastructure:
- Check the URL carefully â Drainers use homoglyphs (e.g., âunlswap.comâ instead of âuniswap.orgâ) or very long subdomains. Bookmark official sites.
- Use Ethereum Name Service (ENS) verification â Major protocols have ENS names (uniswap.eth, aave.eth). Verify the ENS before connecting.
- Scan with Token Sniffer or GoPlus â Before approving any contract, paste its address into GoPlus or Token Sniffer. They flag known malicious contracts.
- Test with a burner wallet â For highârisk interactions (new airdrops, unaudited projects), use a separate wallet with minimal funds.
- Check social media and GitHub â Real protocols have active communities and verified code. Phishing sites often have broken social links and no GitHub history.
For a broader view of crypto scams, see our complete guide to crypto scams in 2026 â it covers pig butchering, fake exchange impersonation, and 8 other common schemes.
đ Security Hygiene: How to Never Get Drained
Adopt these habits to make drainer attacks ineffective against you:
- Use a hardware wallet + Revoke.cash routine â Hardware wallets donât prevent approval abuse, but they require physical confirmation. Combined with monthly revokes, you minimise exposure.
- Set approval limits, not unlimited â Many DeFi protocols allow you to set a custom approval amount (e.g., approve only 1,000 USDC instead of unlimited). Use this feature whenever possible. Wallets like Rabby and Zerion highlight unlimited approvals and warn you.
- Revoke approvals after each use â For highâvalue tokens, revoke the approval immediately after swapping or providing liquidity. Gas fees are worth the safety.
- Use a separate wallet for highâvalue storage â Keep 90%+ of your crypto in a wallet that never interacts with dApps or signs any message. Only use a âhot walletâ for DeFi and trading.
- Enable wallet security features â MetaMask: turn on âEnhanced Gas Fee UIâ and âShow Conversionâ. Rabby: enable âSecurity Alertâ for permit signatures. Block wallets that donât decode transactions clearly.
- Never sign messages from popâups â Legitimate dApps rarely ask for random signatures. When in doubt, reject and verify the request on the projectâs official Discord or Twitter.
For highânetâworth individuals or DAOs, multisig (e.g., Safe) requires multiple approvals for any transfer â completely immune to singleâkey drainer attacks.
If you suspect youâve already approved a drainer contract, revoke immediately on Revoke.cash. Then move any remaining funds to a new wallet with a new seed phrase. Do not just revoke â the attacker may have already queued transactions.