Block Reference
CLTV
Timelock Family
TYPE 0x0103 · TIMELOCK FAMILY

CLTV

Absolute timelock in blocks (BIP 65). Transaction cannot be included until block height reaches the specified value.

Timelock Invertible
CLTV locktime INVALID SPENDABLE block_height ≥ locktime → SATISFIED
FieldData TypeSizeSideDescription
locktimeNUMERIC1-4 BConditionsAbsolute block height (values < 500000000 interpreted as height)

No witness fields required — evaluation uses the current block height from the evaluation context.

0x0103 0 1 NUMERIC · 3B Conditions = 4 + 5 = 9 bytes
0x0103 0 0 Witness = 4 bytes (empty block)
Total 15 bytes
1.Read locktime from NUMERIC field. Negative → ERROR
2.CheckLockTime(value). If fails → UNSATISFIED
3.Pass → SATISFIED
ConditionResult
Missing NUMERIC fieldERROR
Negative locktime valueERROR
block_height ≥ locktimeSATISFIED
block_height < locktimeUNSATISFIED
Conditions (locked until block 850000)
{
  "type": "CLTV",
  "inverted": false,
  "fields": [
    { "type": "NUMERIC", "value": 850000 }
  ]
}

This locks the UTXO until block 850,000 is reached. Any transaction attempting to spend it before that height will be rejected by consensus.

locktime = 850000

Block 849999: 849999 < 850000 → UNSATISFIED
Block 850000: 850000 ≥ 850000 → SATISFIED
Block 900000: 900000 ≥ 850000 → SATISFIED
Future-Dated Payments
Funds locked until a future block height, creating a hard floor on when they can move. The recipient can see the payment on-chain but cannot spend it until the specified height is reached.
Vesting Schedules
Token grants that unlock at specific block heights, ensuring milestone-based disbursement without requiring a trusted intermediary. Each tranche is a separate UTXO with its own CLTV value.
Time-Locked Escrow
Escrow outputs that cannot be released before a specific block height, giving both parties a deterministic settlement window anchored to consensus rather than wall-clock time.
← CSV_TIME CLTV_TIME →