← Back to Glossary

Covenants

Covenants, in bitcoin, are proposed script capabilities that would let a transaction restrict how the coins it creates may be spent in the future. Standard bitcoin outputs specify only who can spend them; a covenant also constrains where or how. The best-known proposal, OP_CHECKTEMPLATEVERIFY, was specified in BIP 119 in 2020.

Why it matters

The flagship application is the vault: coins locked so that any withdrawal must pass through a delay period during which the rightful owner can reverse a thief's attempt with a recovery key. Covenants could also enable congestion control, letting one on-chain transaction commit to many future payouts, and shared ownership constructions that help bitcoin scale. Because covenants require a soft fork, and because poorly designed ones could theoretically enable coercive restrictions on coins, the proposals have been debated for years without activation, a caution supporters find frustrating and defensible in equal measure.

How it works

OP_CHECKTEMPLATEVERIFY works by committing to a template: the output's script contains a hash of the exact transaction shape allowed to spend it, including its outputs. When a spending transaction appears, nodes hash it and check the match, so the coins can only move along the pre-approved path. This restricted design deliberately avoids recursion, in which covenants impose covenants forever, one of the main concerns raised against more expressive alternatives.

Ready to convert your gold to Bitcoin?

Get Your Free Kit →