Kaspa ($KAS) core R&D - what developers discussed, debated, and shipped. Mar 7 - 17, 2026.
Silverscript Gets a Visual Debugger
Manyfestation opened a pull request adding a Debug Adapter Protocol (DAP) crate and extended the VS Code extension to allow debugging Silver contracts visually. (PR) Run configurations are editable in a side panel. IzioDev called it "super exciting." (reaction) Manyfestation added he plans to wrap it into an MCP tool, allowing AI agents to test generated Silver contracts. (plans)
Sutton opened issues for several debugger limitations that became apparent after covenant declarations were settled: gaps in how the debugger handles certain covenant flows. (issues) He tagged Manyfestation and Ori to address them.
Manyfestation followed up with struct and state argument support in the debugger, allowing developers to pass complex arguments like {"amount":5,"active":true,"tag":"0xaa"} directly from the CLI. (struct support)
A new eval command landed next, letting developers evaluate arbitrary expressions mid-debug - including hashing operations and arithmetic on contract variables. Ori called it "pretty neat." (eval PR) Ori also suggested that console.log should print evaluated expressions when running scripts without pausing execution. (suggestion) Manyfestation shipped exactly that in a follow-up PR adding console logging support to the debugger. (console.log)
WASM Covenant Support Lands
Sutton merged smartgoo's PR bringing WASM covenant support to the tn12 branch, with significant review work from IzioDev. (merge) IzioDev noted this means webapps, browser extensions, and backend environments can now interact with covenants - putting WASM almost on par with the native Rust implementation. (announcement)
Covenant State After Pruning
IzioDev raised a practical question about covenant usability over its lifetime. (discussion) The core problem: when you deploy a covenant, only you know its state. Observers see a covenant exists but not what it contains.
Ori suggested an opt-in convention where the state is included in the transaction payload - useful for inter-connected covenants too. IzioDev's remaining question: how do you preserve covenant state past pruning? One option he proposed - an indexer embedded into kaspad behind an optional CLI flag, so historical covenant data remains retrievable trustlessly from another node.
OpInputCovenantId Returns Zero Hash
Ori changed OpInputCovenantId to return a zero hash when there's no covenant ID, making the return type consistently byte[32]. (change) Sutton approved. Ori opened PR 920 in rusty-kaspa with the implementation ready for review. (PR 920)
no_std and Cross-Platform Compilation
Maxim shared work on making several crates no_std compatible during his KIP-21 implementation. (commit) He needs it to reuse sequencing commitment logic inside a guest ZK program.
IzioDev bumped the topic further - an integrator had asked for the same thing for internal crates, and mobile integration raised similar feedback where developers can't compile certain crates without manually commenting out WASM portions that aren't feature-gated. (context)
IzioDev opened a PR making crates compatible with no_std environments. (PR) He asked to borrow expertise on the no_std world if review time allowed.
js-sys Dependency Fix
IzioDev opened PR 919 in rusty-kaspa to fix a transitive dependency issue with js-sys that was breaking anyone using kaspa-wallet-core in new projects or regenerating their Cargo lockfile. (PR 919) The workaround was to manually pin js-sys to version 0.3.77 in Cargo.lock. coderofstuff merged the fix. (merged)
Silverscript Merges and Breaking Changes
Ori merged covenant declaration support in Silverscript with changes. (merge) Sutton followed up with a cleanup PR for the covenants SDK and noted the readme tutorial link was broken. (follow-up)
Ori flagged a breaking change in Silverscript's data encoding. (breaking) The change affects how minimal data rules interact with covenant opcodes. Maxim tested edge cases: Op1 Op1 OpCat produces [11], while Op0 Op0 OpCat produces an empty result. (test) Ori explained that 1-16 are encoded using one byte via Op1-Op16, but this doesn't work for 0 because Op1-1 hits the reserved opcode 0x50. (explanation)
Manyfestation's latest Silverscript PR was merged by Ori. (merge)
Rusty Kaspa Merges
coderofstuff merged two significant PRs into rusty-kaspa. (PR 877) (PR 916)
The rk2.0 branch was merged into master. (merge)
Sutton flagged a small breaking change in rusty-kaspa and tagged the SDK developers - smartgoo, IzioDev, and Maxim - to make sure they're aware. (notification)
Ori opened a new PR in rusty-kaspa. (PR 918)
tn12 Branch Maintenance
IzioDev asked if tn12 could be rebased on top of master in the coming weeks. (request) The branch contains WASM CI tests that would be helpful as new wallet framework features land. He noted a small conflict needed handling.
Sutton replied: "We usually merge rather than rebase, but sure." (response) Ori had already reconciled the branches the previous day.
All sources link to public messages in the Kaspa Core R&D (public) Telegram channel.