13. Mempool policy (not consensus)
- Minimum relay fee: 1,000 base units/kB. Maximum standard tx size: 400,000 bytes.
- Standardness:
- Transactions with version > 3, outputs to reserved lock kinds, or spends of them are not relayed. That room is kept for soft forks.
- Version 3 is the TRUC policy (§13.2). Consensus treats it like version 2.
- Ancestor limit 25. Pool cap 300 MB; eviction uses the descendant-package fee rate, so a low-fee parent is worth what its best child pays.
- Entries expire after 14 days.
- After any chain change the pool is rebuilt by re-validating every entry, disconnected block transactions first. A parent that entered as a package re-enters with its child.
- Block templates select by ancestor-package fee rate (child pays for parent). The node repeatedly takes the entry whose not-yet-included ancestors plus itself pay the most per byte, and adds them parents first.
13.2 Fee bumping
-
Replace-by-fee (full RBF, BIP 125 limits): a transaction that conflicts with pool entries replaces them, together with their descendants, if:
- at most 100 transactions are evicted [
too-many-replacements]; - it spends no output of a transaction it replaces [
replacement-spends-conflict]; - it adds no new unconfirmed inputs [
replacement-adds-unconfirmed]; - its fee rate exceeds every directly conflicting transaction's [
insufficient-feerate]; - its fee is at least the evicted fees plus 1,000 base units/kB of its own size
[
insufficient-fee].
A failed replacement leaves the pool unchanged.
- at most 100 transactions are evicted [
-
Package relay (1 parent + 1 child): a parent below the relay fee enters with a child that spends it if:
- the package pays at least the relay fee for both sizes;
- the child pays for itself [
package-fee-too-low].
It is used through P2P PACKAGE and
POST /v1/txs/package. -
TRUC (BIP 431, sizes scaled for post-quantum signatures): version-3 transactions:
- are ≤ 40,000 bytes [
truc-tx-size]; - have at most one unconfirmed ancestor [
truc-too-many-ancestors]; - may not chain with non-TRUC unconfirmed transactions [
truc-mixed]; - as a child, are ≤ 16,000 bytes [
truc-child-too-big]; - may evict an existing sibling when it pays more (sibling eviction).
- are ≤ 40,000 bytes [