Block Reference
INPUT_COUNT
Governance Family
TYPE 0x0803 · GOVERNANCE FAMILY

INPUT_COUNT

Bounds on the number of inputs in the spending transaction. Enforces minimum and maximum input count constraints. No Tapscript equivalent.

Governance Invertible
INPUT_COUNT min ≤ tx.vin.size() ≤ max Controls input consolidation behavior
FieldData TypeSizeSideDescription
min_inputsNUMERIC1-4 BConditionsMinimum number of inputs required (≥ 0)
max_inputsNUMERIC1-4 BConditionsMaximum number of inputs allowed (≥ min_inputs)
0x0803 0 2 NUMERIC NUMERIC Conditions = 14 bytes
0x0803 0 0 Witness = 4 bytes
Total 20 bytes
1.Read min_inputs and max_inputs from NUMERIC fields
2.Validate: min ≥ 0, max ≥ 0, min ≤ max. If invalid → ERROR
3.If no tx context → SATISFIED
4.Count inputs: if min ≤ count ≤ max → SATISFIED
5.Otherwise → UNSATISFIED
{
  "type": "INPUT_COUNT",
  "fields": [
    { "type": "NUMERIC", "value": 1 },
    { "type": "NUMERIC", "value": 3 }
  ]
}
Single-Input Spending
Setting min=1, max=1 forces the UTXO to be spent alone — preventing it from being combined with other inputs that could reveal common ownership through input clustering analysis.
Forced Consolidation
Setting min=5 requires at least 5 inputs, forcing UTXO consolidation. Useful for protocols that need to merge multiple covenant outputs in a single transaction.
Anti-Dust Aggregation
Combined with RELATIVE_VALUE, caps how many inputs can be aggregated to prevent dust attack amplification.
← WEIGHT_LIMIT OUTPUT_COUNT →