$1,000,000 in security audit grants are live now, Apply here →

← Resource Hub

Address Poisoning Attacks: How Treasuries Lose Millions

By the Guardian team Updated 5 min read

Address Poisoning Attacks: How Treasuries Lose Millions

Quick answer. Address poisoning plants a lookalike address in a wallet's history with zero-value, dust or fake-token transfers, hoping someone copies it for the next payment. Institutions stop it with allowlists, verified address books and policies that block unlisted destinations.

Watch: Address Poisoning Attacks: How Treasuries Lose Millions 1:36
Video transcript

Address poisoning breaks no keys and no contracts. The victim signs a valid transfer, to the wrong address.

Attackers watch for stablecoin transfers, generate an address matching your recipient's first and last characters, plant it in your history with a zero-value or dust transfer, and wait for you to copy it.

Checking the ends fails. A USENIX Security 2025 study found one attacker group matching up to 20 characters.

In May 2024, one victim lost about 68 million dollars in WBTC, later mostly returned. In December 2025, nearly 50 million USDT was swapped within 30 minutes and moved to Tornado Cash.

That December loss followed a 50 USDT test to the right address. A test proves only the address you tested.

The same study counted 270 million poisoning attempts and at least 83.8 million dollars lost, a lower bound.

Remove the copy step. Keep one verified address book, confirmed by a second person. Enforce an allowlist in custody, and compare the full address before signing.

Monitor for poisoning transfers and warn staff the same day. Alert on payments outside the address book. If funds reach a lookalike, ask the issuer and exchanges to freeze them fast.

Guardian's Managed Security monitors large fund movements, and an OpSec audit reviews how your team approves and changes funds. Read the full article, or talk to Guardian.

Address poisoning breaks no keys and no contracts. The victim signs a valid transfer, to the wrong address.

It works because people copy addresses from their transaction history and check only the first and last few characters.

Treasury and operations teams move large sums, so one copy-paste error can cost millions. Two cases since 2024 each lost about $50M or more.

How the Attack Works

The attacker watches a chain for transfers, usually of stablecoins. Then it targets the sender.

  1. It generates an address whose first and last characters match the victim's usual recipient.
  2. It plants that address in the victim's history with a zero-value, dust or fake-token transfer.
  3. It waits for the victim to copy the lookalike for the next payment.

Zero-value transfers need no approval from the victim. Popular token contracts let anyone call transferFrom for an amount of zero, naming any sender.

So the victim's history shows an outgoing transfer they never made, to an address that looks familiar.

Three variants

VariantWhat appears in your historyTell
Zero-value transferA transfer of 0 tokens "from" you to the lookalikeYou never sent it
Dust transferA tiny real-token payment from the lookalikeAn unexpected small incoming amount
Fake tokenA counterfeit token named like USDC or USDTWrong contract, often no icon

Why checking the ends fails

Lookalikes are made by brute force: generate keys until the start and end of the address match.

In the $68M WBTC case below, the lookalike matched the first and last six characters, per CoinDesk.

A USENIX Security 2025 study found one attacker group matching up to 20 characters across the two ends.

A glance at the first and last four characters is no check at all.

Notable Losses

DateLossWhat happenedOutcome
May 20241,155 WBTC (about $68M)Lookalike mimicked a 0.05 ETH transferAbout 22,960 ETH ($65.7M) returned from May 10
Dec 20, 202549,999,950 USDTFull transfer 26 minutes after a 50 USDT testSwapped to DAI, then ETH, then Tornado Cash

The WBTC attacker returned nearly all of it, over 96% by value, after negotiations, per Cointelegraph.

In the December case, the attacker swapped the USDT to DAI within 30 minutes, per The Block. Tether can freeze USDT in flagged wallets, so the swap put the funds beyond its reach.

The same case shows the limit of test transfers. The 50 USDT test went to the right address; the full amount went to a lookalike, likely copied from history.

A test proves only the address you tested. It says nothing about the address you paste next.

The scale

The USENIX study scanned Ethereum and BNB Smart Chain from July 2022 to June 2024. It defines its terms narrowly:

  • 270 million attack attempts: poisoning transfers sent to targets.
  • 17 million victims: addresses that had sent major stablecoins and were targeted.
  • 6,633 incidents: cases where a victim then paid a lookalike.
  • At least $83.8M: lost in those incidents, a lower bound.

It tracked only a few stablecoins, so the WBTC loss is not in that total.

Treasury Controls

The goal is to remove the copy step from payments altogether.

Allowlists and address books

  • Keep one verified address book. Add entries only from the counterparty's own channel.
  • Have a second person confirm each new entry, ideally by a call to a known contact.
  • Enforce an allowlist in your custody platform, so unlisted addresses cannot be paid at all.
  • Treat a new address as a change request, not a payment detail.

Custody platforms build this in. Fireblocks, for example, blocks transfers to outside addresses unless they are whitelisted, and each addition needs Admin Quorum approval.

Its one-time address feature bypasses that list, and Fireblocks warns it "poses security risks". Keep it off for treasury vaults.

Payment procedure

  • Never copy a destination from wallet history or a block explorer.
  • Pay only to saved address book entries.
  • Compare the full address on the signing device, not just the ends.
  • Send a test, have the recipient confirm it, then pay the rest to the same saved entry.
  • Require a second approver above a set amount.

What each control covers

ControlStopsGap
Allowlist in custody policyAny payment to an unlisted addressAn entry added without verification
Verified address bookCopying from historyStaff who bypass it
Full-address comparisonLookalikes that match the endsFatigue at high volume
Test transferA wrong saved addressA lookalike pasted after the test
Wallet lookalike warningsNear-matches to past recipientsCoverage varies by wallet

Wallet warnings

Turn on every warning your wallet offers. MetaMask shows a blocking warning before a send to an address that closely resembles one you have used. It also warns on addresses you have never sent to.

The USENIX authors also recommend that wallets hide suspected poisoning transfers and show more of each address.

Detection and Response

  • Monitor treasury addresses for zero-value, dust and fake-token transfers from lookalikes.
  • Treat a poisoning attempt as a sign someone is watching your flows. Warn staff that day.
  • Alert on any outgoing transfer to an address outside the address book.
  • Hide or label zero-value transfers in internal dashboards and reports.

If a payment does go to a lookalike, minutes count. Ask the issuer and any receiving exchange to freeze it before it is swapped.

Our guide to the first hour after a wallet drain covers the steps. Exchanges should also see our exchange incident response plan.

How Guardian Helps

Guardian's institutional advisory designs trust boundaries, approval thresholds and key custody before they are built.

Managed Security monitors contracts on every block, including multisig transactions and large fund movements. Its security operations team reviews every multisig transaction before it is signed.

An OpSec audit reviews how your team holds, approves and changes funds. For signing hygiene beyond payments, see our guide to Permit2 phishing.

Frequently Asked Questions

What is address poisoning in crypto?

A scam that plants a lookalike address in your transaction history with zero-value, dust or fake-token transfers. It succeeds if you later copy that address for a real payment. No keys or contracts are compromised.

Can address poisoning steal funds without my signature?

No. A zero-value transfer can appear in your history without your approval, but it moves nothing. Funds are lost only when you sign a transfer to the lookalike address.

Is a test transaction enough to prevent address poisoning?

No. A test confirms only the address it went to. In December 2025, a trader's 50 USDT test went to the right address, then 49,999,950 USDT went to a lookalike about 26 minutes later, per The Block.

Can poisoned funds be recovered?

Do not count on it. The May 2024 WBTC attacker returned nearly all of the funds, but the December 2025 attacker swapped the USDT within 30 minutes and moved it into Tornado Cash. Prevention is the only reliable control.

Sources

Take the copy step out of your treasury payments

Guardian designs approval thresholds, key custody and signing models for institutions, then watches large fund movements around the clock.