The discard feerate and the long-term feerate are each estimates of what it will value to spend a UTXO sooner or later, and since Bitcoin Core v24 each default to 10 sat/vB, which is exactly why they get confused. The distinction is which UTXO every one costs, and at which stage of constructing the transaction. The discard feerate governs a single change output; the long-term feerate governs enter choice.
The discard feerate (-discardfee, DEFAULT_DISCARD_FEE = 10 sat/vB, added in PR #10817) solutions one query: as soon as a variety leaves some leftover worth, is that leftover value turning into change, or ought to it simply go to the charge? A change output prices you twice, as soon as to create once in a while to spend later, and the discard fee costs that future spend. If the change could be mud at that fee, which means it will value extra to redeem than it is value, Core drops it into the charge reasonably than creating an output you’d by no means economically spend. In Department and Sure that is the cost_of_change window, discard_feerate.GetFee(change_spend_size) + effective_feerate.GetFee(change_output_size), inside which giving the surplus to charge beats making change. Two bounds apply from the choice’s personal assist textual content: the efficient fee is floored by the mud relay charge and capped by the longest-target charge estimate, so a really excessive -discardfee cannot discard arbitrarily massive change.
The long-term feerate (-consolidatefeerate, default 10 sat/vB) lives solely contained in the waste metric that scores candidate enter units, and it represents the feerate at which you would be content material to consolidate UTXOs. Waste contains, per enter, input_size × (current_feerate − long_term_feerate), and the signal of that distinction is all the mechanism. When the present feerate sits above the long-term fee, every further enter provides optimistic waste, so the pockets prefers fewer inputs and avoids overpaying to maneuver cash whereas charges are excessive. When the present feerate sits under it, every further enter provides adverse waste, so the pockets prefers extra inputs and consolidates cheaply now, since spending them later is anticipated to value extra. It by no means adjustments the charge you truly pay on this transaction; it solely decides which legitimate enter set wins. Earlier than PR #22009 (v24) this was the dynamic 1008-block estimateSmartFee worth, swapped for a static configurable fee as a result of the week-out estimate typically sat close to the ground and skewed choice towards fixed consolidation.
So each encode “what is going to it value to spend a coin later,” each dwell within the coin-selection and alter equipment, and each default to 10 sat/vB, however they act on totally different cash at totally different moments. The discard feerate acts on the change output and whether or not it survives, utilized after a variety is made to trim uneconomical change. The long-term feerate acts on the inputs and what number of to select, utilized throughout choice to match entire enter units.
