SDKs
The official Kaspa SDKs - Rust, WASM (JS/TS), Python - where to get each one and what state it is in.The official SDKs all derive from rusty-kaspa - one Rust codebase with WASM and Python bindings built from it. Third-party SDKs and libraries are cataloged in Developer Resources.
| SDK | Get it | Docs |
|---|---|---|
| Rust | Git dependency on rusty-kaspa | DeepWiki, crate rustdoc |
| WASM (JS/TS) | kaspa-wasm32-sdk-*.zip from releases | kaspa.aspectron.org/docs |
| Python | pip install kaspa | kaspanet.github.io/kaspa-python-sdk |
Rust
The rusty-kaspa workspace crates (kaspa-wrpc-client, kaspa-rpc-core, kaspa-addresses, kaspa-consensus-core, kaspa-txscript, kaspa-wallet-core, …) are the node’s own code - building against them gives the same primitives the node uses.
Note the crates.io publications are stale: stuck at 0.15.0 (September 2024, pre-Crescendo) while the repo is at 2.x. Use git dependencies:
[dependencies]
kaspa-wrpc-client = { git = "https://github.com/kaspanet/rusty-kaspa" } WASM (JavaScript / TypeScript)
Bindings to rusty-kaspa compiled to WASM, for Node.js and browsers. Covers the RPC API and the Wallet SDK (keys, derivation, transaction generation).
- Distribution: the release zip. The npm packages (
kaspa,kaspa-wasm32-sdk) are stale - do not use them. - Nightly/developer builds: kaspa.aspectron.org/nightly/downloads.
- Guides: Connect with the WASM SDK, Build a Transaction.
Python
Native extension module built from rusty-kaspa via PyO3 (kaspanet/kaspa-python-sdk). Unlike the others, its package index is current: kaspa on PyPI tracks rusty-kaspa releases (2.0.1 as of July 2026; Python 3.10-3.14).
Covers the RPC client (WebSocket/wRPC), the Wallet SDK (key management, derivation, transactions), and a managed wallet interface, plus experimental SilverScript contract compilation and ZK script building.
CLI tools
The rusty-kaspa release zips also ship kaspa-wallet (interactive terminal wallet, compatible with the WASM Wallet API and Kaspa NG) and a stratum bridge alongside kaspad.
Note wRPC (WebSocket) endpoints used by the WASM and Python SDKs are off by default on a node - start it with --rpclisten-borsh (see Run a Node).
See Also: RPC Calls, Developer Resources