Learn how wallet drainer contracts steal crypto through phishing sites, malicious token approvals, and signature exploits, and how to stay safe.
Overview
A drainer is a malicious smart contract or script designed to automatically steal assets from connected wallets. Drainers are commonly deployed through phishing sites that trick users into signing malicious transactions.
Drainer attacks have caused hundreds of millions in losses. Never sign transactions on unfamiliar websites or approve unlimited token allowances.
How Drainers Work
Phishing Site: Victim visits a fake website mimicking a legitimate project
Wallet Connection: Site requests wallet connection (appears normal)
Malicious Approval: User signs a transaction granting unlimited token approvals
Asset Theft: Drainer contract transfers all approved assets to attacker
Speed: Entire process can happen in seconds
Types of Drainer Attacks
Approval-Based Drainers
Request ERC-20 token approvals
Can drain all approved tokens at any time
Most common type
NFT Drainers
Target NFT collections
Often use setApprovalForAll function
Can steal entire collections in one transaction
Permit-Based Drainers
Use EIP-2612 permit signatures
No on-chain approval transaction required
Harder to detect before execution
Native Token Drainers
Trick users into signing ETH transfers
Often disguised as minting or claiming functions
Detection Indicators
Tag
Severity
Description
drainer
High
Address associated with known drainer activity
minter-drainer
High
Token minter involved in drainer operations
owner-drainer
High
Token owner is a known drainer
minter-fundflow-drainer
High
Minter fund flow linked to drainers
owner-fundflow-drainer
High
Owner fund flow linked to drainers
Common Drainer Tactics
Fake airdrops: “Claim your free tokens” phishing
Fake mints: Impersonating popular NFT drops
Compromised Discord/Twitter: Links posted from hacked accounts
SEO poisoning: Fake sites ranking for popular project searches
Typosquatting: Domains similar to legitimate projects
API Example
curl -X GET "https://api.webacy.com/addresses/0x123...?chain=eth" \ -H "x-api-key: YOUR_API_KEY"
Response indicating drainer activity:
{ "overallRisk": 95.0, "issues": [ { "tag": "drainer", "severity": "high", "description": "Address related to drainer activity that automates draining assets" } ]}
Protection Strategies
Verify URLs - Always check you’re on the official website