<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=Package_relay</id>
	<title>Package relay - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=Package_relay"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Package_relay&amp;action=history"/>
	<updated>2026-09-12T06:23:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Package_relay&amp;diff=71264&amp;oldid=prev</id>
		<title>NotATether: Create Package relay stub (1p1c / mempool package policy)</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Package_relay&amp;diff=71264&amp;oldid=prev"/>
		<updated>2026-09-12T03:44:21Z</updated>

		<summary type="html">&lt;p&gt;Create Package relay stub (1p1c / mempool package policy)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Package relay&amp;#039;&amp;#039;&amp;#039; is a transaction-relay and [[Mempool|mempool]]-acceptance policy in which a group of related transactions is evaluated together rather than one at a time. The usual case is a parent that pays little or no fee and a child that pays enough for both (child-pays-for-parent). Without package relay, a node that enforces a minimum relay feerate drops the parent and never learns about the child.&lt;br /&gt;
&lt;br /&gt;
Bitcoin P2P transaction relay historically advertised one txid at a time. A peer who receives a transaction below &amp;lt;code&amp;gt;minrelaytxfee&amp;lt;/code&amp;gt; rejects it. Contracting protocols that sign zero-fee or low-fee parents and bump them with a child therefore fail to propagate on nodes that have not already accepted the parent by other means. Local &amp;lt;code&amp;gt;submitpackage&amp;lt;/code&amp;gt; allowed submitting a package to one node, but peers could not request packages from each other.&lt;br /&gt;
&lt;br /&gt;
A package is a list of transactions in topological order. Validation applies consensus rules to each transaction, then package-level policy: the package feerate must meet the mempool minimum, transactions must not conflict with one another, and for the limited 1-parent-1-child (1p1c) case the graph must be one parent and one child. The parent may be below the minimum relay feerate if the package as a whole is not.&lt;br /&gt;
&lt;br /&gt;
On the P2P network, when a node rejects a transaction as too low-feerate, it may remember the txid briefly. If a later child arrives that spends that txid, the node requests the parent again and validates the pair. Bitcoin Core 28.0 implemented this opportunistic 1p1c path and allowed [[TRUC]] parents to pay zero fee. Bitcoin Core 31.0 extended zero-fee parents to non-TRUC 1p1c packages. A child may have additional parents that are already in the mempool. A child with several unconfirmed missing parents is not covered by this limited P2P feature.&lt;br /&gt;
&lt;br /&gt;
Package RBF (documented on [[Mempool#Package RBF|Mempool]]) lets a package replace in-mempool transactions when the replacement is incentive-compatible. [[Ephemeral_anchor|Ephemeral anchor]] constructions depend on package relay: a zero-fee parent with a dust pay-to-anchor output is not accepted alone and must arrive with its child.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Mempool]]&lt;br /&gt;
* [[TRUC]]&lt;br /&gt;
* [[Replace by fee]]&lt;br /&gt;
* [[Ephemeral_anchor|Ephemeral anchor]]&lt;br /&gt;
* [[Transaction pinning]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://bitcoinops.org/en/topics/package-relay/ Bitcoin Optech: Package relay]&lt;br /&gt;
* [https://bitcoincore.org/en/releases/28.0/ Bitcoin Core 28.0 release notes]&lt;br /&gt;
* [https://bitcoincore.org/en/releases/31.0/ Bitcoin Core 31.0 release notes]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>NotATether</name></author>
	</entry>
</feed>