You bought a hardware wallet. You wrote your seed phrase on paper, not in a note app. You feel safe. You are probably not. Most crypto wallet drains have nothing to do with the wallet's hardware security — they happen because the owner approved something they shouldn't have, clicked a link that looked legitimate, or had their phone number hijacked while they were asleep. The wallet did exactly what it was told. That's the problem.
Here are the actual attack vectors draining wallets right now — not theoretical exploits, but the methods showing up in real incident reports week after week.
The #1 Vector: Private Key Exposure
Your seed phrase is the master key to everything in that wallet. If it leaks, the wallet is gone — no recovery, no support ticket, no reversal. And it leaks more often than people think.
Seed phrase photos. A photo of a seed phrase taken "just in case" and left in a phone's camera roll gets swept up by cloud backup, synced across devices, and potentially exposed in a cloud account breach.
Cloud backups. Notes apps, password managers set up carelessly, and cloud photo libraries are not cold storage. If it's searchable from any device with your login, it's not safe from a compromised account.
Clipboard hijackers. Malware that monitors the clipboard and swaps a copied wallet address for the attacker's address is common enough that experienced users double-check every pasted address character by character before sending.
Malware keyloggers. If a seed phrase is ever typed on an internet-connected device, a keylogger silently records every keystroke and exfiltrates it.
Fake wallet apps. Cloned wallet apps in app stores or via phishing sites ask users to "import" their seed phrase — which sends it straight to the attacker.
Blind Signing: The Attack You Approved
Every wallet transaction requires a signature — cryptographic proof that you authorized it. The problem is most wallet interfaces show you a wall of hexadecimal data instead of a plain-English summary of what you're actually approving. This is "blind signing," and it's how a huge share of drains happen: the victim clicked "Approve" on their own hardware wallet, on a transaction they didn't understand.
Malicious dApps exploit this by requesting broad token approvals disguised as routine transactions — an "approve" request that actually grants the contract unlimited access to a token balance, or a "sign message" request that's actually a permit signature handing over transfer rights.
The Ledger Connect Kit hack (December 2023) is the textbook example: attackers compromised a legitimate, widely-used connector library, and dApps using it unknowingly served a malicious contract-interaction prompt to users. Victims saw what looked like a normal wallet connection request and approved a drain contract instead.
Phishing & Social Engineering
Most drains don't require any technical exploit at all — just a convincing enough lie.
Fake MetaMask popups. Malicious browser extensions or compromised sites render a pixel-perfect fake MetaMask approval window that captures whatever you type.
Discord DMs from "admins." A fake moderator DMs about a "wallet verification" issue, sending a link to a fraudulent site designed to harvest a seed phrase or trigger a malicious approval.
Fake Uniswap and DEX clones. Pixel-identical clones of popular DEX front-ends swap the connected contract address behind the scenes.
URL typosquatting. Domains using visually identical Unicode characters — like a Cyrillic "а" (U+0430) instead of a Latin "a" — create URLs that render identically to the real thing in most browsers: uniswар.org versus uniswap.org. Always verify domains character-by-character or use bookmarks instead of typing URLs.
SIM Swap Attacks
A SIM swap doesn't touch your wallet directly — it targets your phone carrier. An attacker convinces (or bribes, or social-engineers) a carrier support rep to port your phone number to a SIM card they control. Once they have your number, they:
- Reset the password on your exchange account using SMS-based account recovery
- Intercept the SMS 2FA code sent to "your" number, which is now theirs
- Log in, disable withdrawal delays where possible, and drain any hot wallet balances within minutes
This entire chain happens without ever touching your wallet's private keys — it exploits SMS-based two-factor authentication as the weak link.
The Hardware Wallet Myth
Hardware wallets protect your private keys from remote extraction — that part is real and valuable. What they do not protect you from is approving a malicious transaction. If you sign a blind approval on a hardware wallet, the hardware wallet will faithfully execute exactly what you approved, because from its perspective, you approved it. A hardware wallet stops key theft. It does not stop you from authorizing your own drain.
How to Actually Secure Your Wallet
Cold storage with air-gapped signing. Keep the bulk of holdings in a wallet that never connects to an internet-connected device for signing — air-gapped signing via QR code or SD card removes an entire attack surface.
Never store the seed phrase digitally. Not in a notes app, not in a password manager, not in a photo. Physical, offline, ideally in more than one secure location.
Split hot and cold wallets. Use a separate, low-balance "hot" wallet for actual dApp interactions and experimentation, and keep a completely separate cold wallet for long-term holdings that never interacts with any smart contract.
Revoke old approvals regularly. Use a tool like revoke.cash to review and revoke standing token approvals — old approvals to dApps you no longer use are a lingering attack surface even if you never intended them to be permanent.
Use a hardware security key for exchange 2FA. Replace SMS-based 2FA with a hardware key (like a YubiKey) or an authenticator app — this closes the SIM swap vector entirely, since there's no phone number in the loop to hijack.
[ ] Does the transaction request "unlimited" token approval?
[ ] Is the site URL character-for-character correct? (check for lookalike chars)
[ ] Did a "support" or "admin" DM you first, unprompted?
[ ] Are you being rushed ("act now or lose your spot")?
[ ] Does your wallet show a plain-English summary, or raw hex data?
[ ] Have you verified the contract address independently (Etherscan)?
[ ] Is this dApp asking for a "permit" signature you don't recognize?
None of this is about paranoia. It's about treating approvals with the same scrutiny you'd give a wire transfer — because that's exactly what they are.