Block Reference
RELATIVE_VALUE
Governance Family
TYPE 0x0805 · GOVERNANCE FAMILY

RELATIVE_VALUE

Anti-siphon ratio enforcement. Ensures the output value maintains a minimum ratio relative to the input value. Uses integer ratio arithmetic with 128-bit overflow protection. No Tapscript equivalent.

Governance Non-Invertible
RELATIVE_VALUE output × denominator ≥ input × numerator ratio 9/10 = output must be ≥ 90% of input __int128 overflow safe Integer ratio — no floating point, no rounding errors
FieldData TypeSizeSideDescription
numeratorNUMERIC1-4 BConditionsRatio numerator (≥ 0). The minimum fraction of input that must appear in output.
denominatorNUMERIC1-4 BConditionsRatio denominator (> 0). Divides the numerator to form the ratio.
0x0805 0 2 NUMERIC · numerator NUMERIC · denominator Conditions = 14 bytes
0x0805 0 0 Witness = 4 bytes
Total 20 bytes
1.Read numerator and denominator from NUMERIC fields
2.Validate: numerator ≥ 0, denominator > 0. If invalid → ERROR
3.Compute lhs = output_amount × denominator
4.Compute rhs = input_amount × numerator
5.Overflow check: if 64-bit multiplication overflows, recompute using __int128
6.If lhs ≥ rhs → SATISFIED
7.Otherwise → UNSATISFIED

Ratio: 9/10 (90% minimum retention)

Input: 10,000 sats. Output: 9,000 sats.

lhs = 9,000 × 10 = 90,000
rhs = 10,000 × 9 = 90,000
90,000 ≥ 90,000 → SATISFIED

Same ratio, output: 8,999 sats.

lhs = 8,999 × 10 = 89,990
rhs = 10,000 × 9 = 90,000
89,990 < 90,000 → UNSATISFIED (1 sat short)
{
  "type": "RELATIVE_VALUE",
  "fields": [
    { "type": "NUMERIC", "value": 9 },
    { "type": "NUMERIC", "value": 10 }
  ]
}

Common ratios: 9/10 (90%), 99/100 (99%), 1/1 (100% — no value loss allowed), 19/20 (95%).

Anti-Fee-Siphon
Prevents a compromised hot key from draining value through excessive fees. A 99/100 ratio caps fee extraction to 1% of the UTXO value per spend, regardless of fee rate.
Recursive Covenant Value Preservation
Combined with RECURSE_SAME, ensures each recursive spend preserves at least N% of value in the covenant output. Creates a decay curve that protects against value extraction over multiple hops.
Treasury Guard
DAO treasury UTXOs with 95/100 ensure no single spend can extract more than 5% of treasury value. Combined with EPOCH_GATE, creates rate-limited treasury disbursement.
← OUTPUT_COUNT ACCUMULATOR →