If you have been following cryptocurrency news recently, you may have heard about the Florence Finance hack, where a real-world asset lending protocol lost $1.45 million in USDC to an address poisoning attack. You might be wondering what exactly address poisoning is and, more importantly, whether your own crypto wallet is at risk. The short answer is: yes, it could be, regardless of whether you hold $100 or $1 million in digital assets. This guide walks you through everything you need to know about address poisoning attacks and provides practical, step-by-step instructions to keep your funds safe.
The Basics
Address poisoning is a type of scam where an attacker tricks you into sending cryptocurrency to the wrong wallet address. Here is how it works in simple terms. Every crypto wallet has a unique address — think of it like a bank account number, but much longer. On Ethereum and similar networks, these addresses look like this: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D. That is 42 characters of hexadecimal code.
Most people cannot memorize these addresses, so they usually copy them from somewhere — a transaction history, a chat message, or a saved note. Address poisoning exploits this habit. The scammer creates a new wallet address that looks very similar to an address you frequently send money to. They make sure the first few characters and the last few characters match your intended recipient. Then they send a tiny transaction from their fake address to your wallet.
When you check your transaction history and see this new transaction, it looks like it came from your usual contact. If you later need to send money back to that contact and you copy the address from your transaction history, you might accidentally copy the scammer’s fake address instead of the real one. The money goes to the scammer, and because blockchain transactions cannot be reversed, it is gone forever.
This is not a theoretical risk. November 2023 alone saw $363 million stolen from crypto platforms through various exploits. Address poisoning was responsible for millions of dollars in losses, targeting everyone from large DeFi protocols to individual wallet holders.
Why It Matters
You might think that only careless people fall for address poisoning, but that is not the case. Professional teams running multi-million-dollar protocols have been victimized. The attack exploits a fundamental limitation of how humans process information: we are pattern-matchers who focus on the beginning and end of long strings of text. Even experienced crypto users who know about the attack can be caught off guard when rushing or distracted.
The consequences are severe because blockchain transactions are irreversible. Unlike a bank transfer where you can call customer service and request a reversal, once your crypto is sent to a scammer’s address, there is no customer support line to call, no fraud department to file a complaint with. The money is gone. With Bitcoin trading around $37,831 and Ethereum near $2,049, even a single mistake involving a moderate amount of cryptocurrency can result in devastating financial loss.
Getting Started Guide
Protecting yourself from address poisoning requires building new habits and, ideally, using tools designed to catch these attacks. Here is your step-by-step protection plan.
Step 1: Never copy addresses from transaction history. This is the single most important rule. Transaction history is the primary vector for address poisoning attacks. Instead of copying an address from your transaction list, always retrieve the correct address from a verified source — your address book, a saved note you personally created, or directly from the recipient through a secure channel.
Step 2: Use your wallet’s address book feature. Most modern wallets, including MetaMask, Trust Wallet, and hardware wallets like Ledger and Trezor, include an address book where you can save verified contacts with human-readable labels. When you need to send funds, select the recipient from your address book rather than typing or pasting an address. This eliminates the risk of copying a poisoned address entirely.
Step 3: Verify the full address for large transfers. For transfers that represent a significant portion of your portfolio, take the time to verify the complete address character by character. Yes, all 42 characters. It takes about 30 seconds and can save you thousands of dollars. Compare the first 10 characters, the middle section, and the last 10 characters independently.
Step 4: Send a test transaction first. Before sending a large amount, send a tiny test transaction — even just a few cents worth of the token. Confirm with the recipient that they received it, then use the exact same address for the larger transfer. This adds a few minutes to the process but provides near-absolute certainty that your funds are going to the right place.
Step 5: Install address verification tools. Browser extensions and wallet plugins that detect address poisoning are becoming increasingly available. These tools compare the address you are about to send to against your transaction history and flag addresses that look suspiciously similar to your known contacts but are not exact matches.
Common Pitfalls
Even with good habits, there are several traps that can catch you off guard. First, be wary of any unexpected small deposits in your wallet. These could be the bait in an address poisoning attack. Do not interact with these transactions and never copy addresses from them.
Second, be extra cautious when using mobile wallets with smaller screens. The limited display space means you see even fewer characters of an address, making it harder to spot discrepancies. Always rotate your phone to landscape mode when verifying addresses to see more characters at once.
Third, avoid storing addresses in plain text documents or chat messages that could be intercepted or tampered with. Use your wallet’s built-in address book or a password-protected manager specifically designed for sensitive information.
Finally, remember that address poisoning works across multiple blockchains. If you use the same wallet for Ethereum, BNB Chain, Polygon, and other EVM networks, an attacker could poison your address on one network and rely on you copying it when transacting on another. Verify addresses independently for each blockchain network.
Next Steps
Now that you understand address poisoning and how to protect yourself, take these immediate actions. Open your wallet right now and add your most frequently used addresses to the address book. Download an address verification browser extension if one is available for your wallet. Set a personal rule: never send more than $100 without verifying the full address or using the address book. Share this knowledge with friends and family who hold cryptocurrency — the more people who understand these attacks, the less effective they become. Stay safe out there, and remember that in crypto, security is your personal responsibility.
Disclaimer: This article is for informational purposes only and does not constitute financial or investment advice. Always conduct your own research and consider consulting a security professional for specific guidance.
wish I had this guide before my buddy sent 2 ETH to a spoofed address last year. he was absolutely devastated
sorry about your friend. the copy-from-history habit is so ingrained, takes one slip and its gone
yea the muscle memory of copy-paste from recent txs is dangerous. i started bookmarking addresses instead
2 ETH is brutal. the worst part is there is zero recourse once its sent. the tx is final
The checksum verification tip is underrated. EIP-55 addresses with mixed case make poisoning way harder on Ethereum mainnet
EIP-55 should be the default everywhere. the fact that some wallets still show all-lowercase addresses is negligent at this point
i always verify the first 4 and last 4 characters minimum. tedious but saved me once already when the middle was totally different
first and last 4 is the minimum. i do first and last 8 now after seeing how sophisticated the spoofed addresses got
first and last 8 characters is smart. the spoofed addresses usually only match 4 on each end