How to track asset balances across the whole chain. Do I need to use some indexer service for this?

ok and if i want to track balances accross smart contracts and normal addresses what are the things i should be looking for like input outputs and what else?