Use Testnet
Developing against Kaspa testnet-10 - running a testnet node, connecting SDKs, and getting test KAS.Testnet runs the same protocol as mainnet with worthless coins. Use testnet-10 (TN10) while developing - it is the active public testnet, and the network where hardforks are staged before mainnet (both Crescendo and Toccata ran on TN10 first).
The testnets
- Testnet-10 - the active public testnet. Default when running
kaspad --testnet. - Testnet-11 - defunct. It served as the 10 BPS testing ground pre-Crescendo; node support was dropped from rusty-kaspa releases starting v0.17.0 (March 2025).
- Testnet-12 - a separate covenants experiment run from a dedicated
tn12branch pre-Toccata (see testnet12.md). Unclear whether it remains active now that Toccata is on mainnet.
Run a testnet node
Same as running a mainnet node, plus network flags:
kaspad --testnet --netsuffix=10 --utxoindex TN10 is the default netsuffix, but the official guidance is to specify it explicitly. Data lands in its own subfolder under ~/.rusty-kaspa. Testnet-10 ports: P2P 16211, gRPC 16210, wRPC 17210 (borsh) / 18210 (json) - see Network Parameters.
Connect SDKs to testnet
Pass the testnet network id instead of mainnet:
// WASM SDK
const rpc = new RpcClient({ resolver: new Resolver(), networkId: 'testnet-10' }); Testnet addresses use the kaspatest: prefix and their own BIP-44 derivation network type. A mainnet address cannot be used on testnet - the prefix is covered by the address checksum.
Get test KAS
- Faucets. See the faucet list. The official docs point to faucet-testnet.kaspanet.io for TN10.
- CPU mine it. Testnets are CPU-mineable with kaspa-miner, the miner the official docs recommend for testnets:
kaspa-miner --testnet --mining-address kaspatest:... -p 16210 -t 1against a local synced node. Mined coinbase outputs mature after 1,000 blocks. - Ask. Other testnet participants (e.g. the #testnet channel on the Kaspa Discord) can send test KAS.
Note testnet coins have no value and testnets are periodically reset or replaced - do not build anything that assumes testnet state persists.
See Also: Run a Node, Build a Transaction