Cryptocurrency Security: How to Protect Your Wallet and Keys
Key Takeaways
- •A "wallet" doesn't store cryptocurrency.
- •There are two categories of wallet by internet connectivity, and the distinction matters more than any other single security decision you will make.
- •Hardware wallets are the primary cold storage recommendation for most users, balancing security with usability.
- •Your seed phrase (BIP-39 mnemonic) is 12 or 24 dictionary words that encode your master private key.
- •Interacting with DeFi protocols introduces attack vectors that don't exist for simple send/receive transactions.
Over $3 billion in cryptocurrency was stolen in 2022. In 2023, approximately $1.8 billion was lost to hacks and exploits. In 2024, the number climbed back above $2.2 billion across hundreds of incidents documented by Chainalysis. These are only the confirmed, on-chain losses — they don't include fraud, scams, rug pulls, or funds lost due to individual security mistakes.
Unlike a compromised bank account, there is no fraud department to call. No chargeback. No FDIC. No legal mechanism to reverse confirmed on-chain transactions. When cryptocurrency is gone, it is gone — unless the attacker makes a mistake large enough to allow law enforcement to trace and seize it, which is rare.
This guide covers how cryptocurrency wallet attacks actually work and what you need to do to protect your holdings — whether you hold $500 or $5 million.
The Foundational Concept: You Are Protecting Cryptographic Secrets
A "wallet" doesn't store cryptocurrency. It stores the private key that proves ownership of funds recorded on a blockchain. Anyone who obtains your private key controls your funds completely and irrevocably. Anyone who obtains your seed phrase can regenerate your private key. The funds exist as entries on a public ledger — the wallet is just the proof of ownership.
This distinction shapes the entire threat model. You are not protecting coins, you are protecting cryptographic secrets. The attacks that succeed against cryptocurrency holders are attacks against the security of those secrets, not attacks against the blockchain itself.
The mathematical relationship:
Seed phrase (12 or 24 words)
→ Master private key (via BIP-32 derivation)
→ Child private keys (one per address)
→ Public keys (derived from private keys, one-way)
→ Wallet addresses (derived from public keys, one-way)
The derivation is one-way at each step going right, and at any step going left, the attacker can derive everything that flows from it. Compromise the seed phrase and you've compromised every address the wallet has ever generated or will generate. This is why seed phrase security is not just important — it's the entire security surface.
Hot Wallets vs. Cold Wallets
There are two categories of wallet by internet connectivity, and the distinction matters more than any other single security decision you will make.
Hot Wallets
A hot wallet is any wallet where the private key is stored on a device connected to the internet. This includes:
- Browser extension wallets (MetaMask, Phantom, Rabby)
- Mobile wallets (Trust Wallet, Rainbow, Coinbase Wallet)
- Desktop software wallets (Exodus, Electrum on an online computer)
- Exchange custodial accounts (the exchange holds the private key, you hold a balance)
Hot wallets are convenient and necessary for active use — DeFi interactions, frequent transactions, active trading. That convenience has a cost: the internet connection is a permanent, continuous attack surface. Your private key exists in software running on a device that is online. That device can be compromised through malware, a phishing attack, a vulnerable browser extension, a supply chain attack against the wallet software itself, or exploitation of the operating system.
The practical rule: treat a hot wallet like a physical cash wallet. Keep only what you're willing to lose in the short term. If you wouldn't carry $20,000 in cash in your front pocket, don't keep $20,000 in a browser extension wallet.
Cold Wallets
A cold wallet stores private keys on a device that has either never been connected to the internet, or connects only briefly during the act of signing a transaction, with the private key never leaving the secure storage element in plaintext.
The cold storage spectrum:
Hardware wallets (Ledger, Trezor, Coldcard): Purpose-built devices with secure key storage and on-device transaction signing. The gold standard for most users holding meaningful amounts.
Air-gapped computers: An offline computer that generates keys, stores them, and signs transactions without ever connecting to the internet. The signed transaction is transferred to an online device via QR code or USB for broadcasting. Maximum security for large amounts; significant operational complexity.
Metal seed backup + memorized passphrase: Not a "wallet" in the active sense, but an offline backup that can be used to restore access to a hardware or software wallet. The passphrase component (BIP-39 passphrase, sometimes called the "25th word") adds a second layer that is known only in your mind, providing protection even if the physical metal backup is stolen.
Cold storage eliminates the entire category of remote software attacks. An attacker who compromises your computer cannot steal keys that are stored in a hardware wallet's secure element. They can potentially trick you into signing a malicious transaction — but that requires your active participation.
Hardware Wallets: Detailed Evaluation
Hardware wallets are the primary cold storage recommendation for most users, balancing security with usability. Understanding how they work and their tradeoffs helps you choose correctly.
How Hardware Wallets Work
A hardware wallet stores private keys inside a secure element — a specialized microcontroller designed to be resistant to physical key extraction attacks. When you initiate a transaction:
- Transaction details are sent from the companion software (Ledger Live, Trezor Suite) to the hardware wallet
- The hardware wallet displays the transaction details on its screen (independent of your computer's display)
- You verify and confirm on the hardware wallet's physical buttons
- The hardware wallet signs the transaction internally using the stored private key
- The signed transaction (not the private key) is returned to the companion software for broadcasting
The private key never leaves the hardware wallet in plaintext. Even if your computer is completely compromised with a keylogger and screen capture running, the attacker cannot extract the private key through the connection.
Ledger
Ledger devices (Nano X, Nano S Plus, Flex, Stax) use a certified secure element manufactured by STMicroelectronics (CC EAL5+ certified). The secure element is designed to resist physical side-channel attacks (power analysis, electromagnetic analysis) and fault injection attacks.
The 2020 data breach: Ledger suffered a data breach in June 2020 where customer contact data (names, email addresses, phone numbers, and for some customers, postal addresses) was exposed. This data was eventually posted publicly and has been used for targeted phishing campaigns against Ledger customers. The breach did not expose private keys or seed phrases — those never leave the device — but it created a long-running phishing problem for Ledger users who receive targeted emails and even physical mail "from Ledger."
Ledger Recover controversy (2023): Ledger announced a paid subscription service called Ledger Recover that would allow users to shard their seed phrase and store the shards with three identity-verification custodians for recovery purposes. The announcement generated significant community backlash because it revealed that Ledger's firmware could, in principle, extract and transmit the seed phrase — something many users had assumed was architecturally impossible. Ledger clarified that the feature is opt-in and the user must consent, but the revelation that the firmware can be updated to access the seed phrase was legitimately concerning to security researchers.
Ledger's advantages: Wide coin support, polished companion app (Ledger Live), certified secure element, established track record.
Ledger's disadvantages: Partially closed-source firmware, the Recover feature's architectural implications, the 2020 data breach impact.
Trezor
Trezor devices (Model T, Safe 3, Safe 5) were the first consumer hardware wallets and have an open-source firmware with a strong community audit tradition.
Trezor Safe 3 and Safe 5: Added a Infineon SLB 9670 secure element to address the historical criticism that older Trezor models (One, Model T) used general-purpose microcontrollers without certified secure elements, making them theoretically vulnerable to physical extraction attacks with specialized equipment.
2020 Trezor supply chain warning: Trezor warned users about counterfeit devices being sold on third-party marketplaces, with counterfeit devices being pre-initialized with compromised seed phrases. Buying from unauthorized retailers is a known attack vector.
The 2024 Trezor data breach: Trezor disclosed in January 2024 that contact information for approximately 66,000 users was exposed through a breach of a third-party support ticketing platform. As with the Ledger breach, this did not expose private keys but enables targeted phishing.
Trezor's advantages: Fully open-source firmware (auditable by anyone), physical tamper-evident packaging, established security research community around the hardware, BIP-39 passphrase support.
Trezor's disadvantages: The secure element was added later (older models lack it); recovery seed is exposed on screen during setup (on some models).
Coldcard
Coldcard (by Coinkite) is a Bitcoin-only hardware wallet aimed at advanced users and security-focused Bitcoin holders. It never needs to connect to a computer — it can sign transactions via QR code or SD card (fully air-gapped operation). It uses a secure element for key storage and is designed with the assumption that the connected computer is hostile.
Coldcard's advantages: Fully air-gapped operation available, advanced security features (duress wallet with separate PIN, brick PIN), advanced Bitcoin-specific features (multisig support, PSBT, custom derivation paths), fully open-source.
Coldcard's disadvantages: Bitcoin-only, steep learning curve, not suitable for beginners, no altcoin support.
Practical Purchase and Setup
Where to buy: Official manufacturer websites only.
- Ledger: shop.ledger.com
- Trezor: trezor.io/start
- Coldcard: coldcard.com
Never buy from Amazon, eBay, or second-hand marketplaces. Pre-activated devices, devices with tampered packaging, or devices from unofficial sellers are a documented attack vector. The attack: a compromised device displays an attacker-chosen seed phrase during setup. The user backs up and uses this seed phrase. The attacker, who knows the seed phrase, waits until the user's wallet contains significant funds before draining it.
Setup procedure:
1. Verify packaging is sealed and has not been tampered with
2. Update firmware before initializing — newer firmware may fix security issues
(Ledger: via Ledger Live before any seed creation)
(Trezor: via Trezor Suite before any seed creation)
3. Generate the seed phrase ON THE DEVICE — never on a computer
4. Write down the seed phrase as displayed on the hardware wallet screen
5. Verify the written seed phrase is correct (most devices prompt re-entry)
6. Test recovery: reset the device and restore from your backup to confirm it works
7. Begin using the device for new wallets from the initialized device
Seed Phrase Security: The Most Critical Topic
Your seed phrase (BIP-39 mnemonic) is 12 or 24 dictionary words that encode your master private key. It is the single most sensitive piece of information in your custody setup. Anyone with your seed phrase controls all assets across all wallets derived from it — forever, with no recourse.
What Never to Do
Never photograph your seed phrase: Smartphone photos automatically back up to cloud services (iCloud, Google Photos). Cloud services have been breached, are accessible through account recovery processes, and are subpoenaable by law enforcement. A cloud-backed photo of your seed phrase is effectively public.
Never type it into any website or application that is not your hardware wallet's official companion software: No legitimate service ever needs your seed phrase. Every website that asks for your seed phrase is stealing it. Every app asking for your words to "restore" or "verify" your wallet is a wallet drainer. No exceptions, ever.
Common seed phrase phishing scenarios:
- "Your Ledger needs to be verified. Enter your 24 words at ledger-verify.com"
- "MetaMask security update: enter your seed phrase to confirm your identity"
- "Your wallet has been compromised. Enter your seed phrase to secure your funds"
- Fake customer support DMs on Twitter, Telegram, Discord asking for recovery phrase
- Fake pop-up in a browser extension asking you to "re-confirm" your seed phrase
These are all theft. Every one of them. Your seed phrase goes into your hardware wallet during restore operations only. Not into websites. Not into apps. Not into customer support chat windows. Not into email to a "Ledger support agent."
Never store it digitally in any format: Not in a notes app. Not in a password manager (even Bitwarden or 1Password). Not in an encrypted file on your computer. Not in an email draft. Not in a cloud document. Digital storage creates an endpoint that can be breached, stolen, or subpoenaed.
Never share it with anyone: Including family members (unless you've specifically set up a designated trustee arrangement with legal documentation), friends, or any person claiming to be technical support.
What to Do
Write it on paper as the minimum: Use a pen (not pencil, which can be erased or smudged), write clearly, double-check each word's spelling, and store it in a physically secure location. A fireproof and waterproof safe is the minimum acceptable storage for paper backups.
Use metal backup for any significant amount: Paper burns, floods, and degrades. Stamped metal backups survive the conditions that destroy paper. Options:
| Product | Method | Fire Rating | Water Rating | Cost | |---------|--------|-------------|--------------|------| | Cryptosteel Capsule | Letter tiles in steel capsule | 1400°C | Waterproof | ~$120 | | Bilodl | Stamp letters into steel plate | 1400°C | Waterproof | ~$80 | | Hodlr Swiss Pocket | Stamp into steel card | 1400°C | Waterproof | ~$60 | | Cobo Tablet | Manual punch on steel plate | 1400°C | Waterproof | ~$40 |
Geographically distributed backup: Store copies of your seed backup in at least two physically separate locations. This protects against a single physical disaster (house fire, flood, burglary) destroying your only backup. Commonly: a fireproof home safe and a bank safe deposit box, or a home safe and a trusted family member's home safe.
The BIP-39 Passphrase (25th Word): In addition to your 12 or 24 word seed phrase, BIP-39 supports an optional passphrase — an additional string of characters that modifies the derived master key. This passphrase:
- Can be any string of characters (a strong random phrase is best)
- Is not stored on the hardware wallet — you enter it at each session
- Creates a completely different set of wallet addresses from the same seed phrase
- Means that even if an attacker finds your seed phrase backup, they cannot access your funds without also knowing the passphrase
This is the "duress wallet" pattern: a small decoy amount in the wallet derived from the seed phrase alone, and the actual holdings in the wallet derived from seed phrase + passphrase. Someone who physically coerces you into providing your seed words gets the decoy, not the real funds.
# Illustrative: How BIP-39 passphrase changes derivation path
# The passphrase is part of the PBKDF2 derivation of the root key
from mnemonic import Mnemonic
import hashlib
import hmac
seed_phrase = "word1 word2 word3 ... word24" # Your actual words
# Without passphrase:
seed_no_passphrase = Mnemonic.to_seed(seed_phrase, passphrase="")
# Produces root key -> addresses set A
# With passphrase:
seed_with_passphrase = Mnemonic.to_seed(seed_phrase, passphrase="Your strong passphrase here")
# Produces completely different root key -> addresses set B
# Set A and Set B have NO mathematical relationship discoverable without the passphrase
# An attacker with only the 24 words cannot derive Set B addressesFor large amounts: Shamir's Secret Sharing (SLIP-39):
Shamir's Secret Sharing allows splitting a secret into N shares where M-of-N are required to reconstruct it. Applied to seed phrases via the SLIP-39 standard (supported natively in Trezor's SLIP-39 implementation):
- Split your seed into 3 shares, any 2 required for recovery (2-of-3)
- Store each share in a different location
- No single location holds a recoverable secret — an attacker who finds one share cannot access your funds
- Losing one share (in a fire, for example) doesn't prevent recovery — you still have two
This is the gold standard for high-value long-term cold storage. The complexity is higher, but the protection against both theft and loss is substantially better than a single-copy backup.
Common Attack Vectors: How Wallets Actually Get Drained
Phishing and Fake Sites
The most common attack vector. The attack flow:
- User searches for MetaMask, Ledger Live, Uniswap, or a DeFi protocol
- A sponsored search result or a look-alike domain appears before the legitimate site
- User navigates to the fake site
- Fake site prompts for seed phrase ("verify your wallet to continue") or requests approval of a malicious transaction
- Funds are swept automatically, within seconds of the signature
The automation is important: wallet drainer scripts monitor for incoming transaction approvals and immediately submit withdrawal transactions when an approval is detected. There is no human in the loop on the attacker's side — the drain is instant.
Defense:
- Bookmark every cryptocurrency site you use. Never navigate via search results or links in messages.
- Verify URLs character-by-character before entering any credentials or signing any transaction
- Your hardware wallet's screen shows the transaction details independently — verify what the hardware wallet shows, not what the website shows
Clipboard Hijacking
Clipboard hijacker malware replaces cryptocurrency addresses you've copied with attacker-controlled addresses. When you paste a destination address, it silently becomes an address the attacker controls.
This malware is common in the crypto ecosystem, often bundled with pirated software, game cracks, or software downloaded from unofficial sources. It runs silently in the background and activates only when it detects a Bitcoin or Ethereum address format in the clipboard.
# What clipboard hijacker malware does (simplified):
import pyperclip
import re
import time
ATTACKER_BTC = "1AttackerBitcoinAddressHere..."
ATTACKER_ETH = "0xAttackerEthereumAddressHere..."
BTC_PATTERN = re.compile(r'\b(1|3|bc1)[a-zA-HJ-NP-Z0-9]{25,62}\b')
ETH_PATTERN = re.compile(r'\b0x[a-fA-F0-9]{40}\b')
while True:
clipboard = pyperclip.paste()
if BTC_PATTERN.match(clipboard):
pyperclip.copy(ATTACKER_BTC)
elif ETH_PATTERN.match(clipboard):
pyperclip.copy(ATTACKER_ETH)
time.sleep(0.1)The attack is trivially simple to implement and extremely effective against users who don't verify destination addresses.
Defense:
- Always verify the first 6 and last 6 characters of a pasted address against the intended destination
- On your hardware wallet, the device's own screen displays the destination address independently — compare it against what you intended. If they differ, your machine is compromised
- Use a dedicated, clean computer or browser profile for all cryptocurrency activities — no browser extensions except necessary wallet extensions, no pirated software, no random downloads
# Verify a clipboard address wasn't tampered with
# BEFORE pasting, make a note of the address you intend to send to
# AFTER pasting, verify these characters match:
Expected: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
Pasted: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
^^^^ first 6 ^^^^ ^^^^ last 6 ^^^^
# If ANY character differs, abort immediately — your clipboard was hijackedFake Wallet Applications
Malicious wallet applications appear on both the Apple App Store and Google Play Store. They are either:
- Cloned from legitimate wallets with wallet-draining malware injected
- Entirely fake wallets that generate seed phrases they've already logged
- Social engineering tools that display a fake "restore" flow to capture your seed phrase
The App Store review process catches many but not all malicious apps. Fake Trezor wallets, fake Ledger Live apps, and fake MetaMask applications have all appeared on app stores and remained available for weeks before removal, collecting victims in the interim.
Defense:
- Install wallet applications only from official project websites, navigating to the app store link from there
- Verify the developer name matches the expected publisher exactly
- Check the number of ratings and the publication date — legitimate wallets have years of history and thousands of ratings
- For hardware wallets, use only the official companion app (Ledger Live from ledger.com, Trezor Suite from trezor.io)
Supply Chain Attacks on Browser Extension Wallets
Browser extension wallets receive automatic updates silently. A developer whose npm registry credentials are compromised, whose code signing key is stolen, or who is social engineered can push a malicious update to millions of users silently. The update appears as a routine version bump. The extension now contains wallet-draining code.
This attack vector has hit cryptocurrency projects multiple times:
- The December 2022 event where the popular
jest-setup-polly-http-adapterand@npmcli/move-filepackages were taken over and modified - The March 2022 attack on the
node-ipcpackage by its own maintainer, which introduced a destructive payload targeting Russian IP addresses
Extensions that have signing authority over your assets are high-value targets for supply chain attackers.
Defense:
- For significant holdings, do not use browser extension wallets. Use hardware wallets instead.
- If you use a browser extension wallet, pin it to a specific version and review the changelog before allowing updates
- Use a dedicated browser profile for cryptocurrency with only the necessary extensions installed — no social media, no entertainment, no other extensions that could be compromised
- Consider a separate dedicated computer or browser for all cryptocurrency activity
DeFi-Specific Risks
Interacting with DeFi protocols introduces attack vectors that don't exist for simple send/receive transactions. Understanding these before using any DeFi protocol is non-optional.
Token Approval Exploits
ERC-20 token transfers require explicit approval: before a protocol can spend your tokens, you must sign an approval transaction authorizing that contract address to spend up to a specified amount.
The default in most DeFi interfaces is unlimited approval — "approve 2^256 tokens" — because it means you only need to approve once for future interactions. The consequence: if the protocol is later compromised, the attacker can drain all tokens you approved, even months or years after your original interaction.
// What an unlimited approval does:
// You sign a transaction calling the token's approve() function:
function approve(address spender, uint256 amount) external returns (bool);
// With unlimited approval:
// spender = 0xProtocolAddress...
// amount = 115792089237316195423570985008687907853269984665640564039457584007913129639935
// (2^256 - 1, effectively unlimited)
// If the protocol is later exploited, the attacker calls transferFrom():
function transferFrom(address from, address to, uint256 amount) external returns (bool);
// from = your address
// to = attacker's address
// amount = your entire balance
// This succeeds because you approved unlimited spendingThe Radiant Capital hack (October 2024, $50 million) demonstrated this at scale. Radiant's contract was compromised through a supply chain attack involving malicious hardware wallets provided to the protocol's team. Users who had previously approved Radiant's contracts had their approved tokens drained automatically.
Defense:
- Use Revoke.cash to audit all active token approvals for your wallet. Review and revoke any approval to contracts you no longer actively use.
- Set exact-amount approvals rather than unlimited approvals where the protocol allows it. Most protocols don't make this easy, but wallets like Rabby Wallet prompt you to customize approval amounts.
- After using a protocol, revoke the approval immediately
# Using revoke.cash to audit approvals
# Navigate to revoke.cash
# Connect your wallet (read-only mode available)
# Review all approvals sorted by:
# - Risk score (contracts with known vulnerabilities or low usage)
# - Approval amount (unlimited approvals first)
# - Last activity (approvals you haven't used recently)
# Alternatively, use eth-permit-checker via command line:
npx eth-permit-checker --address 0xYourWalletAddress --network mainnet
# Revoke specific approvals:
# In MetaMask or Rabby, call approve(contractAddress, 0) on each token
# revoke.cash automates this with a single-click revoke buttonPermit Phishing (Gasless Token Drains)
ERC-2612 (the Permit standard) allows token approvals via an off-chain cryptographic signature rather than an on-chain transaction. The approval doesn't cost gas and doesn't show up in your transaction history until it's used.
The attack: a phishing site presents what appears to be a routine signature request (no gas, no on-chain transaction, no scary confirmation dialog). The user signs it. The signature encodes a token approval for the attacker's address. The attacker can then call permit() on the token contract at any time to execute the approval and drain tokens.
This is how Uniswap Permit Drainers work — the user signs what looks like a login message or a routine permit, and the attacker drains the wallet hours later when the victim has forgotten about the signature.
Defense:
- Read signature requests. If a signature contains fields like
owner,spender,value,deadline, orPermit, you are signing a token approval regardless of how it's framed. - Hardware wallets display signature contents on their screen. Any signature containing financial parameters (allowance, spender addresses) should be treated with extreme suspicion unless you explicitly intend to grant a token approval.
- Never sign anything on a site you navigated to from a link in a Discord DM, Twitter message, or unsolicited email
Rug Pulls: Technical Mechanisms
A rug pull is when project founders drain liquidity or otherwise exploit protocol mechanics to steal deposited funds. Most retail rug pull analysis focuses on behavioral red flags. The technical mechanisms are worth understanding:
Backdoor drain functions: A malicious contract includes a function that allows the deployer to withdraw all funds:
// Backdoor function hidden in an "innocent-looking" contract
// Often obfuscated, sometimes in proxy logic, sometimes in admin functions
function emergencyWithdraw() external onlyOwner {
// Looks like a safety feature; actually a drain function
uint256 balance = address(this).balance;
payable(owner()).transfer(balance);
}
// Or more subtle:
function _update(address from, address to, uint256 amount) internal override {
if (from == owner()) {
// Owner can transfer from any address without approval
// This breaks the token entirely and enables draining
}
super._update(from, to, amount);
}Infinite mint functions: The team can mint unlimited tokens, diluting existing holders to near-zero value and selling into liquidity pools.
Liquidity pool manipulation: The team holds majority liquidity. They remove liquidity simultaneously, crashing the token price to zero. Holders' tokens become worthless instantly.
Before interacting with any token or protocol:
# Quick token safety check using Token Sniffer API
curl "https://tokensniffer.com/api/v2/tokens/{chain}/{address}?apikey={key}" | jq '.
# Alternatively, use free tools:
# - honeypot.is (check if token is honeypot - can't be sold)
# - gopluslabs.io (comprehensive token security check)
# - De.fi scanner (protocol-level security check)
# On Etherscan, look for:
# 1. Contract source code - is it verified? unverified = red flag
# 2. Functions - does the contract have mint(), owner(), emergencyWithdraw()?
# 3. Holder distribution - top holders owning >50% is concentrated risk
# 4. Proxy contracts - can the implementation be changed? by whom?Malicious Airdrop Tokens
Attackers airdrop tokens to wallets and rely on victims visiting a phishing site to "claim" or "swap" them. The claim transaction requests token approvals or executes logic that drains the wallet.
If a token appears in your wallet that you didn't intentionally acquire, do not interact with it. Do not try to swap it. Do not visit any site associated with it. Do not click any links claiming you can claim more. The token itself is the bait.
Some airdrop tokens are programmed to produce an error if you try to swap them, with an error message directing you to a phishing site to "unlock" the token. The "unlock" is the theft.
Operational Security: The Complete Setup
The Tiered Wallet Model
A secure cryptocurrency setup separates assets by how they're used and what they're exposed to:
Tier 1 — Cold Storage (Long-term Holdings)
Purpose: Store 80-90% of total holdings long-term Hardware: Dedicated hardware wallet, never connected to DeFi Seed backup: Metal backup in two separate physical locations Used for: Receiving from exchanges, sending to Tier 2 or exchange NOT used for: DeFi protocol interactions, browser-connected activities Passphrase: Yes, BIP-39 passphrase enabled
Tier 2 — Warm Wallet (Active DeFi)
Purpose: DeFi interactions, funded from cold storage as needed Hardware: Second hardware wallet or carefully managed software wallet Balance: Only what you can afford to lose in a smart contract exploit Used for: Uniswap, Aave, Compound, and other audited protocols NOT used for: Long-term storage, concentrated large positions Token approvals: Revoked after every session
Tier 3 — Hot Wallet (Daily Use)
Purpose: Small transactions, gas fees, experimental DeFi Software: Browser extension wallet (MetaMask, Rabby, Phantom) Balance: < $500 or whatever you're comfortable losing entirely Used for: Daily transactions, new protocol experiments, NFT minting
The tiered model limits blast radius. A complete compromise of Tier 3 is painful but survivable. A compromise of Tier 2 hurts but doesn't wipe you out. Cold storage in Tier 1 requires physical security failures to compromise.
Device Security for Cryptocurrency
Dedicated device: For holdings above $10,000, consider a dedicated computer used exclusively for cryptocurrency. No social media browsing. No downloads. No browser extensions except wallet extensions. No games, productivity software, or anything with network connectivity you don't absolutely need.
This eliminates the vast majority of malware vectors — drive-by downloads, malicious browser extensions, compromised software. A clean, minimal system with only wallet software installed is dramatically harder to compromise than a general-purpose computer used for everything.
Operating system hardening:
# macOS: Enable FileVault (full-disk encryption)
# If compromised, data is encrypted at rest
sudo fdesetup enable
# Enable Application Firewall
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Windows: Enable BitLocker
# (via Control Panel → BitLocker Drive Encryption)
# Or use Veracrypt for full-disk encryption
# Linux: Use LUKS full-disk encryption (set during OS installation)
# Keep system updated:
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo dnf update # Fedora/RHELBrowser profile isolation: If you're not using a dedicated device, create a separate browser profile used exclusively for cryptocurrency. Install only wallet extensions in this profile. Use a different browser entirely for regular browsing (Brave or Firefox for regular use, a separate Chrome profile for crypto).
The Complete Security Checklist
HARDWARE WALLET SETUP
□ Purchased from official manufacturer website only
□ Packaging verified as tamper-evident before opening
□ Firmware updated before seed generation
□ Seed phrase generated on the device, not a computer
□ Seed phrase written down and verified word-by-word
□ Recovery test performed (reset device, restore from seed)
□ BIP-39 passphrase set (for holdings > $5,000)
SEED PHRASE SECURITY
□ Written on paper or stamped on metal
□ Stored in fireproof safe
□ Backup copy in second physical location
□ No digital copies anywhere (no photos, no cloud, no password manager)
□ Family member or trusted person knows where backup is (for inheritance)
□ Recovery process tested (know you can actually use the backup)
EXCHANGE ACCOUNTS
□ Hardware security key as primary 2FA (not SMS, not TOTP if FIDO2 is available)
□ SMS 2FA disabled on all exchange accounts
□ Withdrawal address whitelist enabled
□ Anti-phishing code configured
□ Minimal balance maintained (only what's needed for active trading)
OPERATIONAL SECURITY
□ All crypto sites bookmarked, navigation via bookmarks only
□ URL verified character-by-character before entering credentials
□ Destination addresses verified first-6/last-6 after pasting
□ Token approvals audited quarterly via revoke.cash
□ Browser extension wallet balance minimized
□ Dedicated browser profile or device for crypto activities
□ Software kept updated (hardware wallet firmware, OS patches)
DEFI SAFETY
□ Protocol audit status checked before depositing
□ Smart contract source code verified on Etherscan/block explorer
□ Team identity and track record researched
□ Liquidity lock status verified for new tokens
□ Token approval set to exact amount, not unlimited, where possible
□ Approvals revoked after each DeFi session
□ Never interacting with unexpected airdrop tokens
RECOVERY PLANNING
□ Heirs know that crypto exists and where to find seed backup access instructions
□ Legal documentation for estate planning references crypto assets
□ Recovery process tested: can you actually restore your wallet from backups?
The Bottom Line
Cryptocurrency security is not complicated, but it requires deliberate setup and consistent habits. The attacks that drain wallets succeed because of predictable convenience trade-offs: too much on exchanges, reused email addresses, clicking links without verifying URLs, approving contracts without reading what you're approving.
The threat model is adversarial and global. Malware scanning for seed phrases is deployed at scale. Discord DMs from "support" are almost universally attackers. Sites ranked above the legitimate exchange in search results are sometimes phishing. This is the environment you're operating in.
Your defense is layered: cold storage for the bulk of your holdings, hardware 2FA everywhere, absolute rules about seed phrase handling, and enough discipline to verify before you sign anything. Set it up correctly once. Then maintain it. The assets you're protecting depend on the consistency of the habits you build — not the one-time setup, but the daily operational discipline.