Your Kaspa balance is the total of the unspent coins controlled by your wallet’s keys. The wallet finds those coins and adds their amounts together, rather than reading a single balance stored in a network account. The wallet code in Rusty Kaspa performs exactly this addition when scanning for funds. [1]
What the network records
Kaspa uses unspent transaction outputs, usually shortened to UTXOs. An output is a coin created by a transaction. “Unspent” means it has not yet been used as an input to another transaction. In the Kaspa Covenant Dev Workshop - KCC20 & Argent, the presenter explains that a wallet’s displayed total can consist of several separate outputs. [2]
Your wallet’s keys can generate many addresses. Coins can therefore be spread across several addresses while appearing as one balance in your wallet. An address is not a separate network account with a balance field. It is a way for the wallet to receive and locate coins it can spend. [2]
How the wallet finds your balance
The process has three basic steps:
- Work out which addresses belong to the wallet. Rusty Kaspa tracks both receiving addresses and change addresses, the addresses used to receive money left over from payments. [1]
- Find their unspent outputs. The wallet gathers the coins associated with those addresses. [1]
- Add their amounts together. Rusty Kaspa’s scanning code adds each output’s amount to a running balance and combines the results across the scan. [1]
A useful detail is that the wallet can also count the separate coins behind the total. The Kaspa Python SDK example reports both amounts and UTXO counts, split into coins ready to spend (“mature”) and coins still waiting for enough confirmations (“pending”). A displayed total and the amount ready to spend can therefore be different. [3]
What changes when you pay
A payment spends existing outputs and creates new outputs. It can combine several input coins and distribute their value among several new coins. The workshop illustrates this as liquid being combined and divided into new containers. Your wallet then calculates its balance from the outputs that remain under its control. [2]
Why wallets still say “account”
“Account” can be a wallet’s organisational term without describing Kaspa’s underlying ledger. The Python SDK groups addresses, balances and UTXOs under wallet accounts, while still calculating address totals from individual outputs. [3]
Watch the opening explanation in the [Kaspa Covenant Dev Workshop - KCC20 & Argent](https://www.youtube.com/watch?v=vZUS45fY6sk&t=0s) for a visual introduction to this distinction and how transaction inputs become new outputs. [2]
Never share your recovery phrase. Nobody from Kaspa messages you first offering help.