What you actually run
Node first. Miner second. Mining while unsynced is how you mine a private fork. There is no official kaspa.exe. The Windows node binary is kaspad.exe from the rusty-kaspa zip.
Node
tKAS on TN10 today is a synced rusty-kaspa node, a kaspatest: address, and a miner pointed at that node. It is faucet money. It is not mainnet KAS. Official line: CPU mining so you do not own the tiny testnet.
Dated lab notes plus official docs. Pin: rusty-kaspa v2.0.1. Do not use testnet-12. Addresses start with kaspatest:.
Node first. Miner second. Mining while unsynced is how you mine a private fork. There is no official kaspa.exe. The Windows node binary is kaspad.exe from the rusty-kaspa zip.
Wiki line: do not put GPU, FPGA, or ASIC on testnet. Same kHeavyHash, different network, different address prefix. Pointing BzMiner at WoolyPooly or 2Miners is mainnet KAS. Wrong network, wasted power. If you only need coins for scripts, use the faucet.
Kaspa-NG set to Testnet-10, rusty wallet, or Rothschild. Copy an address that starts with kaspatest:. If it starts with kaspa:, stop. Optional: fund it from the faucet so you can test spends without waiting for coinbase to mature.
Download the Windows zip from rusty-kaspa v2.0.1 (rusty-kaspa-v2.0.1-win64.zip). Unzip to a real folder. Confirm you see kaspad.exe. It is often in that folder or one level down in bin.
PowerShell, from the folder that contains the exe. Leave this window open. Closing it kills the node.
cd C:\Kaspa dir kaspad.exe .\kaspad.exe --testnet --netsuffix=10 --utxoindex
If you need Borsh RPC as well:
.\kaspad.exe --testnet --netsuffix=10 --utxoindex --rpclisten-borsh=127.0.0.1:17110
Linux:
./kaspad --testnet --netsuffix=10 --utxoindex --rpclisten-borsh=default
Wait until it is synced and has peers. First run can sit on IBD. That is normal. Windows Firewall: allow private networks.
Check the public net is alive before you debug your box: explorer-tn10.kaspa.org · api-tn10.kaspa.org
Default TN10 gRPC port is 16210. Start with one thread. Node first, miner second. kaspanet/cpuminer (v0.2.7 lineage):
kaspa-miner --testnet --mining-address kaspatest:YOUR_ADDRESS -p 16210 -t 1
faucet-testnet.kaspanet.io (also seen as faucet-tn10.kaspanet.io). Discord #testnet if the faucet is dry. Then bring the address to the playground.
Official line is still CPU only on TN10. GPU is allowed by physics, not by etiquette. One card can own a network that sits around tens of MH/s. There is no public GPU pool for tKAS. You solo against your own synced node.
After Toccata, block templates carry extra fields. Old GPU miners talking raw gRPC can hash and still submit invalid blocks. If that happens, use node + stratum-bridge + miner, not more overclock.
bzminer -a kaspa -w kaspatest:YOUR_ADDRESS -p node+tcp://127.0.0.1:16210 --nc 1. Some builds want solo+tcp://. Do not use stratum+tcp://pool....
tmrlvi/kaspa-miner GPU build. ./kaspa-miner --testnet --mining-address kaspatest:YOUR_ADDRESS -s 127.0.0.1 -p 16210 -t 0. AMD: add --opencl-enable. This miner is old. Hashing with zero accepted blocks is protocol age, not clocks.
Node as above. Bridge pointed at 127.0.0.1:16210. Miner to the local stratum port (often 5555, confirm with netstat). Do not port-forward that port to the internet. GPU on another PC: use the node PC LAN IP, not 127.0.0.1.
| Symptom | Actual cause |
|---|---|
| Reconnect loop | Wrong port (16210 vs 16211 vs 16110) or node not listening |
| Invalid address | You used kaspa: |
| Hashing, zero blocks, rejected submit | Pre-Toccata miner vs Toccata templates. Use the stratum-bridge path |
| Mining instantly at start | Node not synced. You forked yourself |
| Pool dashboard on Wooly or F2 | You are on mainnet. Stop |
.\kaspad.exe not found | You are not in the extract folder. cd to the directory that contains the exe, then run it |
| invalid IP / glued flags | Two commands pasted as one line. One command, then Enter |