How Wallet Drainers Work — and How to Avoid Signing Away Your Assets
The Attack That Doesn't Need a Hack
Wallet drainer attacks are not hacks in the traditional sense. No malware breaks your encryption. No server gets breached. The attacker doesn't need your password, your seed phrase, or access to your device.
Instead, they convince you to sign a transaction that gives them your assets. You do the signing. The transaction looks legitimate. By the time you understand what happened, your wallet is empty.
The Technical Foundation: Token Approvals
To understand drainers, you need to understand token approvals — a standard Ethereum feature that lets a smart contract spend your tokens on your behalf.
When you use a DeFi protocol — a decentralized exchange, a lending platform, a staking service — the protocol needs temporary access to move your tokens. Instead of you manually approving every swap, Ethereum allows you to grant an "approval" — telling the token contract: "this address is allowed to spend up to X tokens of mine."
The approval transaction looks like this in your wallet:
Contract: 0xTokenContract Method: approve Spender: 0xDefiProtocol Amount: 999,000,000,000,000,000,000,000 (unlimited)
The word "unlimited" is critical. Many DeFi apps request unlimited approvals — it's cheaper for them (they don't need another transaction when you want to trade again). But it means the approved contract can spend your entire token balance, not just the amount of the current transaction.
How Drainer Sites Work
A drainer site looks legitimate. It's a fake DeFi protocol, a fraudulent NFT minting page, a spoofed airdrop claim site, or a clone of a real protocol. The domain might be uniswap-secure[.]app — close enough to fool a quick glance.
Here's the attack sequence:
Step 1: Connection
You connect your wallet — MetaMask, Rabby, Coinbase Wallet, or any browser-extension wallet. Connecting alone doesn't give the site access to your tokens. It just lets the site read your public address.
Step 2: The Fake Transaction
The site presents a transaction for you to sign. It might look like:
- "Approve USDC for trading" (small amount)
- "Sign message for airdrop claim"
- "Verify ownership" (no token movement)
- "Connect wallet to receive NFT"
In reality, the transaction data contains an increaseAllowance or setApprovalForAll call that grants the attacker's contract access to all tokens of a specific type.
Step 3: Signing
You check your wallet. It shows the contract address, the token, the amount. If you're using a hardware wallet, it shows this information on the device screen. If you're using a software wallet, you might only see a summary — and the summary might be misleading.
You click "Sign." Transaction confirmed.
Step 4: The Drain
The attacker's bot monitors for approved transactions. Within seconds of your approval, it calls transferFrom to move your tokens to the attacker's wallet. You might have 10-30 seconds before everything is gone, depending on the blockchain.
The "Safe" Tactics Drainers Use
Modern drainers don't just ask for unlimited approvals. They've evolved:
Signature phishing: Instead of an approval, they ask for a raw signature — a message that looks like a login or verification but actually authorizes a token transfer via permit or other mechanisms.
RFC 1919 sign requests: Some drainers use EIP-712 typed data signatures that look like legal agreements but authorize transfers.
Multiple small transactions: Ask for a small, legitimate-seeming approval first. Then immediately follow with the drain.
Discord/Telegram "support": You post about a problem in a crypto Discord. Someone DMs you with a "fix" link. The link is a drainer. This is extremely common.
How to Protect Yourself
The Core Rule
Never sign transactions from links you didn't navigate to intentionally.
This is the single most effective protection. If someone sends you a link — in Discord, Telegram, Twitter, email — treat it as high-risk. Navigate to the official site by typing the URL or using a bookmark.
Use a Hardware Wallet for Any Approval
Hardware wallets show you the actual transaction details on their screen. The drainer's website might show you "0.01 ETH" but the hardware wallet shows "Unlimited USDC." Always confirm on the device screen.
Read the Transaction Details
Before signing, expand the transaction in your wallet and check:
- Contract address: Is this the official contract for this token? Verify on Etherscan or the token's official site.
- Method: Is it actually
swaportransferorapprove? What exactly is being approved? - Amount: Fixed amount or unlimited?
Use an Allowance Checker
Before using any DeFi protocol, check what approvals are currently open using:
- revoke.cash — free, straightforward
- approved.zone — visual interface
- Etherscan Token Approval Checker
Revoke approvals you don't need. For protocols you use regularly, set a reasonable spending limit instead of unlimited.
Bookmark Critical Sites
Never navigate to DeFi protocols via links from Discord, Telegram, or email. Bookmark the official site. Always navigate to your bookmark.
Be Skeptical of "Free" Claims
Airdrops, "urgent" token migrations, "security upgrades," unexpected NFT deliveries — these are all extremely common drainer lures. If it sounds too good to be true, it is.
If You've Been Hit
- Immediately check Etherscan or the relevant block explorer for your address.
- If the transaction is pending, you may be able to use a "speed bump" to replace it with a self-transfer that invalidates the original — but only if it's still pending and you understand the mechanism.
- Report the site to the platform that hosted the link (Discord, Telegram, Google Safe Browsing).
- Report to the FBI IC3 at ic3.gov — crypto theft is a federal crime.
- Accept that recovery is unlikely. Blockchain transactions are irreversible. Anyone promising to recover your funds is running a second scam.
The Fundamental Truth
Wallet drainers work because they exploit the gap between what transactions look like and what they actually do. The solution isn't a tool — it's a habit: never sign what you haven't verified, and never verify from the same screen that showed you the link.
Related
- [Crypto Scam Red-Flag Checklist](/safety/crypto-scam-red-flag-checklist/)
- [Browser Extensions: Hidden Crypto Risks](/guides/browser-extensions-crypto-risks/)