Address Poisoning Scams: When Wallet History Misleads

Most wallet interfaces shorten an address to its first and last few characters. An address-poisoning scam is built around exactly that convention: the attacker creates an address with the same opening and closing characters, sends a tiny transaction so it appears in your history, and waits for a future payment to be copied from the wrong row.

CoinSoso EditorialPublished Article #00045Updated

Cover artwork: CoinSoso · AI-generated, not a photograph of a real venue, product or market capture.

Key takeaways

  • Address poisoning does not steal a key or exploit a contract. It exploits the habit of checking only the start and end of an address.
  • The attacker generates a vanity address matching the first four and last four characters of an address you have used, then sends a dust transaction to plant it in your history.
  • Copying the lookalike from transaction history sends the next payment to the attacker, and an on-chain transfer cannot be reversed.
  • Defences are procedural: read the full address, avoid copying from history, use an address book, and confirm on a hardware wallet screen.
  • MetaMask reports that Blockaid flagged 65.4 million address-poisoning transactions between January 2025 and February 2026, a vendor-reported figure rather than a complete count.

The attack is a copy-paste trap

Address poisoning is a social attack on a technical convention. Wallets shorten addresses because 42 hexadecimal characters do not fit on a phone screen. Users learn to check the first few and last few characters. The attacker builds an address that satisfies that check.

MetaMask’s description is specific: the scammer generates a “vanity” address resembling one the victim has used, “matching the first four and last four characters”, then sends a “tiny ‘dust’ transaction from that lookalike address, planting it in your activity history”. Later, when the victim copies what looks familiar, the middle differs and the funds go to the scammer.

The example MetaMask publishes makes the point:

  • Real: 0xEdf89FdA047F28…C6341a8ff7ED
  • Poison: 0xEdf89Ac910Bb52…99x2b8ff7ED

At a glance the two are indistinguishable in the shortened form. Expanded, they share a prefix and a suffix and nothing else that matters.

Two addresses with the same prefix and suffix but different middle characters real 0xEdf89FdA047F28... C6341a8ff7ED poison 0xEdf89Ac910Bb52... 99x2b8ff7ED the matching ends are what a shortened address shows the middle is where the two strings diverge

Why the history entry is persuasive

A wallet’s transaction history is treated as a record of things that happened to you. Poisoning borrows that trust.

The attacker’s dust transfer costs almost nothing, and on some chains it can be a zero-value token transfer that still creates a visible row. The row shows the lookalike address, often with the same token symbol or a fake token designed to look official. Some interfaces label the row as a transfer you received; others include the address in an autocomplete or “recent” list.

None of that means the address is yours or the token is real. It means the attacker paid a small fee to place a line in your interface. The line is data, not a relationship.

Who is exposed

Anyone who sends to an address more than once and checks only the shortened form. The risk is higher for:

  • Treasury and operations wallets that make recurring payments to the same counterparty.
  • Users who copy from history because it is faster than opening an address book.
  • Wallets that show only the first and last four characters at the confirmation step.
  • Users who approve a transfer without reading the full destination on a hardware wallet screen.

It is not limited to large balances. A single mistaken transfer can empty a wallet regardless of size.

The defences that actually work

Address poisoning is defeated by procedure, not by antivirus software.

  1. Compare the full address at signing time. On a hardware wallet, the device screen is the authoritative display; confirm every character group, not just the ends.
  2. Do not copy from transaction history. Open the address book or the counterparty’s verified channel and copy from there.
  3. Use a saved address book. A saved entry with a label is a reference you can check against, and it removes the “copy the last one” habit.
  4. Verify the first transaction with a small amount. For a new counterparty, send a test amount and confirm receipt before sending the balance.
  5. Treat unsolicited tokens as noise. A token you did not buy is not a gift; interacting with its contract can be the attack.
  6. Read the wallet’s warning. MetaMask’s detection compares a pasted address against prior interactions and warns when the ends match but the middle differs. A warning is a reason to stop, not a prompt to tap through.

Ethereum.org’s general guidance points the same way: a transaction sent on Ethereum is irreversible, so confirm that the address “exactly matches the desired recipient’s address” before sending, and read the transaction message before signing a contract interaction.

What detection can and cannot do

MetaMask’s feature is a useful layer because it targets the exact moment of paste. It compares the pasted string with addresses the wallet has seen, and shows a blocking warning when the pattern matches a known address at the ends but not in the middle. It also warns on a first-time send to an unfamiliar address.

The limits are inherent:

  • It only sees what the wallet knows. An address you have never interacted with has no baseline to compare against.
  • It warns; it does not rewrite the destination. The user still decides.
  • It does not cover every wallet or every chain. A user with several wallets has several different histories.

The vendor-reported scale is a reminder that the attack is industrial, not opportunistic. MetaMask’s article states that Blockaid flagged 65.4 million address-poisoning transactions between January 2025 and February 2026. That is a count of flagged events by one security vendor, not a count of losses, and it should be read as evidence of volume rather than as a loss estimate.

If a transfer has already gone wrong

The first step is to check the transaction hash and the destination. If the funds went to a lookalike address controlled by an attacker, the transfer is final. There is no protocol-level reversal and no central support line that can claw it back.

What can still be done:

  • Report the address to the wallet provider, the block explorer and, if the destination is a deposit address at an exchange, to that exchange’s support. An exchange can freeze an internal account if the deposit lands there, but it cannot reverse a self-custody transfer.
  • Revoke any approvals connected to the incident, in case the same session also granted a token allowance.
  • Move remaining funds to a fresh wallet if the affected wallet’s address or history is being actively targeted.
  • Preserve the evidence: transaction hashes, timestamps, addresses and screenshots. Reports to law enforcement are more useful with the full trail.

The uncomfortable part is that the loss usually happens at the moment of a routine action, not at the moment of a dramatic hack. The defence is equally routine: read the whole address, every time, and never let a history row decide where money goes.

Sources

How this was researched. Written from primary documentation and the exchange or protocol's own published material, with sources listed at the end of the article.

Primary sources for the factual claims on this page. A date appears only where a human has actually read the source; where it is missing, the check is still outstanding.

  1. MetaMask — Address poisoning detection now live in MetaMask(read 2026-10-20)
  2. MetaMask Help Center — Address poisoning scams(read 2026-10-20)
  3. ethereum.org — Security: double-check transactions before sending(read 2026-10-20)

Frequently asked questions

Did the attacker gain access to my wallet?

No. Address poisoning does not require a private key, a seed phrase or a malicious signature. The attacker only needs your public address and the ability to send you a transaction. The theft happens later, if you copy the lookalike address from your history and send funds to it.

How can a transaction appear in my history if I never sent anything to that address?

Public blockchains let anyone send to any address. The attacker sends a zero-value or dust token transfer from the lookalike address to your address. Many wallets show that transfer as an interaction, and some show the lookalike as an address you have 'sent to' or 'received from', which is enough to make it look familiar.

Is a zero-value token transfer dangerous by itself?

Not mechanically. It moves no value and grants no permission. Its purpose is to place the lookalike address in your history and, in some cases, to make a fake token appear in your wallet. Do not interact with the token or the address; the danger is the copy-paste step that may follow.

Does MetaMask's detection stop the transfer?

MetaMask describes its feature as a blocking warning when a pasted address matches the first and last characters of an address you have interacted with but differs in the middle, plus a warning on first-time sends. It is a speed bump, not a guarantee. The wallet's guidance still puts the final check on the user.

I already sent funds to a lookalike address. Can I recover them?

Generally no. A confirmed on-chain transfer is final, and the recipient address is controlled by whoever generated it. Report the address to the wallet provider and, where relevant, to the exchange or explorer, but do not expect a reversal. The recovery step that works is prevention: verify the full address before signing.

Where to go next

Independent research. Each card shows the platform’s invite code, and its Create Account button is a referral link that may earn us a commission at no extra cost to you. Whether an account can be opened is decided by the platform at sign-up.

Binance

One of the largest global exchanges by traded volume, with a very broad product range.

20% Trading Fee Rebate

Use invite code con888 when signing up to enjoy trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →

OKX

A large global exchange offering spot, derivatives and a self-custody wallet.

20% Trading Fee Rebate

Enter invite code con888 when signing up to check available trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →