The discard feerate and the long-term feerate are each estimates of what it’s going to price 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 range leaves some leftover worth, is that leftover value turning into change, or ought to it simply go to the payment? A change output prices you twice, as soon as to create on occasion to spend later, and the discard price costs that future spend. If the change could be mud at that price, that means it might price extra to redeem than it is value, Core drops it into the payment slightly than creating an output you’d by no means economically spend. In Department and Certain 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 payment beats making change. Two bounds apply from the choice’s personal assist textual content: the efficient price is floored by the mud relay payment and capped by the longest-target payment estimate, so a really excessive -discardfee cannot discard arbitrarily giant 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 price, every further enter provides constructive 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 damaging waste, so the pockets prefers extra inputs and consolidates cheaply now, since spending them later is anticipated to price extra. It by no means adjustments the payment you really 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 price as a result of the week-out estimate usually sat close to the ground and skewed choice towards fixed consolidation.
So each encode “what is going to it price to spend a coin later,” each reside 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 range 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 complete enter units.
