The ledger canister processes and stores blocks containing transactions while maintaining individual account balances. An associated index canister can be deployed to further process these transactions and provide clients (such as wallets) with a method to retrieve all transactions for specific accounts.
Previously, adding a token to a wallet required adding two canister IDs: the ledger canister and its associated index canister. This dual-ID requirement created unnecessary complexity for users and developers.
Enhanced Integration with ICRC-106
The ledger-suite-icrc-2025-06-10 release introduces support for ICRC-106, enabling ledgers to store and return the principal of their associated index canister. This enhancement streamlines the wallet integration process significantly.
With ICRC-106 support, wallets now only need the ledger canister ID when adding a new token. The wallet can then query the new icrc106_get_index_principal ledger endpoint to automatically locate the associated index canister, eliminating the need for users to manually provide both canister IDs.
Enabling ICRC-106 Support
The chain fusion ledgers that have been upgraded to the latest available ledger suite release now include ICRC-106 support, and the SNS token ledgers will be upgraded in the near future. Independently deployed ledgers can also leverage this functionality by upgrading to the ledger-suite-icrc-2025-06-10 release, and ensuring that the index_principal parameter is properly configured in the ledger canister upgrade arguments, e.g.:
'(
variant {
Upgrade = opt record {
index_principal = opt principal "your-index-princ-ipal-goes-here-cai";
}
},
)'