LearnBitcoin

Glossary

Discard Threshold

In Bitcoin Core's wallet, the smallest change output worth creating. Change below it is left out and goes to the miner as part of the fee.

The discard threshold is the smallest change output Bitcoin Core's wallet will create. When the change left over from a payment would come in under it, the wallet leaves the change output out, and the leftover goes to the miner as part of the fee.

The reason is cost. Change is only worth having if you can spend it later, and spending it means paying for one more input. If that future fee would eat the whole amount, the output is worth nothing to you, so the wallet doesn't make it.

How Bitcoin Core works it out:

  • It picks a discard fee rate. The default is 10 sat/vB (the -discardfee setting). If the node's fee estimate for its longest target is lower, the wallet uses that instead, and it never goes below the dust relay rate of 3 sat/vB.
  • At that rate, the threshold is the larger of two amounts: the fee to spend the change output later plus one satoshi, and the output's dust limit.
  • Change below the threshold is added to the fee. Change at or above it gets its own output.

The setting arrived in Bitcoin Core 0.15.0 (2017), in the same change that redefined dust as an output that would cost its own value in fees to create and spend at the dust relay rate.

Don't confuse it with the mempool's minimum fee. That one decides which unconfirmed transactions a node keeps:

  • Bitcoin Core caps its mempool at 300 MB of memory by default.
  • When the mempool is full, the node evicts the lowest-feerate transactions and raises its minimum fee to just above the feerate of what it evicted. That floor then decays, halving every 12 hours, or faster once the mempool is under half full.
  • In calm periods the floor is the relay minimum, which Bitcoin Core 29.1 (September 2025) cut from 1 to 0.1 sat/vB. The release notes say the dust rate and the wallet's fee rates stayed the same.
  • mempool.space shows this floor on its dashboard as "Minimum fee", relabeled "Purging" when it rises above the relay minimum.

Key takeaways

  • Change too small to be worth spending later becomes extra fee instead of a new output
  • Bitcoin Core works it out from a discard fee rate: 10 sat/vB by default, never below the 3 sat/vB dust rate
  • Not the same as the mempool's minimum fee, which decides which unconfirmed transactions a node keeps

Corrected

  • Was: The entry defined the discard threshold as the minimum fee rate a transaction must pay to stay in a Bitcoin Core node's mempool when memory runs short.

    Now: In Bitcoin Core, the discard threshold is the smallest change output the wallet will create. Smaller change is added to the fee instead. The wallet works it out from its -discardfee rate, 10 sat/vB by default. The mempool's minimum fee is a separate rule. Details

  • Was: The entry said mempool.space's next-block fee estimate shows the discard threshold, and gave about 1 sat/vB as the floor in calm periods.

    Now: mempool.space shows the mempool's fee floor on its dashboard as 'Minimum fee', relabeled 'Purging' when it rises above the relay minimum. Bitcoin Core 29.1 (September 2025) lowered the default relay minimum from 1 to 0.1 sat/vB. The entry's definition was itself corrected on 10 October 2026: in Bitcoin Core the discard threshold is a wallet setting for dropping tiny change, not the mempool floor. Details

Sources (14)

Related terms (10)

Published . Revised . Two corrections logged for this page.

Edit this page on GitHub