Crypto dusting attack: what to do
Published: September 20, 2026
Also available in:繁體中文
You open your wallet and there is money in it you did not ask for. A few hundred satoshi, or a token with a name you have never heard of. This is usually called a crypto dusting attack, and the first thing worth saying is that nothing has been taken and nothing can be taken with what the sender holds. What matters is what happens next, and the answer is different on Bitcoin than on Ethereum, Solana or Tron. We run notrace.exchange, a crypto mixer, and one section below says plainly why a mixer is not the answer to this particular problem.
What dust actually is
Dust is an output too small to be worth spending: it would cost more in fees to move than it is worth. Bitcoin Core does not keep a fixed number for this. It calculates a threshold for each output from the size of that output and a fee rate called dustRelayFee, in GetDustThreshold. The comment in the source spells out the arithmetic: a spendable non-SegWit output is 34 bytes and needs an input of at least 148 bytes to spend, so dust is anything below what 182 virtual bytes cost at that rate — 182 x 3,000 / 1,000, or 546 satoshis. A native SegWit P2WPKH output works out at 294.
That default rate is a constant in policy.h: 3,000 satoshis per virtual kilobyte, with a note from the developers that changing the dust limit changes which transactions are standard and should be done with care and rarely. A third number exists for a newer output type: BIP 433 notes in passing that under the ephemeral dust policy the same formula puts the threshold for a Pay-to-Anchor output at 240 satoshis by default, and that a transaction carrying such dust must be zero-fee.
So 546 is not the dust limit. It is what the formula returns for one output type at one fee rate. Every page you will read on this subject prints it as a constant.
Two further things follow from where this rule lives. Dust is a relay policy, not a consensus rule: a miner can include a smaller output regardless. And the policy has been moving. Current Bitcoin Core allows one dust output in a transaction rather than none, but only inside a narrow exception called ephemeral dust, where the transaction must carry no fee at all and the dust must be spent by a child transaction in the same package. An ordinary transaction that sprays dust at strangers' addresses and pays a fee is still non-standard.
The dust itself tells nobody anything. Exodus, whose support page ranks for this, says so directly: a dust output does not reveal your identity and gives the sender no access to any funds. Wikipedia's article on dusting attacks says the opposite — that when the victim tries to cash the token out, the sender can reach the wallet through the smart contract attached to it. That sentence cites a listicle, describes a token-approval scam rather than dusting, and contradicts every wallet vendor writing on the subject. The article is a four-citation stub. It is also in the top ten for every way of phrasing this question, and second for "crypto dust".
Why dust works on Bitcoin
The leak the attack relies on is named in the Bitcoin whitepaper itself. Section 10, on privacy, concedes that multi-input transactions "necessarily reveal that their inputs were owned by the same owner". Analysts call it the common-input-ownership heuristic, and it is not a guess about habits: the sender has to hold a private key for every input, so the inference comes from the protocol.
The part that makes dust worth sending is that the heuristic is transitive. In A Fistful of Bitcoins, presented at IMC in 2013, Meiklejohn and colleagues spell out the consequence: if addresses A and B appear as inputs to one transaction and B and C to another, then A, B and C all belong to one user. Spend the dust once, together with your own coins, and you have not linked two addresses. You have welded the address the dust arrived at onto everything else the heuristic has already grouped together.
The Bitcoin Wiki, which is where this behaviour was documented long before it had a marketing name, does not call it a dusting attack. It calls it forced address reuse, and states that the term "dust attack" is a misnomer for it. Its advice is the whole of the defence: coins that land on an already-used, empty address should never be spent.
How often this happens, and who does it
Here the story gets less dramatic than the pages describing it.
The broadest open measurement outside the journals belongs to Jameson Lopp, who scanned 620 million transactions — about two terabytes read from his own node — for a history of dust and spam storms in March 2021. He lists four motives for sending dust, with deanonymisation last, and says he has yet to come across convincing evidence that analytics firms do it. His argument is worth more than the disclaimer: clustering heuristics already work without any help, so the marginal privacy a mass dusting buys is small.
The firms themselves agree. In August 2020, Chainalysis and CipherTrace both told CoinDesk on the record that they do not use dusting in their analytics, and Chainalysis added that dusting is more often used by investigators tracing stolen funds. Not one of the pages above this one in search results mentions that.
Two dusters are on the record, and both said they were advertising:
- BestMixer, late 2018. The mixing service called it a new advertising technology of its own invention. CipherTrace, which coined the term "Crypto Dusting" in December 2018, wrote at the time that reading the campaign as an attack on privacy was a mistake. Lopp counted the campaign on-chain: 61 transactions, half a bitcoin of dust, 0.03 BTC of fees.
- EMCD, August 2019. Binance reported on 10 August that around 50 of its Litecoin addresses had each received 0.00000546 LTC and treated it as a large-scale dusting campaign. Glassnode's co-founder put the real figure near 300,000 addresses, not 50, and found an earlier campaign in April that nobody had reported. The sender turned out to be a Russian mining pool, EMCD, which contacted Binance to say it had been advertising. James Jager of Binance Academy, who relayed that, added that it is unclear whether there were other motives — and that whoever sends the dust need not be whoever reads it afterwards.
The economics explain the shape of it. A 2020 campaign advertising a messaging app produced about 84,000 dust outputs across 146 transactions at a cost of roughly 1.147 BTC, and spent three times more on fees than on the dust itself. Mass dusting is an advertising budget, not an intelligence operation.
One more thing nobody says: there is exactly one peer-reviewed measurement of dusting itself, and almost nobody writing on this subject uses it. In Is Bitcoin gathering dust?, published in Applied Network Science in 2023, Loporchio and colleagues pulled 1,705,560 dust-creating transactions out of the chain, identified 89,102 dust-consuming transactions that fit the shape of a successful attack — about 44% of all dust-consuming transactions — and then ran the address clustering twice, with those transactions and without them. Had the attacks not taken place, 414,236 addresses would not have been clustered at all. Their own summary is that attack-like transactions are a minority of dust with a disproportionately high effect on breaking address pseudonymity.
The other rigorous numbers measure something else — in Another coin bites the dust, published in Royal Society Open Science, Pérez-Solà and colleagues took a snapshot of the Bitcoin UTXO set on 6 February 2018 at block 507,964 and found that at a fee rate of 116 satoshis per byte more than half of all unspent outputs — 30.2 million of them — counted as dust, with 5,617 that stay dust at any fee because their value is zero. That is a study of how much dust exists, not of how many people were dusted. So when a page hands you a number about dusting, ask where it came from.
On Ethereum, Solana and Tron the mechanism is absent
An Ethereum account holds four fields: a nonce, a balance, a code hash and a storage root. None of them records where any part of the balance came from. There are no separate coins to select, so there is nothing to co-spend, and the inference the whole attack rests on has no object.
This is not an argument from silence. In Address clustering heuristics for Ethereum, presented at Financial Cryptography in 2020, Friedhelm Victor states that the common-input-ownership heuristic cannot be applied to the account balance model, and that no Bitcoin clustering heuristic transfers directly. What does link addresses on Ethereum is different: deposit addresses at exchanges, repeated participation in the same airdrops, and token approvals between two addresses you control — which the paper calls self authorization: of 7,325,925 approval events only 338,510 ran between active externally owned accounts at all, and the paper reports this heuristic catching so few addresses that they do not appear in its chart. Together those heuristics clustered 17.9% of active externally owned accounts.
That inverts the usual advice. On an account chain the risk is not the dust arriving. It is what you sign.
What arrives on those chains mostly is not even dust in the Bitcoin sense. The address poisoning study presented at USENIX Security 2025 separates three kinds of poisoning transfer, and only one moves anything you actually owned. A zero-value transfer forges a Transfer event so your own history appears to show you paying a lookalike address. The token standard requires transfers of zero to be treated as normal transfers, so the entry cannot simply be forbidden; the forged sender comes from the way common implementations let a caller name any sender they like. A counterfeit token is written by the attacker, so it can imitate any symbol and move "your" balance on anyone's behalf. Of 17.3 million poisoning transfers the authors saw on Ethereum, only about 300,000 were actual tiny value transfers.
The same paper puts the two attacks side by side and names their goals apart: dusting aims at deanonymisation, poisoning at a misdirected payment. Over two years on Ethereum and BNB Smart Chain, from 1 July 2022 to 30 June 2024, it counted 270 million attempts against 17 million victims, 6,633 of which succeeded, for at least 83.8 million dollars lost — a floor rather than a total, since it excludes the well-known 68 million dollar WBTC case. The success rate on Ethereum was 0.01%. It is spam, and it is priced like spam: the median successful theft on BNB Smart Chain was 85 dollars against 2,169 on Ethereum.
Volume alone makes it visible in the data. Coin Metrics looked at 227 million USDC and USDT balance updates on Ethereum between November 2025 and January 2026 and found 97.6 million of them — 43% — under a dollar, and 85.9 million under one cent; ten sending addresses accounted for more than 8.5 million dust transfers, the busiest reaching over a million unique addresses for about 5,175 dollars in total. That one is worth quoting carefully, because it is widely quoted badly: Coin Metrics says the majority of the growth it measured reflects genuine usage, with a portion tied to address poisoning. Elsewhere you will find the same episode attributed to an Ethereum upgrade "in early 2025", which cannot be right — Fusaka went live on 3 December 2025. Numbers about dusting travel badly. Check them.
Each chain adds its own wrinkle:
- Solana. Anyone may create and fund an associated token account for you — the token documentation states there is no restriction on who can do it — and the rent deposit sits there in your name. A spam token account can be closed and the rent recovered, but only once its balance is zero, so the order is burn first, then close. Phantom, which built a tool for spam NFTs, says those are never dangerous to burn, unlike interacting with them.
- Tron. An address only exists on-chain once someone sends it value, so dust can create the account. Activating one burns a network parameter from the sender, currently 1 TRX on mainnet and changeable by committee vote, with a further bandwidth charge if the sender has none staked. Dusting a fresh Tron address costs the attacker real money.
What to do
On Bitcoin the whole defence is one instruction: do not spend it. Everything else is about whether your wallet lets you obey it.
- Bitcoin Core. Turn on "Enable coin control features" in the settings, then use "Lock unspent" from the context menu, or the
lockunspentRPC. There is a trap in it: by default the lock lives in memory only and is gone when the node restarts. - Electrum. The feature is called freeze. The FAQ describes it at the level of an address, but the documentation lags the program — the code carries
set_frozen_state_of_coinsalongside the address version, so individual outputs can be frozen, which is what you want for a single dust output. - Sparrow. The menu items are "Freeze UTXO" and "Unfreeze UTXO", and a frozen output is filtered out before coin selection runs. They appear in the source, not in the documentation, whose table of contents has no page on freezing or dust at all; coin control itself is covered in the FAQ.
- Wasabi. The only wallet with a setting named after this attack: a dust attack limit below which coins arriving from someone else's wallet at an already-used address are simply not shown. Its documentation describes forced address reuse by name.
- Trezor Suite. A "Coin control" button in the Send tab, applied per transaction; turn it off and the wallet goes back to choosing outputs itself. Whether a permanent freeze exists, the page does not say.
- Ledger Live. Coin control arrived in version 2.11.1, announced on 16 September 2020, and Ledger's own announcement names dusting as a reason to have it.
- Exodus. Worth naming because the standard advice does not work there: Exodus states it does not support sending or freezing individual outputs, and suggests exporting your private key into another wallet — a far larger risk than the dust. It also sweeps amounts under 0.00001501 BTC into the transaction fee automatically.
Bitcoin Core carries one more relevant option, -avoidpartialspends, which groups outputs by address and spends many or none rather than picking individually; the help text explains it as a privacy improvement because addresses are mostly swept in fewer transactions. It is aimed at addresses that hold several outputs. For an empty address that has just received dust, the Wiki's advice stands instead: leave it.
On account chains the moves are different:
- Leave unsolicited tokens where they are. MetaMask's guidance is to leave airdropped scam tokens alone rather than move or sell them; the usual payload is a site that asks for your recovery phrase.
- Never copy an address out of your own transaction history. That is exactly what poisoning is for.
- Watch what you approve. An ERC-20 approval authorises repeated withdrawals up to its limit and overwrites the previous one, and the standard carries its own warning to set the allowance to zero first. With EIP-2612 permit no transaction from you is needed at all — a signed message is enough, and anyone may submit it. Revoking an approval stops the contract touching the wallet.
- On Solana, burn spam tokens and NFTs and reclaim the rent. On Tron and BNB Smart Chain, ignore the memo.
Neither of the next two has a fix. If you already spent the dust, nothing undoes it — the ledger is permanent, and no page that tells you not to spend it says what to do afterwards. And if the dust landed on a deposit address at an exchange or any custodial wallet, coin control on your side is irrelevant: the custodian consolidates deposits on its own schedule, and the decision was never yours.
Exchange dust conversion is a convenience, not a privacy measure. Binance converts balances under 20 USDT once an hour at a flat 2% (10% for alpha tokens, with unlisted and delisted tokens excluded); Binance.US uses a different rule — under 20 dollars, above one cent, once every six hours.
Does a mixer help? No
It is worth answering directly, because some security write-ups list coin mixers among the defences against dusting. Identity Management Institute does, in July 2024, and so does PrimaFelicitas. We sell mixing and we think they are wrong.
The defence against dust is not spending it. A mixing service has no say in which outputs your wallet selects when it builds a deposit transaction. If that transaction includes the dust, the co-spend is already on the chain before the service has seen anything, and the cluster is already joined. Paying someone afterwards does not unmake it. The largest wallet vendor writing about this reaches the same conclusion by a different route: Binance Academy's advice is coin control and a Do Not Spend flag, and it does not mention mixers at all. Neither do BitGo, MetaMask or Phantom.
There is a historical irony on top. In the best-documented Bitcoin dusting of all, the sender was a mixing service advertising itself.
What a mixer does is a different job. It breaks the link between a deposit and a payout — the connection between the coins you send and the coins you receive — which is useful against a different observer and does nothing about an output already sitting in your wallet. The closest relative of this attack on the privacy side is CoinJoin, which breaks the common-input-ownership heuristic by construction, but only for the coins you deliberately put through it. How addresses get grouped in the first place, and where a name attaches to them, is in Is Bitcoin traceable.
Where a mixer fits: notrace.exchange
This is what an order looks like on 20 September 2026, stated so the previous section cannot be read as modesty:
- The link stays off the public chain. Every order settles on a private settlement layer, so the connection between your deposit and your payout is not written to the public blockchain.
- The payout is split in two. It leaves as two transfers to two different addresses you name, each after its own delay of up to six hours, counted from the moment your deposit settles.
- Coins. BTC, ETH, SOL and TRX, plus USDT and USDC on several networks. The payout can be in the coin you sent or in another one.
- A promise you can check. Before you pay, the order page offers a letter signed with our PGP key stating what you send, the least you receive, both addresses and both delays.
- No account. No registration and no document check. You return to an order by its link, so keep the link.
- Our fee was 0.5% on 20 September 2026, and the current one is always in the FAQ.
None of that cleans dust out of your wallet. While a delay runs, the funds for that transfer are held by us; section 8 of the terms says so.
Where to start
Four coins have their own page that opens the form with a live minimum: the bitcoin mixer, Ethereum, Solana and USDT on Ethereum; everything else is on the main form. If you have not used a service like this, the step-by-step guide walks through one order from the amount to both transfers arriving, and the checks worth running on any mixer are in a separate guide.