estimateSmartFee error: “Insufficient data or no feerate found #32178

issue ChayDragan openend this issue on March 31, 2025
  1. ChayDragan commented at 7:17 pm on March 31, 2025: none

    Is there an existing issue for this?

    • I have searched the existing issues

    Current behaviour

    To estimate fees we use estimateSmartFee and were constantly running into the following error: estimateSmartFee error: “Insufficient data or no feerate found”

    As mentioned in other github issues, we could manually delete fee_estimate.dat and mempool.dat from the node. Which isnt scalable, so we moved to testnet4 with the understanding it would provide a more stable testing environment.

    Unfortunately, we have now started running into the exact same error on testnet 4, is this expected and are others seeing this issue? Regardless, is there any recommendations on how to bring more stability to getting fees back using estimateSmartFee on testnet4?

    Expected behaviour

    Fee rate is returned when using estimateSmartFee

    Steps to reproduce

    Make a call to estimateSmartFee

    Relevant log output

    No response

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    v.28.1

    Operating system and version

    Ubuntu

    Machine specifications

    No response

  2. pinheadmz commented at 8:24 pm on March 31, 2025: member

    As mentioned in other issues, fee estimation relies on mempool activity. If your node does not have a “good” mempool, your fee estimation will break. Check your bitcoin.conf for anything could limit mempool size or network connectivity.

    Quoting from other issue:

    It might be helpful to have version of the affected node and debug log output. You may need to run bitcoin-cli logging ‘[“estimatefee”]’ to add fee estimation log output. “mempool” may be helpful as well but could be spammy

    Also - it looks like testnet4 is not very active. I just took a quick look at a block explorer and there are long stretches of empty blocks. This is when fallbackfee is really necessary - the fee estimation algorithm can’t provide a result in the total absence of fee pressure.

  3. glozow added the label TX fees and policy on Apr 14, 2025
  4. ronnakamoto commented at 6:12 pm on April 16, 2025: none

    On regtest, instead of relying on estimateSmartFee, you can specify the fee rate directly when creating transactions:

    0bitcoin-cli -named sendtoaddress address="YOUR_ADDRESS" amount=0.1 fee_rate=10 verbose=true
    
  5. maflcko commented at 10:21 am on April 17, 2025: member
    This works as expected, as far as I can see, so closing for now.
  6. maflcko closed this on Apr 17, 2025

  7. ismaelsadeeq commented at 4:02 pm on April 25, 2025: member

    I’ve seen this type of issue a few times now #32178, #31116, #31032, and recently, a PR to add a startup option for enabling conservative mode by default: #32329, with the aim to address problems like this.

    The potential causes are:

    1. Low activity on the network.
    2. The node is running in -blocksonly mode.

    As @pinheadmz mentioned, you can solve this by setting a -fallbackfee, just make sure it’s above both the node’s minimum relay transaction fee rate and the minimum mempool fee rate both of which are dynamic and may change. (Although they are very unlikely to if the root cause is network inactivity.)

    A possible longterm solution could be to have the wallet and estimateSmartfee use the maximum of the minimum relay fee and the minimum mempool fee when there’s very little network activity AND the node is not running with -blocksonly.

    If that sounds reasonable, I can open a PR for it.

    cc @glozow

  8. glozow commented at 9:12 pm on April 25, 2025: member
    I think there have been a few debates about whether it’s safer to return nothing (“insufficient data”) vs a potentially bad guess (mempool min could also be artificially low if we’re just starting out). But also, lowballing isn’t the end of the world since you should be able to replace transactions that didn’t pay enough.

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-06-13 03:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me