Choose your stack
There is no single official SDK, and the right answer depends on what you are writing.
| You are writing | Use | Notes |
|---|---|---|
| A web app or a Node service | WASM SDK (kaspa-wasm) | JS/TS bindings over rusty-kaspa. The default choice for most apps |
| A node, an indexer, or anything performance-critical | rusty-kaspa directly | The reference implementation. Everything else is bindings over it |
| A contract or an app on L1 | Silverscript or Argent | See the map |
| Scripts, analysis, glue | Python SDK | Convenient; lags the Rust API |
The WASM SDK
The WASM SDK exposes rusty-kaspa’s modules to JavaScript and TypeScript, in three layers worth keeping distinct in your head:
- RPC API — talking to a node over WebSockets.
- Wallet SDK — key management, addresses, transaction primitives. Use this when you want control.
- Wallet API — the higher-level wallet framework. Use this when you want a wallet rather than a transaction builder.
Next
Networks — ports, address prefixes, and which one to develop against.