Kaspa has its own coin:
KAS
But other tokens can be created on Kaspa too.
Like:
NACHO
For a token to work, there have to be shared rules: how many tokens exist, who holds them, and what changes when someone sends them.
KRC-20 is a set of rules for recording and interpreting those token actions.
How does it work?
Say Emma has:
100 NACHO
And wants to send Liam:
30 NACHO
The action is recorded inside a Kaspa transaction.
But Kaspa itself doesn't simply keep a separate table that says:
Emma = 70 NACHOLiam = 30 NACHO
Instead, separate software reads the KRC-20 actions and works out what they mean.
That software is called an:
Indexer
What does the Indexer do?
It reads KRC-20 actions in order.
For example:
Emma sends 30 NACHO to Liam.
The Indexer checks the action against KRC-20's rules.
If the action is valid under those rules, it calculates the new balances:
Emma: 70 NACHOLiam: 30 NACHO
A wallet or website can then use that result to show the balances.
So where is NACHO recorded?
The actions are recorded on Kaspa.
Their meaning as token balances is calculated by software that understands KRC-20.
Kaspa records the actions.
The Indexer interprets what those actions mean for the token.