# Gavin Andresen # 2014-07-04 00:07:43 # https://bitcointalk.org/index.php?topic=669243.msg7666002#msg7666002 Smart (dynamic, floating) fees for the reference implementation wallet was pulled today: @p{brk} @s{(link)} @p{par} ... and should appear in version 0.10. @p{par} The estimation code only considers transactions that are broadcast on the network, enter the memory pool (so are available to any miner to mine), and then are included in a block. So it is immune to miners putting pay-to-self transactions with artificially high fees in their blocks. @p{par} Right now if you use the default fee rules your transactions will take 2-6 blocks to confirm: @p{brk} @s{(link)} @p{par} The priority estimation code is even more broken; the reference implementation wallet will send a 56-million-priority transaction with no fee, which is nowhere near enough priority to get confirmed quickly: @p{brk} @s{(link)} @p{par} (the smart fee code estimates priority, too). @p{par} Release notes from doc/release-notes.md in the source tree: @p{par} Transaction fee changes @p{brk} ======================= @p{par} This release automatically estimates how high a transaction fee (or how @p{brk} high a priority) transactions require to be confirmed quickly. The default @p{brk} settings will create transactions that confirm quickly; see the new @p{brk} 'txconfirmtarget' setting to control the tradeoff between fees and @p{brk} confirmation times. @p{par} Prior releases used hard-coded fees (and priorities), and would @p{brk} sometimes create transactions that took a very long time to confirm. @p{par} @p{brk} New Command Line Options @p{brk} ======================== @p{par} -txconfirmtarget=n : create transactions that have enough fees (or priority) @p{brk} so they are likely to confirm within n blocks (default: 1). This setting @p{brk} is over-ridden by the -paytxfee option. @p{par} New RPC methods @p{brk} =============== @p{par} Fee/Priority estimation @p{brk} @p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{@p{--}-}@p{--} @p{par} estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for @p{brk} a transaction to be confirmed within nblocks. Returns -1 if not enough @p{brk} transactions have been observed to compute a good estimate. @p{par} estimatepriority nblocks : Returns approximate priority needed for @p{brk} a zero-fee transaction to confirm within nblocks. Returns -1 if not @p{brk} enough free transactions have been observed to compute a good @p{brk} estimate. @p{par} Statistics used to estimate fees and priorities are saved in the @p{brk} data directory in the 'fee_estimates.dat' file just before @p{brk} program shutdown, and are read in at startup. @p{brk}