Kaspalytics Learn is a work in progress.
Updated: Aug 1, 2026

Mining

Kaspa mining - kHeavyHash, how coinbase rewards work in a blockDAG, and mining in practice.

Kaspa is pure proof-of-work: mining is the only issuance and the only way blocks are created. What differs from blockchain PoW is what happens to parallel blocks - and how rewards are paid.

kHeavyHash

Kaspa’s PoW function. To mine, a miner varies the nonce until the block header’s kHeavyHash is numerically at or below the target. The pipeline (from rusty-kaspa consensus/pow and crypto/hashes):

  1. Pre-PoW hash - the header hashed with nonce and timestamp zeroed, so the matrix (step 3) is fixed per template while the nonce spins.
  2. cSHAKE256, domain ProofOfWorkHash, over pre-PoW hash + timestamp + nonce.
  3. Matrix step - a deterministic 64×64 matrix of 4-bit values (generated from the pre-PoW hash via xoshiro256++, regenerated until full rank) is multiplied against the hash split into 64 nibbles; the result is XORed back into the hash.
  4. cSHAKE256 again, domain HeavyHash, producing the final value compared to target.

All keccak-family hashing. The matrix multiplication is the “heavy” part - it was designed with optical/compute-in-memory mining hardware in mind, though in practice it is mined by conventional ASICs.

Rewards in a blockDAG

In a blockchain, a block’s coinbase pays its own miner. Kaspa inverts this: a block’s coinbase pays the miners of the blocks it merges (its mergeset), and a block’s own reward arrives later, in the coinbase of the chain block that merges it. The blue/red coloring decides who gets paid. From the coinbase logic in consensus/src/processes/coinbase.rs:

  • Each blue merged block gets an output paying its subsidy plus its fees to the address the merged block declared in its own coinbase payload.
  • Red blocks do not keep their rewards: the subsidies and fees of merged reds are pooled into a single output paid to the merging block’s own miner.

Consequences:

Coinbase outputs mature after 1,000 blocks (~100 seconds) before they can be spent. Per-block subsidy amounts come from the emission schedule.

Mining in practice

  • Hardware: mainnet is mined by kHeavyHash ASICs (available since ~2023). CPU/GPU mining is only relevant on testnet.
  • Pools speak stratum. kaspad itself does not; a stratum bridge sits between pool software/miners and the node. rusty-kaspa added an in-repo stratum-bridge binary (beta, January 2026); third-party bridges predate it.
  • Solo/custom: the node RPC exposes getBlockTemplate (pass a payout address, solve, then submitBlock). See RPC Calls.
  • Block rate is held at 10 BPS by the difficulty adjustment algorithm regardless of total hashrate. Current and historical network hashrate is charted live at Hash Rate.
Kaspalytics strives to provide accurate data - our highest level of effort is given to data validation and maintenance. However, we cannot guarantee 100% accuracy. Data is subject to inaccuracies and change.

Contact | © 2026 Kaspalytics