Author: Gregory Sanders
Source: https://bitcoinops.org/en/bitcoin-core-28-wallet-integration-guide/
Bitcoin Core 28.0 includes some new P2P and mempool featuresthat may be useful for some wallets and transaction types. Gregory Sanders provides a summary guide introducing these new features and how to use them individually or collectively.
One Parent One Child (1P1C) Transaction Package Relay
Prior to Bitcoin Core 28.0, each transaction had to meet or exceed a node's dynamic minimum fee rate to enter that node's mempool. This value (the minimum fee rate) would generally rise and fall with congestion, creating a floating floor price for transaction propagation. This mechanism posed great difficulties for wallets handling presigned transactions that could not be replaced-by-fee, as they would have to predict what the floor price for propagation would be when that presigned transaction needed confirmation - a difficult if not impossible task even minutes later, let alone months later.
"Transaction package relay" is a long-desired feature that can mitigate the risk of transactions failing to confirm due to lack of fee bumping ability. Once properly developed and widely deployed on the network, package relay will allow wallet developers to pay the fee for a transaction by including another related transaction, allowing low-fee ancestor transactions to enter the mempool.
Bitcoin Core 28.0 implements a restricted variant of package relay for transaction packages containing one parent transaction and one child transaction ("1P1C"). 1P1C allows a parent transaction to enter the mempool regardless of whether it meets the dynamic minimum fee rate, as long as a child transaction applies a simple "child-pays-for-parent (CPFP)" fee bump. If the child transaction has additional unconfirmed parent transactions, those transactions will not be relayed under the 1P1C rules. This limitation greatly simplifies the implementation and allows other mempool design (like "mempool clustering") to be applied while still serving a large number of use cases.
Unless the transaction version is a "TTRUC transaction" (see below), transactions propagated under the 1P1C rules must still meet a static minimum fee rate of 1 sat/vbyte.
One final caveat about this feature is that the propagation guarantees are also limited. If a Bitcoin Core node connects to a sufficiently adversarial peer, that peer can break the propagation of the parent-child transaction pair. Further reinforcement of transaction package relay, as an ongoing project, is still in development.
General transaction package relay is left for future implementation, and will require information from the limited 1P1C package relay and its adoption on the network.
Here are commands to set up a demonstration 1P1C relay wallet in a regtest environment:



