Skip to content
LogoLogo

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:

    1. at most 100 transactions are evicted [too-many-replacements];
    2. it spends no output of a transaction it replaces [replacement-spends-conflict];
    3. it adds no new unconfirmed inputs [replacement-adds-unconfirmed];
    4. its fee rate exceeds every directly conflicting transaction's [insufficient-feerate];
    5. 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.

  • 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: