Covenant with controlled mutations. Output must match input conditions except for specified numeric parameter changes. Each mutation applies an additive delta to a targeted parameter at a specific (rung, block, param) position. No Tapscript equivalent.
RecursionInvertible
Ladder Diagram
Fields
Field
Data Type
Size
Side
Description
max_depth
NUMERIC
1-4 B
Conditions
Maximum recursion depth (> 0). Bounds the chain of modified spends.
block_idx
NUMERIC
1-4 B
Conditions
Target block index within rung 0 (legacy) or per-mutation target (new format).
param_idx
NUMERIC
1-4 B
Conditions
Target parameter index within the block.
delta
NUMERIC
1-4 B
Conditions
Additive delta applied to the target parameter. Can be positive or negative.
Legacy format: max_depth, block_idx, param_idx, delta (4 NUMERICs, single mutation targeting rung 0). New format: max_depth, num_mutations, then per mutation: rung_idx, block_idx, param_idx, delta (2 + 4N NUMERICs).
Legacy format shown: max_depth=10, target rung 0 (implicit) block 1 param 0, delta=-1 (decrement by 1 each spend).
Use Cases
Decrementing Counters
A covenant parameter decreases by 1 each spend. When it reaches 0, another block (e.g., a conditional check) can trigger a different execution path. Useful for countdown-gated releases.
Progressive Timelock Relaxation
Each spend reduces a CSV timelock parameter by a fixed amount, progressively shortening the required wait between spends. Creates a decaying cooldown curve over the covenant chain.
Evolving Covenant Parameters
Any numeric parameter in the covenant can be systematically evolved. Threshold values, ratios, or counts can increase or decrease with each spend according to a deterministic schedule.