If you store a balance, store the chain and block height with it.
Any tool that records balances or UTXOs - a wallet, a dashboard, a bot, an API cache - is taking a snapshot of something that's always moving. And a snapshot without its chain position isn't really comparable to anything.
On a UTXO chain, the useful anchor isn't just the clock. It's the chain, block height, and ideally the block hash at that height.
Why it matters:
โ Two balance reads taken at different heights aren't directly comparable - the chain moved between them. The difference might be real activity, or just one snapshot being newer.
โ "This address had X" is incomplete. "This address had X on Bellscoin as of block N" is a fact you can verify and reproduce.
โ When your data disagrees with someone else's, the first question is "which chain, and at what height?" Often you're both right, just reading different points.
โ If you include pending transactions, label them separately. Unconfirmed state is not the same as a confirmed block snapshot.
So store the chain and height next to the value. It's one extra field, and it turns a drifting number into a value with context.
A balance is a snapshot. Chain + height tells you where in history the photo was taken.