Back to Blog
EducationSeptember 28, 2026ยท5 min read

Kaspa (KAS) explained: blockDAG and GHOSTDAG, kHeavyHash mining, and how to swap KAS without an account

Kaspa is proof-of-work without a chain: blocks form a DAG and GHOSTDAG orders them, which is how it runs ten blocks per second. What that changes for confirmations and what it does not, how KAS addresses and wallets work, why listings are slow, and how to get KAS without an exchange account.

Kaspa in one paragraph

Kaspa is a proof-of-work network that launched in November 2021 with no premine and no token sale. Its distinguishing idea is that it does not keep a chain. Blocks form a directed acyclic graph, a blockDAG, and a protocol called GHOSTDAG puts them into one order that every node agrees on. That lets the network accept blocks far faster than Bitcoin without discarding the ones that arrive at the same time. KAS is the coin miners are paid in and fees are paid with. The base layer has no smart-contract virtual machine; it is a UTXO ledger, closer to Bitcoin than to Ethereum.

Why a DAG instead of a chain

Bitcoin targets one block every ten minutes for a reason. If two miners find a block at almost the same moment, only one can extend the chain; the other is orphaned and its work is wasted. The faster blocks come, the more often that happens, and the more an attacker benefits from the honest network fighting itself.

Kaspa keeps every block instead. A block may reference several parents, so simultaneous blocks join the graph rather than competing. GHOSTDAG separates blocks into a well-connected "blue" set, treated as the honest majority, and a "red" set that looks mined in isolation, orders the blue set first and fits the red blocks in afterwards. When two transactions in that order spend the same coin, the first wins. The result is a deterministic total order over a graph, which is all a ledger needs, and the block rate is limited by bandwidth rather than by the orphan rate.

Mining: kHeavyHash and ASICs

Kaspa's proof-of-work function is kHeavyHash, a keccak-based hash with a matrix multiplication step originally chosen to favour GPUs. That stopped mattering in 2023, when the first ASICs for it shipped; the network is now ASIC-dominated.

Emission is geometric: instead of a halving every four years, the block reward is reduced by a small factor every month so that it halves roughly once a year. The maximum supply is about 28.7 billion KAS. There is no staking and no foundation allocation; development has been funded by community donations and a community-voted treasury.

The Crescendo hard fork

In May 2025 the network activated the Crescendo hard fork, which raised the block rate from one block per second to ten blocks per second. It was possible because the node had been rewritten from Go into Rust, which cut the cost of processing a block enough to make the higher rate safe. Crescendo did not change the emission per unit of time, only how many blocks it is spread across, and it did not add smart contracts.

Fast blocks versus finality

Ten blocks per second means your transaction usually has a first confirmation within a second and a hundred blocks on top of it within ten seconds. That changes the user experience, not the security model. Proof-of-work finality is probabilistic: what protects a transaction is the work stacked on top of it, and work per second is set by hashrate, not by block rate. A hundred Kaspa blocks represent ten seconds of network hashrate, no more.

Kaspa gives fast confirmations, not instant settlement in the sense of a proof-of-stake chain with a finality gadget. There is a consensus-level depth beyond which a node refuses to reorganise, but within that window the rule is Bitcoin's: wait long enough for the value at risk. Services that accept KAS deposits pick a block count for that reason, and the count is large because the blocks are short.

BitcoinKaspa
Structuresingle chainblockDAG ordered by GHOSTDAG
Block rateone per ~10 minutesten per second
Hash functionSHA-256kHeavyHash
Ledger modelUTXOUTXO
Addressbc1...kaspa:q...
Supply cap21 millionabout 28.7 billion
Smart contracts on base layernono

Wallets and addresses

A Kaspa address is a bech32-style string with the prefix kaspa: followed by a long body, so it looks like kaspa:qq... or kaspa:qz... The prefix is part of the address. There is no memo or destination tag.

Wallets include Kaspium on mobile, Kaspa NG on desktop and the project's web wallet. Hardware support exists through Tangem and a community Ledger app; verify the current state before buying a device for it. KRC-20 tokens on Kaspa exist through indexer-based protocols, not the base layer, and are separate assets: a swap service pays out KAS, not KRC-20 tokens.

Why exchanges list it slowly

Kaspa is its own codebase, not a fork of something an exchange already runs. Integrating deposits means running a node that prunes, handling a UTXO set that changes ten times a second, and writing confirmation logic for a DAG rather than a chain height. The project also has no venture backers and no listing budget; it grew out of a mining community.

How to get KAS without an account

KAS is available in the swap form on the homepage. There is no dedicated KAS pair page yet, so the route goes through the form:

  1. Choose your source asset (USDT TRC-20 needs one confirmation) and KAS as the destination.
  2. Enter the amount and paste your kaspa: address. Add a refund address if you want one.
  3. Click Swap now. You get a unique deposit address and a status page with no login.
  4. Send exactly the amount shown. The floating rate locks when the deposit reaches the required confirmations, and KAS is paid to your address.

The cost is the network fee you pay to send the deposit plus the spread and payout network fee built into the quote. To move the other way, pick KAS as the source in the form.

Mistakes to avoid

  • Dropping the prefix. kaspa: is part of the address. Without it, nothing will accept the string.
  • Paying out to an exchange that does not support KAS. Check the destination supports Kaspa deposits first.
  • Reading block count as finality. A hundred Kaspa blocks is ten seconds of work. Size the wait to the value, not the count.
  • Confusing KRC-20 tokens with KAS. They live on an indexer layer and cannot be sent to a service expecting KAS.

Related pages

Ready to swap privately?

No account required. Start in seconds.

Start swapping โ†’