This proposal proposes two new tapscript opcodes that add consensus support for a specialized covenant: OP_VAULT and OP_VAULT_RECOVER. These opcodes, in conjunction with OP_CHECKTEMPLATEVERIFY (CTV), allow users to enforce a delay period before designated coins may be spent to an arbitrary destination, with the exception of a pre-specified "recovery" path. At any time prior to final withdrawal, the coins can be spent to the recovery path.

This proposal is explicitly aimed at enabling the vaults use case.


This proposal is being specified as BIP-345.

A draft implementation has been made for Bitcoin Inquisition.

Use Cases

For use cases that are enabled by CTV, we refer to the more general use case page of transaction templating, or to the summary table.

Edit this page on GitHub