Covenants are a category of proposed changes to Bitcoin’s consensus rules that would allow a script to prevent an authorized spender from spending to certain other scripts.
For example, a covenant may normally only allow spending to a whitelisted set of scripts, such as returning bitcoins to the user’s own balance or spending to a staging address that only allows spending to any arbitrary address after a period of time.
Primary code and documentation
Optech newsletter and website mentions
- 2019-12-28 2019 year-in-review: OP_CHECKTEMPLATEVERIFY
- 2019-12-18 Suggested changes to OP_CHECKTEMPLATEVERIFY proposal
- 2019-12-04 OP_CHECKOUTPUTSHASHVERIFY renamed OP_CHECKTEMPLATEVERIFY and updated
- 2019-08-14 Bitcoin vaults without covenants
- 2019-06-12 CoreDev.tech discussion: potential script changes
- 2019-05-29 New proposed opcode: OP_CHECKOUTPUTSHASHVERIFY
- 2018-10-09 Scaling Bitcoin Tokyo 2018, Script Roundtable: OP_CHECKSIGFROMSTACK