How do wallet drainers work, and how do you avoid signing away your crypto? · Web3 Universe
How do wallet drainers work, and how do you avoid signing away your crypto?
Wallet drainers steal crypto through permissions you sign, not your seed phrase. Learn how token approvals, permit signatures, setApprovalForAll and EIP-7702 delegation phishing work, what to check before signing, and how to revoke approvals.
A wallet drainer is a phishing kit that tricks you into approving a transaction or signature that hands an attacker control of your tokens. It does not need your seed phrase. Once you sign, automated scripts move whatever the permission covers, usually before you can react. You avoid it by checking what each request grants, signing only on sites you reached yourself, and revoking permissions you no longer use.
What is a wallet drainer?
A wallet drainer is the tooling behind a fake website: the page, the scripts and the contracts that turn one confirmation into a theft.
It works because of how a self-custody wallet operates. Your signature is the only authority the chain recognizes, and the chain cannot tell whether you understood what you signed. That is why common defenses fall short here. A seed phrase kept offline stays secret and a hardware wallet protects your keys, yet both still authorize any request you confirm.
Tokenomics sets how many tokens exist, who gets them and when, and what ties them to demand. Learn circulating, total and max supply, market cap vs. FDV, how vesting and cliffs work, using Arbitrum's real unlock, plus a checklist for reading any token.
The same spending right, switched on when someone submits it
Hard before use, revocable after
setApprovalForAll
A transaction naming an NFT collection
An operator can manage all your NFTs in that collection
Yes, revoke it
NFT listing signature
A gas-free signature
A sale of your NFT on the attacker's terms, even for 0 ETH
Revoke the marketplace approval
EIP-7702 authorization
An "upgrade your account" prompt
Your account runs the attacker's code
Only by signing a new delegation
Solana owner change
A transaction showing no balance change
The attacker replaces your account's owner
Not by you, once it lands
Token approvals
A token approval gives a smart contract permission to spend a token for you. Decentralized exchanges and lending apps need this to work, so the request feels normal. In a drain, the spender is the attacker's contract. Revoke.cash notes that an approved contract can spend your tokens at any time, so a theft can come long after you signed.
Permit signatures
A permit is an off-chain message that sets the same allowance as approve. Under EIP-2612, it names an owner, a spender, an amount and a deadline, and any address can submit it to the chain.
That design suits attackers. You pay no gas fee, nothing appears on-chain when you sign, and the deadline can be set so far out that the permit effectively never expires.
Permit2, from Uniswap, brings this to any ERC-20 token. You approve the Permit2 contract once per token, and later permissions are granted by signature. So a wallet that approved Permit2 for a token months ago can lose that token to one new signature.
Scam Sniffer attributes 56.7% of losses in 2024's large cases, those over $1 million, to Permit signatures. Permit and Permit2 made up 38% of such losses in 2025. The biggest single theft that year was $6.5 million in stETH and aEthWBTC, taken in September through a Permit signature.
setApprovalForAll
The ERC-721 standard defines setApprovalForAll as letting a third party "manage all" of the caller's assets in that contract. Marketplaces ask for it legitimately. Signed for an attacker, it exposes every NFT you hold in that collection in one step.
EIP-7702 delegation phishing
EIP-7702, a feature of Ethereum's Pectra upgrade in May 2025, lets an ordinary account point at contract code. The pointer stays in place after the transaction ends. A signature made with chain ID 0 is valid on every chain.
The delegated code has unrestricted access to the account. The EIP itself says wallets should not offer a general interface for signing delegations and applications should not ask users to sign one. So treat a website asking for a delegation as a red flag.
Two different problems often get mixed up here:
Sweepers on leaked keys. Wintermute found in mid-2025 that over 80% of delegations pointed to copies of one script, nicknamed CrimeEnjoyor. The Block's report ties it to wallets whose private keys had already leaked, so delegation was not how those wallets were first compromised.
Phishing. The same report cites a loss of nearly $150,000 from a malicious batched transaction linked to Inferno Drainer. Scam Sniffer lists two batched EIP-7702 cases in August 2025 that cost $1.54 million and $1.00 million.
Attacks beyond token permissions
The largest case Scam Sniffer recorded in 2024 was $55.48 million in DAI, taken in August through a setOwner phishing signature that changed who owned a proxy contract. No token approval was involved.
Solana has its own version. In December 2025, SlowMist reported a user who lost over $3 million after signing a request that changed the account's owner. The wallet's simulation showed no change in funds, so it looked harmless. About $2 million more, held in DeFi protocols, was later rescued with those protocols' help.
How drainer-as-a-service works
Drainer-as-a-service is a criminal franchise model. Developers supply the scripts, contracts and infrastructure. Customers run the phishing sites and keep most of the proceeds. Check Point's 2025 study of Inferno Drainer put the operators' cut at 15-20%.
Inferno announced its shutdown in November 2023 and kept running anyway. Check Point found over 30,000 new victim wallets and at least $9 million stolen between September 2024 and March 2025. The creators themselves claimed over $250 million in thefts by May 2024, a figure that comes from them and not from an audit.
From a victim's side, a typical drain runs like this:
The lure. Check Point describes hijacked Discord invite links that lead to a fake Collab.Land verification bot, plus fake token airdrops.
The connect prompt. The site asks to connect your wallet. Connecting shares your address and moves no funds by itself.
The signature. The site requests an approval or a permit, framed as verifying, claiming or logging in.
The sweep. The attacker's side submits the transaction and pulls the tokens.
The split. A contract divides the proceeds between the customer and the operators.
Names and lures change constantly. Learn to read the request, because you won't reliably recognize the site.
A checklist before you sign
Run through this for any request on a site you don't use every day:
How did you get here? Type the address or use a bookmark. Be wary of links from DMs, ads, replies and Discord "verify" channels.
Does the request match your goal? Verifying membership or logging in should never need a token permission.
Is a "free" signature really free? A real login message is readable text with no token, amount or spender in it.
Do you see danger words? Look for permit, spender, allowance, setApprovalForAll, setOwner, delegate, authorization and any change of owner.
Who is the spender? Look the address up on a block explorer. Be wary of a new or unverified contract.
Is the amount sensible? Set a limit close to what you need, in place of unlimited.
Are you trusting a simulation too much? "No balance change" proves little. Permits and owner changes move nothing at the moment you sign.
Is this your main wallet? Use a separate wallet with small balances for mints and new sites.
How to revoke approvals, and what revoking can't do
Revoking cuts off future spending. Revoke.cash's guide describes two routes:
Revoke.cash. Enter your address or connect your wallet, pick the network, and sort by newest if you suspect a scam. Click Revoke, or lower the amount if you still use the app.
Etherscan. Open Token Approvals from the More menu, enter your address, choose the token type and revoke. Other chains have similar explorers.
Each revocation is an on-chain transaction, so it costs a small gas fee. Reach these tools by typing the address yourself, as you would for any site that asks to connect your wallet.
A delegation. MetaMask users can switch back to a standard account under Account details, network by network, for a small fee. At the protocol level, clearing means signing an authorization for the zero address.
A leaked key or seed phrase. Revoking won't help, because the attacker can sign as you. Move what remains to a new wallet with a new seed phrase.
Revoking also never returns stolen funds. If you've been drained, revoke the permission so it can't be used again, then move remaining assets to a fresh wallet. For more on this cluster of risks, see our security coverage.
Key takeaways
A drainer takes your tokens through permissions you sign, so your seed phrase can stay safe while your wallet empties.
Permit signatures cost no gas and leave nothing on-chain when signed, which makes them easy to mistake for a login.
A website asking you to sign an EIP-7702 delegation is a red flag, as the standard itself warns.
Drainer-as-a-service means lures keep changing, so read the request and don't rely on recognizing the site.
Revoke old approvals regularly, but know that revoking stops future spending and recovers nothing.
A memecoin is a token built on a joke or trend, with little behind it except attention. Learn how launchpads like pump.fun work, how hard rugs, soft rugs and honeypots differ, and how to check mint authority, LP status and holder concentration.
A zero-knowledge proof shows a statement is true without revealing anything else about it. Crypto uses these proofs for zk-rollups, private payments and identity. Here is how they work, how SNARKs and STARKs differ, and where they have failed.