This guide is for someone starting with a terminal and trying to verify Kaspa without trusting one explorer, one wallet UI, or one hosted dashboard.
Kaspa Explained does not create wallets, sign transactions, submit transactions, or run a Kaspa node. This file is a source-backed map to the public command-line paths that do those jobs.
- A terminal.
- Git.
- Docker, or Rust/Cargo if building Rusty Kaspa from source.
- Separate wallet/key hygiene before touching real funds.
Check the basics:
git --version
docker --version
cargo --versionUse the site to separate claim types:
- Mainnet live: current Kaspa network behavior such as proof of work, UTXO accounting, GHOSTDAG, and the current blockDAG era.
- Mainnet tools: wallets, explorers, indexers, APIs, and receipt workflows that exist around live Kaspa transactions.
- Testnet only: TN12 covenant/proof experiments and other non-mainnet validation work.
- Targeted or roadmap: planned protocol/application work that is not yet live mainnet behavior.
- Research: ideas, papers, prototypes, or architecture directions that should not be described as shipped.
For command-line TN12 experiments, use the TN12 repo. This site can link to that evidence, but it does not execute it.
This repo should help a reader know where to go, not invent private mainnet commands. A real mainnet terminal path usually has this shape:
install official node or wallet tooling
sync or connect to a mainnet node/RPC source
query an address, transaction, or UTXO
build or review a transaction with production wallet software
sign only after checking network, inputs, outputs, amount, fee, and intent
broadcast through the intended mainnet route
verify the accepted transaction in an explorer or node/indexer queryThe reason to learn this path is resilience. A trustless base layer is weaker in practice if nearly everyone depends on one hosted explorer, one wallet UI, or one dashboard to know what happened. A normal user does not need to become a node operator on day one, but the public education path should show how to move from a website, to an explorer, to a wallet, to a node/RPC query when more assurance is needed.
Use public Kaspa resources for the exact commands and versions:
- Kaspa.org Build and official documentation for current builder entry points.
- Rusty Kaspa releases and docs for node/RPC behavior.
- WASM/SDK examples for supported application code paths.
- Public explorers for accepted transaction checks.
- Wallet documentation for key handling, signing, and broadcast behavior.
Useful source URLs:
https://kaspa.org/buildhttps://docs.kaspa.org/https://github.com/kaspanet/rusty-kaspahttps://github.com/kaspanet/rusty-kaspa/releaseshttps://explorer.kaspa.org/https://faucet-testnet.kaspanet.io/
Do not copy TN12 commands into mainnet. Testnet faucet wallets, covenant proof
drafts, and local .local/ keys are learning tools, not production wallets.
These are the current source-backed entry points. Treat them as the path to learn and verify from the terminal. Before using real funds, check the linked sources for current versions, flags, and wallet behavior.
Fastest Docker route:
docker run -d --name kaspad -p 16110:16110 kaspanet/rusty-kaspad:latestWhat it does:
- downloads and starts the latest Rusty Kaspa node image;
- exposes local gRPC on port
16110; - gives your machine a local node process to query;
- does not create a wallet or sign transactions.
Source-build route:
git clone https://github.com/kaspanet/rusty-kaspa
cd rusty-kaspa
cargo run --release --bin kaspadMainnet node with UTXO indexing:
cargo run --release --bin kaspad -- --utxoindexUse --utxoindex when wallet or UTXO queries need indexed UTXO state. Let the
node sync before relying on its answers.
From a Rusty Kaspa checkout:
cd cli
cargo run --releaseWhat it does:
- opens the Rusty Kaspa command-line interface;
- gives a terminal route into RPC and wallet runtime behavior;
- should be used only after reading its help output and confirming which network it is connected to.
Before signing anything:
- confirm mainnet versus testnet;
- confirm where wallet files are stored;
- back up keys according to wallet documentation;
- send a tiny test amount first;
- verify the accepted transaction through independent sources when possible.
Generic Rusty Kaspa testnet route:
cargo run --release --bin kaspad -- --testnetOlder Kaspa hard-fork testnet guides use explicit testnet suffixes, for example:
kaspad --testnet --netsuffix=10 --utxoindex
cargo run --bin kaspad --release -- --testnet --netsuffix=10 --utxoindexFor TN12 or Toccata-era testing, confirm the current release, netsuffix, and flags from the active public Toccata/TN12 docs before running. Do not assume a TN10 command is the right TN12 command.
As of June 25, 2026, Rusty Kaspa v2.0.1 is the current Toccata release, and
v2.0.0 still provides the mainnet activation target. Rusty Kaspa's
tn10-toc2 pre-release scheduled Testnet-10 Toccata activation at DAA score
467,579,632, and tn10-toc3 scheduled final Toccata ZK hardening at DAA score
476,232,000. A June 25 API check showed Testnet-10 virtual DAA 500,129,160,
above both scores. Treat those releases and REST status as testnet evidence and
check their current notes before reusing historical TN10/Crescendo commands.
For app/RPC work, enable the JSON WebSocket RPC listener:
--rpclisten-json=<interface:port>
--rpclisten-json=defaultUse this as a flag on the node command, for example:
cargo run --release --bin kaspad -- --utxoindex --rpclisten-json=defaultWhat it does:
- exposes a wRPC JSON endpoint;
- lets SDKs/scripts query node state over WebSocket;
- is required by some app and payload workflows;
- should be bound carefully if the machine is reachable from the public internet.
Kaspa.org Build points to public docs, public explorers, a community API, and the public node network. Use those for learning and quick reads, but remember that hosted services are convenience layers. For higher assurance, compare against your own node or another independent source.
Basic verification ladder:
explorer says tx accepted
another explorer or API agrees
your wallet balance matches
your own node/RPC query agrees
your app/indexer replay matches the accepted txid and payload/output rulesThat is the point of the command-line path: not everyone needs to run every layer all the time, but the route away from a single hosted view should exist.
Use this route if you are starting from zero:
- Read
start-here.htmlandstatus.htmlto separate live, targeted, roadmap, and research claims. - Use
builder-guide.htmlandsources.htmlto find the public docs behind a command path. - Run a mainnet node only from current Rusty Kaspa release/source docs.
- Use
kaspa-clior wallet docs only after checking network, key storage, and signing behavior. - For TN12 experiments, switch repos and follow that repo's
docs/CLI_FROM_ZERO.md. - For mainnet funds, stop and use official wallet/node documentation instead of copying testnet commands.
This site does not invent mainnet command guidance. It points readers back to public Kaspa resources:
sources.htmllists the source hierarchy and reference map.builder-guide.htmllinks to Kaspa.org Build, official Kaspa docs, Rusty Kaspa releases, WASM examples, accepted-transaction docs, payload docs, node docs, explorers, and testnet resources.status.htmlsays which claims are live, testnet-only, targeted, roadmap, or research.- Official mainnet work should start from public Kaspa wallet, node, SDK, and explorer documentation. TN12 covenant commands are testnet practice, not a mainnet substitute.
- TN10/Toccata activation-test releases are also testnet evidence. Do not turn a Testnet-10 schedule into mainnet command guidance.
- When Toccata or later mainnet tooling changes what can be done from a terminal, update this site from public activation, release, and tool docs first. Do not promote testnet commands as mainnet instructions.
When Toccata becomes mainnet behavior, update this file, status.html,
builder-guide.html, sources.html, CLAIMS.yml, and llms.txt from public
activation evidence, Rusty Kaspa releases, official docs, and working tool
commands. Until that evidence exists, keep Toccata/TN12 command examples in the
testnet or targeted lane.
- It does not install or run a Kaspa node.
- It does not create wallets.
- It does not submit transactions.
- It does not prove TN12 artifacts.
- It does not make roadmap features live.
For self-sovereign transaction work, use wallet/node/indexer documentation and test carefully on testnet before touching mainnet funds.