Glossary / Transactions & fees
Minimum relay fee
Also known as Relay fee.
- Definition
- The minimum relay fee is the floor a transaction must pay before a node will keep it at all, lowered in Bitcoin Core 30.0 from 1 satoshi per virtual byte to 0.1.
The floor exists to stop worthless traffic from consuming bandwidth, not to advise you what to pay. It is a default rather than a rule of the protocol, so every operator can move it, and the release that lowered it warned that cheaper transactions only travel once enough of the network agrees. In practice 1 sat/vB is still the rate that propagates.
How it works
Status: -minrelaytxfee and -incrementalrelayfee both defaulted to 1,000 satoshis per kilo-virtual-byte, or 1 sat/vB, for most of bitcoin's history. Bitcoin Core 30.0, released on October 13, 2025, changed both to 100 satoshis per kilo-virtual-byte, or 0.1 sat/vB. The dust threshold, the wallet's own minimum, and the fee estimator's floor were deliberately left alone, and the release notes state that transactions built at the lower rate are not guaranteed to propagate or confirm until the change is widely adopted.
The check itself is arithmetic performed before almost anything else. A node divides the fee by the transaction's virtual size, compares the result with its configured floor, and rejects anything below it with the reason min relay fee not met. Nothing is stored and nothing is forwarded, so the transaction never reaches an explorer and cannot be bumped, because there is no copy anywhere to replace.
A second floor sits above the first and moves on its own. When a node's mempool fills toward its 300 megabyte limit, it evicts the least attractive transactions and raises its acceptance threshold to the rate of whatever it dropped last. That figure appears as mempoolminfee alongside the static minrelaytxfee in the output of getmempoolinfo, and it produces a different rejection message, mempool min fee not met. Two errors, two floors, and only one of them is a setting.
The incremental relay fee governs replacements rather than first broadcasts. A replacement has to pay for the bandwidth its own relay consumes on top of beating the transaction it displaces, which is why a wallet sometimes insists on a larger bump than you asked for. Bitcoin Core 30.0 moved this default in step with the relay floor, and the release notes recommend changing the two together if you change them at all.
None of this is consensus. A miner handed a zero fee transaction directly can put it in a block, and every node will accept that block without objection. The floor decides what the network carries for free, not what is valid.
Where you see it
The usual encounter is a payment that quietly fails to exist. A wallet with a stale estimate builds a spend at the bottom of the market, reports success, and then nothing ever appears on any explorer, because peers running a higher effective threshold refused it at the door. Rebuilding at a realistic rate is the only fix.
The opposite case is an opportunity. Genuinely quiet weekends clear at 1 or 2 sat/vB, which is when exchanges run their consolidation batches and when sweeping small coins together costs the least it ever will.
Node operators treat the setting as a resource dial. Raising -minrelaytxfee cuts memory use and filters cheap traffic, at the price of carrying less of what the rest of the network relays. The practical floor for everyone else is set by what other people run, not by what your own node accepts.
Minimum relay fee vs mempool minimum fee
The minimum relay fee is a fixed default; the mempool minimum fee is what a full node happens to be charging right now. The first sits where the software or the operator put it, and the second climbs above that automatically whenever eviction begins, then falls back once the backlog clears. A transaction can satisfy the static floor and still be turned away by a congested node, which is exactly why wallets that quote only the published default misjudge fees during the periods when getting it right matters most.