Wallet drainers do not steal your keys, they get you to sign an approval. How token approvals, permit signatures and setApprovalForAll are abused, how to read a signature request, and how to revoke.

Last updated: 28 July 2026
The most common way experienced crypto users lose funds has nothing to do with stolen private keys. Their security is fine. Their seed phrase never left paper. They simply signed something, and a contract they had never heard of moved their tokens out an hour later.
This is approval phishing, and the tooling built around it is called a wallet drainer. Understanding it requires understanding one mechanic that most people use daily without examining: the token approval.
Token standards separate holding from spending. To let a decentralised exchange swap your USDC, you first grant its contract permission to move USDC from your wallet. That grant is an approval, and it is a separate transaction from the swap itself. It is why interacting with a new protocol usually takes two signatures rather than one.
This design is sensible and unavoidable. It has two properties that make it dangerous:
A drainer exploits both. It does not need your key; it needs one signature granting it spending rights, after which it can take the approved token whenever it chooses.
| What you sign | What it grants | Risk |
|---|---|---|
approve | Permission to spend one token, often unlimited | That token can be taken at any time |
permit / permit2 | The same, via an off-chain signature | High: costs no gas, so nothing looks like a transaction |
setApprovalForAll | Control of an entire NFT collection | Every NFT in that collection at once |
increaseAllowance | Raises an existing spending limit | Often overlooked as routine |
| Ownership or delegation transfer | Control of an account or its voting power | Severe, chain-dependent |
The permit family deserves particular attention. Because it is an off-chain signature, there is no gas fee and no pending transaction. Nothing about the interaction feels like moving money, which is exactly why it has become the preferred vector.
The signature is the mechanism; the traffic is the business. The recurring delivery routes:
Wallets have improved considerably at translating requests into plain language. The discipline is to actually read the translation.
Every protocol you have ever used likely still holds an approval. Auditing and revoking them is a short piece of maintenance with a large effect: it removes permissions that a compromised contract could later use.
Do it periodically, and immediately if you suspect you signed something you should not have. Revoking costs a transaction fee per approval, so prioritise: large balances first, then unlimited approvals, then anything granted to a protocol you no longer use or that no longer exists. Note that revocation is chain-specific, so an audit on one network says nothing about your positions on another.
Behavioural vigilance fails eventually. Everyone eventually signs while tired or distracted. The defence that survives that is architectural: use separate wallets so no single mistake can reach everything.
This is the single highest-value change most users can make, and it converts a catastrophic outcome into an annoying one. Our self-custody guide covers the wider setup.
Interacting with legitimate protocols still requires approvals, so the goal is not avoidance but hygiene. Approve what you are depositing rather than an unlimited amount, reach applications through bookmarks you created yourself, and keep protocol activity in the active wallet.
JewelSwap is non-custodial across MultiversX, Sui and Radix, meaning assets stay in wallets users control. That property protects against a company failing; it does not protect against a signature the user authorised. Institutionally, this is the same problem blockchain analytics firms such as Crystal Intelligence work on from the other end, tracing drained funds and flagging the addresses that receive them.
A wallet drainer is malicious software, usually behind a convincing website, designed to obtain a signature that grants it permission to move your tokens. It does not steal private keys. Once approved, it transfers the assets, often minutes or days later.
Approval phishing tricks a user into signing a token approval or permit signature that authorises an attacker's contract to spend their tokens. Because approvals are a normal part of using DeFi, the request looks routine, which is precisely what makes the attack effective.
Not through approval phishing, which requires your signature. Funds can be taken without a signature only if your private key or seed phrase has been compromised, or through a vulnerability in a contract you already interact with.
Permit-style signatures happen off-chain, so there is no fee and no pending transaction to review. The interaction feels weightless and unlike moving money, while granting the same spending rights as an on-chain approval.
Audit periodically, and always after using an unfamiliar application. Prioritise unlimited approvals, wallets holding large balances, and permissions granted to protocols you no longer use. Revocation is per-chain, so repeat it on each network you are active on.
Partly. It protects the private key, but it will faithfully sign a malicious approval if you confirm one. Its real benefit is forcing you to review the request on a separate screen. Wallet separation, keeping the hardware wallet away from unfamiliar applications, is what actually protects it.