OP_CHECKLOCKTIMEVERIFY

(177 | 0xb1)

Input

1 items

|

Output

0 items

Enforces a UTXO to remain unspendable until a certain block height is reached or a specific point in time has passed. Also known as CLTV, this op defines an absolute timelock mechanism; unlike checksequenceverify (csv), this enforces a condition where the UTXO is locked until a specified *absolute* block height or Unix timestamp. When the input item value is below 500000000, it represents a block height; otherwise, it represents a Unix timestamp. This allows for constructing contracts like payment channels for Lightning or atomic swaps, where conditions must be met after a certain period. For the operation to succeed, the value on the top of the stack must be less than or equal to the transaction's `nLockTime` field and greater than or equal to the current block height or timestamp.

OP_Code Walkthrough

Ensure a UTXO cannot be spent until an absolute block height or specific time

Pop top item (locktime value)

Determine if it's block height or Unix timestamp based on value

Compare to transaction's nLockTime

Verify transaction based on Boolean result (fail or continue)