Bounds on the number of outputs in the spending transaction. Controls fan-out behavior and prevents excessive output creation. No Tapscript equivalent.
GovernanceInvertible
Ladder Diagram
Fields
Field
Data Type
Size
Side
Description
min_outputs
NUMERIC
1-4 B
Conditions
Minimum number of outputs required (≥ 0)
max_outputs
NUMERIC
1-4 B
Conditions
Maximum number of outputs allowed (≥ min_outputs)
Wire Format Breakdown
0x080402NUMERICNUMERICConditions = 14 bytes
0x080400Witness = 4 bytes
Total20 bytes
Evaluation Logic
1.Read min_outputs and max_outputs
2.Validate: min ≥ 0, max ≥ 0, min ≤ max. If invalid → ERROR
Setting max=2 forces the spend to create at most 2 outputs (payment + change). Prevents the UTXO from being used in batch payouts or CoinJoin-style transactions.
Covenant Output Structure
Combined with RECURSE_SAME, ensures the spending transaction creates exactly the right number of covenant outputs. Setting min=max=1 forces a 1-to-1 covenant chain.
Anti-Fragmentation
Capping output count prevents value fragmentation attacks where an adversary splits a large UTXO into many dust outputs to increase future spending costs.