A curated list of resources, tools, and projects related to OP_CHECKTEMPLATEVERIFY (CTV) and OP_CHECKSIGFROMSTACK (CSFS) in Bitcoin.
Want to experiment with CTV and CSFS right away? Run your own signet node with both opcodes enabled:
git clone https://github.com/arshbot/ctv-csfs-signet-docker
cd ctv-csfs-signet-docker
cp .env.example .env
docker-compose up -dThis will start a Bitcoin signet node with both CTV and CSFS enabled, perfect for development and testing. See the CTV+CSFS Signet Node tool below for more details.
A collection of interesting projects utilizing covenants, particularly focusing on CTV+CSFS implementations.
| Name | Links | Description | Phase | CTV | CSFS | TXHASH | CAT | CCV |
|---|---|---|---|---|---|---|---|---|
| Pool | Slides, Code, Sapio, Article, Intro, IRC, Coinpools |
Scalable payment pool with CTV - supports up to 21 users, P2A fee management, and automatic coinjoin-like privacy | Prototype | ✓ | ||||
| Vault | CTV Vault, Demo, Sandwich |
Vault without pre-signed transactions | Prototype | ✓ | ||||
| Vault | Simple Covenant Vault | Vault without pre-signed transactions | Prototype | ✓ | ✓ | |||
| Matt Vault | Code | Vault implementation using CTV and contract verification opcodes | Prototype | ✓ | ✓ | |||
| Android CTV Demo | Code, Release |
Native Android implementation demonstrating CTV Vault and payment pools with interactive UI | Prototype | ✓ | ||||
| DLCs | Specs, Cases, DLCAT |
30x more performant DLCs | Prototype / Spec | ✓ | ✓ | ✓ | ||
| Ark | Site, Thread, |
Layer 2 protocol | Prototype | ✓ | ✓ | |||
| BitVM | Thread | Trust-minimized Bitcoin interoperability | Prototype | ✓ | ✓ | ✓ | ||
| Simple CTV | Code, Optech |
CTV + Pay To Anchor example | Prototype | ✓ |
A collection of development and experimentation tools for CTV+CSFS.
| Name | Links | Description | Phase | CTV | CSFS | Use Case |
|---|---|---|---|---|---|---|
| CTV+CSFS Signet Node | Repo | Docker-based Bitcoin node with CTV and CSFS enabled on MutinyNet signet | Production | ✓ | ✓ | Development, testing, prototyping, smart contract experimentation |
| Voltage Cloud | Site | Free hosted CTV+CSFS enabled Bitcoin nodes | Production | ✓ | ✓ | Node hosting, development, production deployment, API access |
| MutinyNet Explorer | API | Full-featured mempool fork with open REST API for CTV+CSFS enabled signet | Production | ✓ | ✓ | Transaction monitoring, API integration, product development, smart contract analysis |
| Inquisition Observer | Site | Block explorer tracking all CTV transactions on Bitcoin signet, with real-time statistics and transaction monitoring | Production | ✓ | Transaction monitoring, CTV adoption tracking, signet activity analysis | |
| CTV Playground | Site, |
Web-based tool for experimenting with CTV scripts and transaction templates | Prototype | ✓ | Learning CTV concepts, testing script constructions, visualizing transaction templates | |
| ctvlib | Repo, |
Rust utility library extracted from CTV Playground for CTV script development | Prototype | ✓ | CTV script development, transaction template generation, library integration | |
| Minsc | Site, v0.3, |
High-level scripting language for Bitcoin contracts with CTV support | Production | ✓ | Policy development, script compilation, address generation, contract testing | |
| Sapio Miniscript | Docs, Crate, |
Production-ready Rust library for CTV+CSFS script development with Miniscript | Production | ✓ | ✓ | Production script development, protocol implementation, transaction analysis, PSBT integration |
| Sapio | Repo, |
Framework for creating composable multi-transaction Bitcoin Smart Contracts using CTV | Production | ✓ | Smart contract development, CTV emulation, plugin integration | |
| CTV Hash Generator | Gist | JavaScript tool for generating CTV hashes using transaction data. | Prototype | ✓ | CTV hash generation, transaction analysis. Passes all CTV test vectors. |
Educational materials about CTV+CSFS.
| Name | Author | Links | Description |
|---|---|---|---|
| OP_CSFS Wiki | Bitcoin Optech | Topic, |
Overview of OP_CHECKSIGFROMSTACK (OP_CSFS) opcode, its features, and potential applications in Bitcoin, including paying for signatures, delegation, oracles, and transaction introspection |
| Covenants 101 | Owen Kemeys | Thread, |
Beginner-friendly explanation of CTV concepts, covering address construction, transaction templates, and practical applications |
| Templates, Eltoo, and Covenants | Jeremy Rubin | Article, |
Comprehensive analysis of CTV, CSFS, CAT, and APO upgrades, including safety considerations, design tradeoffs, and implementation recommendations |
| CSFS Re-Keying and Lightning Symmetry | Jeremy Rubin & Rearden | Article, |
Advanced technical exploration of CSFS re-keying techniques, key laddering, and applications to Lightning Network symmetry without extra signing round-trips |
| Credit Ecash + CTV | Ursus Camp | Article, |
Exploration of combining CTV with non-custodial ecash for improved Lightning Network liquidity and privacy |
| Newbie Guide to OP_CTV | Katsu | Article, |
Learn the basics of CTV by building a locking address using CTV and executing a spend transaction that unlocks those funds |
Important technical discussions about OP_CTV and its applications.
| Topic | Date | Author | Links | Key Points |
|---|---|---|---|---|
| CSFS Implementation | Apr 10, 2025 | James O'Beirne | PR, BIP, Docs, |
Regtest-only deployment, Complements CTV, OP_SUCCESS behavior, Bundled deployment possible, Technical focus |
| CTV+CSFS as First Step | Mar 10, 2025 | Steven Roose | Thread, |
Minimal package for covenants, Enables Lightning Symmetry, Simplifies DLCs and BitVM, Upgrade path to TXHASH, Focus on security and expressiveness |
| CTV Implementation | Mar 4, 2025 | James O'Beirne | PR, BIP, Docs, |
Regtest-only deployment, Composable with CSFS/CAT, Well-tested implementation, No consensus changes, Focused on technical review |
| DLC Performance | Jan 24, 2022 | Lloyd Fournier | Thread, Paper, BIP, Spec, |
30x faster DLCs, No multiplications, Constant comms, Efficient oracles, Secure attestations |
| Eltoo Channel Comparison | Dec 29, 2021 | Jeremy Rubin & Michael Folkson | Thread, |
Fee payment challenges, CPFP vs RBF tradeoffs, Transaction size efficiency, Implementation complexity, Protocol equivalence |
| LN-Symmetry | Jan 6, 2020 | Jeremy Rubin | BIP, Thread, |
Floating transaction variant, Ephemeral anchors for fees, Self-reproducing automata, State transition restrictions, Fee payment alternatives |
More discussions will be added as they are identified and analyzed.
Contributions are welcome! Please feel free to submit a Pull Request. When adding new entries, please ensure they are relevant to CTV+CSFS specifically.
- Focus on projects that specifically use CTV+CSFS
- Include relevant links to documentation, code, and articles
- Clearly indicate the project phase (Implemented, Spec, Prototype, or Idea)
- List the primitives used in the implementation
No license, no restriction