Ecosystem developments
What changed in Kaspa this month
Toccata activated on June 30. Since then the protocol has shipped nothing at all. Everything that moved in July moved in the layers above it, and one of those moves was a whole new standards process nobody had a month ago.
Checked: July 25, 2026 against release tags, raw KIP and KCC files, repository commit history, and mainnet readings. Each item below carries the maturity it has actually earned. Repository activity is not adoption, and a draft is not a standard.
Since the last check
Seventeen days, one protocol change, zero releases
| Date | What happened | Maturity |
|---|---|---|
| July 15 | The kaspanet/kccs repository appeared: Kaspa Calls for Conventions, a standards process for the ecosystem layer. One pull request has merged, the README. The index table inside it is empty. | Process only |
| July 15 | KIP-16, KIP-17, KIP-20, and KIP-21 all moved to Status: Active in kips commit e4ae2332. Until then they still read as activated on Testnet-10 only. The spec repo caught up with the network two weeks late. |
Bookkeeping |
| July 8 to 24 | Thirty-one commits landed in Argent, most of the repo's entire history, including Inter-Covenant Communication, actor enums, and a VS Code extension. Two sibling repos appeared, argent-playground on July 9 and argent-template on July 24. | Prototype |
| July 8 to 23 | Eight commits in vprogs, all runtime and prover engineering. Still zero releases, zero tags, nothing published to crates.io. | Roadmap |
| July 23 | kaspa-python-sdk v2.0.2.rc1 published as a prerelease. The release notes say "Release candidate for 2.0.2" and nothing else, so treat any claim about what it binds as unconfirmed. | Prerelease |
| Nothing | No rusty-kaspa release exists after v2.0.1 from June 15. One commit reached master in this window and it was a Windows linker fix. Consensus did not move. | No change |
Two processes, two meanings
A KCC is not a KIP
This is the easiest thing on the site to get wrong right now, so it is worth being slow about. Kaspa now has two numbered document series running at once, and they decide different things.
| KIP | KCC | |
|---|---|---|
| Decides | Consensus and core-node behaviour | Conventions between independent implementations |
| Binding on | Every node that wants to stay on the network | Whoever chooses to converge |
| Adopted so far | KIP-16, 17, 20, 21 active; KIP-2 still proposed | None. Zero merged. |
The KCC README draws the line itself: "KCCs do not propose changes to Kaspa consensus or core-node behavior. Such changes belong in Kaspa Improvement Proposals (KIPs)." And on what adoption would even mean: "Acceptance marks an ecosystem convergence point; it does not make the convention protocol ground truth."
Five specifications are open as pull requests and none has merged: KCC-0001 covenant definition and ABI, KCC-0002 control principal references, KCC-0020 fungible tokens, KCC-0021 token metadata, and KCC-0402 payment channels. The one you will hear about is KCC-0020, usually written "KCC20". It is a draft in an unmerged pull request against a repository whose standards index is still empty. Community discussion around it is genuinely active, and disagreement is still open on whether metadata belongs inside the token spec at all. Repository numbering uses four digits and is the canonical form.
Worth knowing where the paperwork and the code disagree in the other direction too. Transaction version 1 and computeBudget already run on mainnet and are documented in the operator guide, while the KIPs specifying them, KIP-24 and KIP-25, are both still open pull requests. Cite the guide or the node for those two, never a merged KIP number.
Deployed reality
What is actually on mainnet
Twenty-five days after covenants activated, here is the entire covenant footprint of Kaspa mainnet, read from the kascov indexer on July 25:
| Measure | Mainnet | Testnet-10 |
|---|---|---|
| Covenants ever created | 1,841 | 491,663 |
| Currently active | 80 | 53,532 |
| Total value held | 253.98 KAS | not comparable, faucet funds |
Testnet-10 carries roughly 267 times the covenant count of mainnet. That ratio is the honest summary of where Kaspa's covenant activity lives today. Of the 80 active mainnet covenants, four are KCC20 tokens holding 10.04 KAS between them, four are SilverScript escrows and all four have been burned, and the remainder are unattributed p2sh commitments. There is no DEX, no AMM, and no lending market deployed on Kaspa mainnet.
Two caveats on those numbers. kascov's template labels are heuristic, so an unrecognised app could be sitting inside the active p2sh entries. The 253.98 KAS ceiling on total live value caps how much that could matter. Separately, block explorers still do not decode covenant data and there is no "get UTXOs by covenant ID" RPC, so anyone measuring this is reconstructing it from raw transactions.
None of this makes the activation less real. The consensus rules are in force and the primitives work. It does mean that anyone claiming Kaspa has live on-chain applications is describing testnet, an offline demo, or an L2.
Ahead
What is next
The nearest dated event is not a feature. Emission steps down to 23.12465141 KAS per second at DAA score 504,909,000, roughly August 5. Steps fire on DAA score, so the score is exact and the date is an estimate.
After that the roadmap is DAGKnight, described by kaspa.org as the consensus upgrade following Toccata and targeting block times in the 40 to 25 millisecond range. Its implementation branch has not been touched since March 22, and KIP-2 still reads Status: Proposed. Mainnet ordering remains GHOSTDAG. Further out sits a proposed 2027 hard fork covering 10 millisecond blocks, 100 blocks per second, on-chain payment channels, and hashrate-adaptive finality windows aimed at keeping local payments working through a netsplit.
vProgs is the app-layer end of that roadmap. The useful distinction is narrower than it is usually given: composing separate covenant apps atomically inside one transaction already works on Toccata, and Argent's Inter-Covenant Communication demonstrates it. What vProgs is for is shared mutable state, the case where many users mutate one app state at once. There, L1 composability tends to be exit-style, settling when somebody leaves instead of at the moment they act.
One caution on reading official pages right now. Both kaspa.org/lore and kaspa.org/build still describe Toccata as upcoming or as running on TN12 ahead of mainnet activation, 25 days after it activated. docs.kaspa.org has it right. When those two disagree, the release tag and the DAA score settle it.
Primary references: kaspanet/kccs, Kaspa KIPs, rusty-kaspa releases, coinbase.rs subsidy table, Argent, vprogs, Kas Smiths forum, mainnet REST status, and kascov.