Bitcoin dust limit, and what a sweep costs

The arithmetic here needs JavaScript. It runs on your device either way - the only thing this page fetches is the current fee rate, and it asks for nothing about you.

Data: your browser talks directly to mempool.space. The only thing this page fetches is the current fee rate, from mempool.space, and that request carries nothing but itself. Every threshold and every size is worked out on your device from Bitcoin Core's own rule, so the amounts you type never leave your browser.

Two different things get called dust, and confusing them is why most calculators give a number nobody else agrees with. One is a fixed rule. The other moves with every block.

The dust limit is a constant, not a fee calculation

An output below the dust limit makes the whole transaction non-standard: nodes refuse to pass it on, so no ordinary wallet will build one. That limit comes from a fee rate of 3000 satoshis per thousand vbytes, which is a policy constant that has not moved in years and is deliberately unrelated to what fees are doing today. It works out at 546 satoshis for a legacy output, 294 for SegWit, 330 for Taproot - the same numbers every wallet arrives at, because they all read the same rule.

  • It depends on the output form, because it prices what spending it would cost.
  • It does not change when the mempool fills up or empties out.
  • A wrapped SegWit output pays the legacy limit: the rule reads the output script.

The line that actually costs you money is the other one

An output can be five or ten times the dust limit and still not be worth spending, because the fee to move it exceeds what it holds. At 50 satoshis per vbyte a SegWit output is uneconomic below about 3400 satoshis - eleven times the policy figure. That is the number that decides whether the coins in your wallet are really there, and it moves with every block. This page shows both at once, labelled, along with the fee rate at which a given output crosses from one side to the other.

Sweeping is a fee decision, and the fee is the only thing that changes

Small outputs do not expire and do not become cheaper to spend on their own. Sweeping several into one costs the fee for each input plus a little overhead, so the whole question is what the fee rate is on the day you do it. The page prices the sweep, says what would be left, and says plainly when the answer is that nothing would be - a wallet full of outputs below the economic line cannot be rescued by a transaction, only by a cheaper day.

  • Each input costs the same whether it holds 600 satoshis or 6 million.
  • A legacy input is more than twice the size of a SegWit one, and pays it.
  • A single transaction is capped at 400,000 weight units, so a very long list takes more than one sweep.

Where these numbers come from

The threshold is Bitcoin Core's own GetDustThreshold, transcribed as arithmetic rather than remembered, and it reproduces the three figures Core states in its own comments. The sizes are counted from the real serialisation and checked against four transactions taken off a mainnet block: the estimate lands exactly on the weight the chain recorded, or one weight unit high per input where the signature came out a byte shorter. It is never under, which is the safe direction for a fee.

Questions

Did the dust limit change when the minimum relay fee dropped?
No. Bitcoin Core lowered its default minimum relay fee to 100 satoshis per thousand vbytes, and the dust fee stayed at 3000. They are separate constants and nothing about dust is computed from the relay minimum. A tool that shows a smaller dust limit than 546 for a legacy output has confused the two.
My wallet will not let me send a tiny amount. Is that the dust limit?
Almost certainly. A wallet refuses to create an output below the threshold because the transaction would be rejected by the network rather than by the wallet. Sending a little more is the whole fix.
Should I consolidate my outputs now?
Only when fees are low, and only if you have several small ones. Consolidating costs a fee per input and buys you nothing except a cheaper transaction later, so it pays off when you did it at 2 satoshis per vbyte and spend at 60. Doing it during a fee spike is the reverse of the trade.
Can I recover an output that is below the economic line?
Only by waiting for a cheaper day, or by including it alongside outputs you were spending anyway, where it costs you the same fee but at least is not the reason for the transaction. There is no way to move it for less than an input costs.