Definition
OP_CHECKTEMPLATEVERIFY, abbreviated CTV and specified in BIP119, is a proposed Bitcoin opcode that lets an output commit, in advance, to the exact transaction that may spend it. The opcode hashes a defined set of fields from the spending transaction — version, locktime, input count, sequences, output count, the outputs themselves, and the spending input's position — and requires that hash to match a value baked into the output's script. If the next transaction matches the committed template, the spend is valid; otherwise it is rejected.
A non-recursive covenant
CTV is a deliberately limited form of covenant. Because it commits to a single, fully enumerated next transaction and carries no dynamic state, it is non-recursive: an output can dictate the one transaction that spends it, but that transaction cannot itself perpetuate further restrictions in an open-ended way. This narrow scope is intended to deliver useful functionality while minimizing the surface for unintended consequences.
Use cases
Proposed applications include vaults with delayed, reviewable withdrawals; congestion-control batching, where many future payouts are committed in one on-chain transaction and fanned out later; non-interactive channel and payment-pool creation; and more efficient discreet log contracts. CTV is one of several covenant proposals under active discussion and, as of writing, has not been activated on the Bitcoin network.
Like other consensus additions, CTV would require a soft fork and is built on top of the broader opcode system within Bitcoin Script.
In Simple Terms
OP_CHECKTEMPLATEVERIFY, abbreviated CTV and specified in BIP119, is a proposed Bitcoin opcode that lets an output commit, in advance, to the exact transaction that may…
