Kaspa Improvement Proposals (KIPs) are the formal mechanism for proposing changes to the Kaspa protocol. This page indexes all KIPs relevant to Covenants++ and vProgs, with their current status, a summary, and links to the full proposals.
Overview
The KIPs listed here fall into two groups:
-
Crescendo KIPs (KIP-9, KIP-10, KIP-13, KIP-14, KIP-15) – activated in the Crescendo hard fork, providing the foundational primitives (transaction introspection, sequencing commitments, 10 BPS).
-
Covenants++ KIPs (KIP-16, KIP-17, KIP-20, KIP-21) – targeting the Covenants++ hard fork (May 5, 2026), adding ZK verification, covenant scripts, covenant identity, and partitioned sequencing for vProgs.
KIP Table
| KIP | Title | Author | Status | Summary | Link |
|---|---|---|---|---|---|
| KIP-9 | Network Performance Upgrade | Core team | Activated (Crescendo) | Network-level performance parameters for the 10 BPS upgrade | GitHub |
| KIP-10 | Transaction Introspection Opcodes | Core team | Activated (Crescendo) | Foundation for covenants: transaction introspection enabling scripts to inspect their own transaction, plus 8-byte arithmetic opcodes | GitHub |
| KIP-13 | Network Parameters | Core team | Activated (Crescendo) | Additional network parameter adjustments for the Crescendo upgrade | GitHub |
| KIP-14 | Crescendo Hardfork | Core team | Activated | Meta-KIP defining the Crescendo hard fork, activating KIP-9, KIP-10, KIP-13, and KIP-15 together | GitHub |
| KIP-15 | Sequencing Commitments | Core team | Activated (Crescendo) | Recursive canonical transaction ordering commitment (seqcommit) – enables scripts to reference the ordering of transactions within the DAG | GitHub |
| KIP-16 | ZK Verification Precompiles | Alexander S (saefstroem) | Testing (TN12) | On-chain verification opcodes and precompiles for Groth16 and RISC Zero ZK proof systems – the second pillar of Covenants++ | GitHub |
| KIP-17 | Covenant Scripts | Ori Newman (someone235) | Testing (TN12) | Covenant script implementation enabling limited programmability on L1 – the first pillar of Covenants++ | GitHub |
| KIP-20 | Covenant IDs | Core team | Testing (TN12) | Unique identification mechanism for covenant instances, enabling state tracking and cross-reference. Opcodes 0xcf-0xd3 | GitHub |
| KIP-21 | Partitioned Sequencing Commitment | Michael Sutton (missutton) | Proposal | Lane-based sequencing commitments enabling O(activity) proving – the foundational KIP for vProgs. Each vProg only needs to prove work proportional to its own activity | GitHub |
Dependency Graph
KIPs build on each other in a defined dependency chain:
KIP-9 (network perf) ──┐
KIP-10 (introspection) ─┤
KIP-13 (parameters) ────┼── KIP-14 (Crescendo hard fork)
KIP-15 (seqcommit) ─────┘
|
v
KIP-10 ──── KIP-17 (covenant scripts)
KIP-15 ──── KIP-21 (partitioned seqcommit)
KIP-16 (ZK precompiles) -- standalone, extends KIP-10
KIP-17 ──── KIP-20 (covenant IDs)
Reading the graph:
- Crescendo (KIP-14) bundled KIP-9, KIP-10, KIP-13, and KIP-15
- KIP-17 (covenants) depends on KIP-10 (transaction introspection)
- KIP-20 (covenant IDs) depends on KIP-17 (covenant scripts)
- KIP-21 (partitioned seqcommit) extends KIP-15 (seqcommit) for vProgs
- KIP-16 (ZK precompiles) is relatively standalone, extending KIP-10’s opcode framework
Status Definitions
| Status | Meaning |
|---|---|
| Activated | Deployed on mainnet via hard fork |
| Testing | Implemented and active on TN12 testnet |
| Proposal | Formal proposal published, under review |
| Draft | Work in progress, not yet formally proposed |
Crescendo KIPs (Activated)
KIP-9: Network Performance Upgrade
Part of the Crescendo hard fork that brought Kaspa to 10 blocks per second. Adjusted network-level parameters to support higher throughput while maintaining security guarantees.
KIP-10: Transaction Introspection Opcodes
The foundation for all covenant functionality. KIP-10 specifies opcodes that allow scripts to inspect the transaction they are part of – examining inputs, outputs, amounts, and other transaction fields. It also proposes 8-byte arithmetic, expanding the computational capabilities of Kaspa’s script system.
Without KIP-10, covenants cannot exist – scripts need to “see” the transaction to enforce spending conditions.
KIP-13: Network Parameters
Additional parameter adjustments complementing KIP-9 for the Crescendo upgrade.
KIP-14: Crescendo Hardfork
The meta-KIP that defined the Crescendo hard fork activation. Bundled KIP-9, KIP-10, KIP-13, and KIP-15 into a single coordinated upgrade.
KIP-15: Sequencing Commitments
Specifies a recursive canonical transaction ordering commitment (seqcommit) for blocks, allowing scripts and external verifiers to prove the ordering of transactions within the DAG. KIP-15 provides the base mechanism that KIP-21 later proposes partitioning into lanes for vProgs.
Covenants++ KIPs (In Development)
KIP-16: ZK Verification Precompiles
Authored by Alexander S, KIP-16 proposes on-chain verification capabilities for zero-knowledge proofs. Two proof systems are specified:
- Groth16 – mature SNARK with tiny constant-size proofs (approximately 200 bytes) and fast verification
- RISC Zero – STARK-based system running on a RISC-V VM, no trusted setup required
These precompiles are the second pillar of Covenants++, enabling based rollup integration with L1.
Status: Active on TN12 since the February 9 reset.
KIP-17: Covenant Scripts
Authored by Ori Newman, KIP-17 specifies the covenant script system – the first pillar of Covenants++. The proposed covenants allow scripts to enforce conditions on how UTXOs can be spent, enabling:
- Native non-KAS assets
- Smart money management
- Programmable spending conditions
Status: Implementation ready for review since December 26, 2025. Active on TN12.
KIP-20: Covenant IDs
Provides unique identification for covenant instances. Assigns opcodes 0xcf through 0xd3 for covenant ID operations (agreed January 17, 2026). Enables:
- Tracking covenant state across transactions
- Referencing specific covenant instances
- Building higher-level abstractions on top of covenants
Status: Formal proposal published February 11, 2026. Active on TN12.
KIP-21: Partitioned Sequencing Commitment
Authored by Michael Sutton, KIP-21 is the foundational proposal for vProgs. It specifies partitioning the sequencing commitment (from KIP-15) into lanes, where each lane corresponds to a vProg or subnet. This would enable:
- O(activity) proving – a vProg only proves work proportional to its own activity, not all L1 activity
- Scalable verification – the cost of running a vProg scales with its usage, not the network’s total throughput
- Program isolation – each vProg has its own sequencing lane
The “degenerate” CD commit scheme groups activity by programs/subnets (not accounts) for Phase 1 standalone vProgs. The full synchronous composability CD scheme comes later.
Status: Proposal published February 24, 2026. Under review.
Open question: An RPC layer needs to be designed to expose lane roots and activity status to external users for proof generation (raised by Maxim Biryukov, confirmed by Sutton).
Further Reading
- Development Roadmap – how KIPs map to development phases
- Testnet Updates – which KIPs are active on TN12
- Sources & Links – links to all KIP documents
- R&D Channel Insights – context behind KIP decisions