Units (KAS & Sompi)
Kaspa's units - sompi, KAS, and the mass units used for fees.Sompi
The base unit of Kaspa is the sompi (named for Yonatan Sompolinsky). All protocol-level amounts - transaction outputs, fees, RPC values, SDK APIs - are integers denominated in sompi.
1 KAS = 100,000,000 sompi (10^8) | Amount | In KAS |
|---|---|
| 1 sompi | 0.00000001 KAS |
| 100 sompi | 0.000001 KAS |
| 10,000 sompi | 0.0001 KAS |
| 1,000,000 sompi | 0.01 KAS |
| 100,000,000 sompi | 1 KAS |
| 10,000,000,000 sompi | 100 KAS |
“KAS” is purely a display convention - the protocol never deals in fractional values. When writing software against a node or SDK, always work in sompi and convert to KAS only at the UI edge.
Mass (grams)
Transaction size/cost is measured in mass, denominated in grams. A transaction is constrained along three mass dimensions - compute mass, storage mass, and transient mass - with blocks capped at 500,000 grams per dimension (the transient dimension was raised to 1,000,000 in the June 2026 Toccata hardfork). See Network Parameters.
Fees
Fees are paid implicitly, UTXO-style: fee = sum(inputs) - sum(outputs), in sompi.
The expected fee for a transaction is its fee rate × mass, where fee rate is in sompi per gram. Nodes suggest fee rate buckets (priority / normal / low) via the GetFeeEstimate RPC. The minimum relay fee rate is 100 sompi per gram (raised from 1 at the Toccata hardfork), so a typical ~2,000-3,000 gram payment transaction costs a few hundred thousand sompi (~0.002-0.003 KAS) - still a tiny fraction of a cent.