CheckTemplateVerify (CTV)
A proposed Bitcoin opcode that would let a transaction output commit to exactly how its funds must be spent in a specific future transaction.
CheckTemplateVerify is a proposed new Bitcoin opcode that would let a transaction output commit to a specific template describing exactly what a future transaction spending it must look like, enforcing that spending condition at the protocol level rather than relying on trusted parties or off-chain agreements to honor it. This is one specific, relatively narrow and simple proposed implementation of the broader covenant (see Kaavon's "Covenant (Bitcoin Script)" glossary definition) concept.
Proponents argue CTV would enable useful applications like more efficient non-interactive payment channels, trustless vaults with built-in spending delays as a security feature, and more efficient batched payouts, all while being deliberately limited in scope compared to more expansive, general-purpose covenant proposals, specifically to minimize new attack surface and keep its behavior simple and predictable. As with other Bitcoin protocol changes, CTV would require broad community consensus and a soft fork activation to be adopted, and its specific design has been the subject of extensive ongoing technical debate within the Bitcoin development community.
Examples
- A Bitcoin vault design using CheckTemplateVerify could enforce that funds can only move to a specific pre-committed destination after a mandatory time delay, adding a built-in security buffer against theft.
- CheckTemplateVerify is deliberately narrower in scope than some more general covenant proposals, aiming to enable specific useful applications while minimizing new attack surface.