When I start bitcoind, I like to set a -minrelaytxfee to save bandwidth on transactions that will likely never make it in to the blockchain (because their fees are too low).

However, when the network is under low load, I would be happy to reduce the -minrelaytxfee so that my node receives more of the transactions on the network.

Is there any way I can dynamically change the minrelaytxfee whilst my node is running?

1 Answer 1


No, there is no way to do that.

However you could make your mempool smaller and that would have a similar effect. The mempool has its own minmempoolfee. The in-practice minrelayfee is the maximum of the -minrelaytxfee and the minmempoolfee. The minmempoolfee will change when the mempool becomes full, and decreases when it has space. So if you set your -maxmempool to be much smaller, you would get a similar effect to changing -minrelaytxfee dynamically.

  • Thanks Andrew, this is interesting to learn. Do you know of any documentation on how -maxmempool adjusts the minmempoolfee?
    – inersha
    Aug 14, 2017 at 22:31
  • @inersha When transactions are evicted from the mempool due to being at the bottom of a too-large mempool when sorted by feerate, the effective minrelayfee is raised to be the feerate of the evicted transactions. Aug 14, 2017 at 23:18
  • @PieterWuille Excellent, thanks Pieter. What causes minmempoolfee to return back to a lower value (i.e. back to -minrelaytxfee)? Is it when a transaction is received that does not have to evict another one?
    – inersha
    Aug 14, 2017 at 23:22
  • It continuously goes down, very slowly, halving every 3 to 12 hours, until it has to be bumped again due to an eviction. Aug 14, 2017 at 23:43

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.