696 / 736BIP431

TRUC Transactions

Topologically Restricted Until Confirmation

TRUC Transactions use nVersion 3 and a tightly bounded unconfirmed topology to make fee bumping more predictable for nodes and to limit certain forms of pinning.

TRUC is the opt-in standardness policy in BIP 431: unconfirmed version 3 transactions may form at most a 1-parent-1-child cluster and follow special size, replacement, and package rules.

TRUC uses nVersion 3 as a voluntary signal for stricter mempool and relay policy. Such a transaction signals replaceability even without a BIP 125 sequence, but it is not a new consensus transaction type. [1]

An unconfirmed TRUC cluster may have at most 1 parent and 1 child. Every unconfirmed link must remain between TRUC transactions, each TRUC transaction is limited to 10 000 vB, and a child with an unconfirmed parent is limited to 1 000 vB. [3]

Pinning exploits mempool and replacement rules so that an authorized participant cannot reliably raise the fee of a presigned transaction. The small, known shape bounds the number of links and transactions a node must evaluate during replacement. [1]

The anti-pinning benefit applies only inside the mempool of a node that uses TRUC policy and depends on network adoption. A miner may include a consensus-valid transaction in a block even when another node's public relay policy rejected it. [1]

Bitcoin Core 28.0 made version 3 transactions standard on all networks and deployed TRUC, sibling eviction, and limited package RBF. The current implemented-BIP overview lists BIP 431 as supported since version 28.0. [2]

TRUC does not eliminate every form of pinning and deliberately restricts how unconfirmed transactions can be composed. A replacement must still satisfy the applicable RBF and fee rules, and support by one node does not guarantee package acceptance across the network. [1]

Package relay lets a low-fee parent be evaluated with a paying child, sibling eviction can replace an earlier child with a more attractive one, and Ephemeral Anchors provide an anyone-can-spend point for fee sponsorship. Bitcoin Core 31.0 recommends these mechanisms in place of the removed CPFP carve-out. [4]

Before use, verify nVersion 3, the node version and policy, the entire 1-parent-1-child package, parent and child sizes, fees, and replacement conditions. Acceptance into one mempool does not guarantee relay or confirmation. [3]

For the clearest picture, read this entry together with Package Relay, CPFP (Child Pays for Parent), Replace-by-Fee (RBF), Mempool, Lightning Network, Ephemeral Anchors. The reverse links also lead from Package Relay, Ephemeral Anchors.

01Are TRUC transactions a new consensus transaction type?

No. They are a voluntary standardness and relay policy for nVersion 3 transactions; consensus validity of transactions in a block does not change.

02What is the 1-parent-1-child restriction for?

It bounds the unconfirmed links that can be exploited for pinning and lets a node evaluate fee bumping, package RBF, and possible sibling eviction more predictably.

DOC · 001BIP 431 — Topologically Restricted Until ConfirmationSpecification DOC · 002Bitcoin Core 28.0 release notesPrimary DOC · 003Bitcoin Core — TRUC policyPrimary DOC · 004Bitcoin Core 31.0 release notesPrimary
Revised: Source-first · No investment advice