What is the minRelayTxFee?
What is the minRelayTxFee
? What is it used for, what's the default value and how does the value change?
Answer
Answered by: Murch
The minRelayTxFee
specifies a feerate acting as a lower bound for a node's mempool. A node will not admit unconfirmed transactions below that feerate to its mempool and thus will not relay them to its peers. The minRelayTxFee
is a configuration setting and can be specified by each node operator independently. The value only impacts unconfirmed transactions, transactions included in a block are processed even when they do not meet the minRelayTxFee
. Note that contrary to its name's implication, the minRelayTxFee
is not an absolute fee, but a feerate.
The current default value for the minRelayTxFee
in Bitcoin Core is 1000 satoshi/kB (= 1 sat/B). A node operator may specify a different value via the startup parameter -minrelaytxfee=<amt>
or the configuration parameter minrelaytxfee=<amt>
which takes an <amt>
in [BTC/kB].
The minRelayTxFee
also serves as the basis to calculate the minimum cost increments for replacement transactions per BIP-125 (Opt-in RBF). It was also previously used to calculate the dust limit which has since been decoupled into a separate feerate called DUST_RELAY_TX_FEE
with a default value of 3000 sat/kvB (H/T Darius).
minRelayTxFee
should not be confused with:
minTxFee
, which is a wallet configuration setting that sets a lower bound when creating new transactionsmempoolminfee
, which is an independent lower bound for mempool acceptance that dynamically increases when the mempool limit is exceeded
Bitcoin Core 0.13.0 introduced a new, optional feefilter
P2P message, which will tell neighboring nodes not to send transactions below the filter's feerate. Older nodes do not communicate their minimum feerate, but rather just drop incoming transactions that doesn't pass it.
You may retrieve the current values for your node by calling the getmempoolinfo
RPC.