Token transfers and balances on IC

Very naive question I am new to ICP. In blockchain like ETH, Solana etc there is a notion of Accounts that hold balances for various tokens. However based on what I have read in ICP tokens/canisters could be across multiple subnets. In this case how can the consolidated Account balance be determined? Could someone point to me resource on where I could read more about this? Suppose Alice wants to transfer 10 tokens of A, 20 tokens of B and 30 tokens of C to Bob. This is communication with potentially 3 different canisters in subnet S1 (for A), S2 (for B) and S3 (for C). How does the wallet for Bob now reflect these new balances? Thanks in advance

1 Like

CMIIW, based on my understanding, ICP is a distributed cloud service protocol designed for general-purpose Web3 applications fully on-chain. One notable use case of ICP is its ability to host blockchains on its platform. Each project that operates on ICP actually are running on their own individual blockchains built on top of ICP. This unique structure means that each token maintains its own separate ledger, unlike other blockchains where multiple tokens share a single ledger.

Most tokens have an accompanying index canister that allows e.g. querying for transactions of a principal. Most wallets simply query all index canisters when the user loads the wallet

Thanks for the response. Sincerely appreciated.