TYPE 0x0602 · PLC FAMILY
HYSTERESIS_VALUE
UTXO value band check. SATISFIED if the input amount falls within a configurable [low_sats, high_sats] range. Enables value-gated spending paths and tiered authorization policies.
PLC InvertibleLadder Diagram
Fields
| Field | Data Type | Size | Side | Description |
|---|---|---|---|---|
| high_sats | NUMERIC | 1-4 B | Conditions | Upper bound of the value band (satoshis) |
| low_sats | NUMERIC | 1-4 B | Conditions | Lower bound of the value band (satoshis) |
No witness fields required. Evaluation uses the input amount from the UTXO being spent.
Wire Format Breakdown
0x0602
0
2
NUMERIC · 6B
NUMERIC · 6B
Conditions = 16 bytes
0x0602
0
0
Witness = 4 bytes (empty block)
Total
20 bytes
Evaluation Logic
1.Collect conditions NUMERIC fields. Fewer than 2 → ERROR. ReadNumeric the first as
high_sats and the second as low_sats; either undecodable → ERROR2.Range/order check:
high_sats < 0, low_sats < 0, or low_sats > high_sats → UNSATISFIED3.If
low_sats ≤ ctx.input_amount ≤ high_sats → SATISFIED; else → UNSATISFIEDReturn Values
| Condition | Result |
|---|---|
| Fewer than 2 NUMERIC fields, or either undecodable | ERROR |
high_sats < 0, low_sats < 0, or low > high | UNSATISFIED |
input_amount below low_sats or above high_sats | UNSATISFIED |
low_sats ≤ input_amount ≤ high_sats | SATISFIED |
JSON Wire Format
Conditions (value band 100,000 - 10,000,000 sats)
{
"type": "HYSTERESIS_VALUE",
"inverted": false,
"fields": [
{ "type": "NUMERIC", "value": 10000000 },
{ "type": "NUMERIC", "value": 100000 }
]
}This allows spending only if the UTXO value is between 0.001 BTC and 0.1 BTC. UTXOs outside this range require a different spending path.
Use Cases
Value-Gated Spending Paths
Different authorization policies for different UTXO sizes. Small amounts use a single signature, while larger amounts require multisig or time-delays, all enforced at the covenant level.
Tiered Authorization
Organizational spending tiers where petty cash (under threshold) flows freely, mid-range requires manager approval, and large amounts need board authorization — each tier a separate ladder rung gated by HYSTERESIS_VALUE.