I am using settxfee(0.00020) before sendtoaddress RPC call however after sending 0.042 in blockchain a fee of 0.000045 is showing.

How can I set the fee properly ?


2 Answers 2


settxfee sets the transaction fee per kilobyte, as that is the relevant unit for prioritization on the network and in blocks.

With sendtoaddress the size (in bytes) is not known ahead of time, so you can't set the exact fee.

  • is there a way i can implement a dynamic fee for my transactions ?
    – octav
    Apr 20, 2016 at 17:50
  • What does dynamic fee mean? Apr 20, 2016 at 18:05
  • fee that will vary based on network load so that my transaction will confirm 100%
    – octav
    Apr 20, 2016 at 18:15
  • 2
    If you don't use settxfee, Bitcoin Core will use the results of automatic fee estimation. Apr 20, 2016 at 18:17
  • @PieterWuille really? since which version?
    – knocte
    May 30, 2016 at 17:25

What version of bitcoind do you have?

That is known issue about updated bitcoind server. Calculation of transaction size has been changed. Before update, transaction with 255 bytes size was rounded up to 1 Kb and your settxfee value was used. But now, it calculates accurate value of transaction size and calculates fee according to it, without rounding up.

Read here: https://github.com/bitcoin/bitcoin/issues/7633

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.