Summary
The wallet is deployed at https://wallet.ic0.info/ (alpha version). Features covered in this post:
add any ICRC-1 token ledger manually
all SNS and ck tokens are pre-configured
override token symbol and name
limit number of decimals shown (e.g. for ckETH)
The source code can be found at https://github.com/research-ag/wallet.
Introduction
The ICRC-1 web wallet aims to be a versatile tool that provides easy access to the entire feature set of the ICRC-1 standard and its extension standards. In this tutorial we explain in detail the Assets page, where you can see and manage the assets that you are holding or planing to hold. “Assets” are ICRC-1 tokens. The screen is divided into two sections: assets and balances on the left, transactions on the right.
By default, when you login for the first time, you will have four assets: ICP, ckBTC, ckETH, and ckUSDC, each with its own default subaccount.
If you want to add a new asset, click the "+" button near the search bar.
In the opened modal window, you have two options:
Add an Asset from the List: Choose a pre-configured known asset.
Add an Asset Manually: Provide the asset details yourself.
Adding an asset from the list
In the drop-down menu under Asset you can see the list of all pre-configured ICRC-1 tokens. Note that the "Network" selector only has one option at the moment which is "ICRC-1". Among the pre-configured tokens are, for example, all SNS tokens and all ck-tokens.
After selecting the token, you click the “Add” button.
The pre-configured tokens in the list are:
all SNS tokens .
all ck-tokens
GLDT (Gold token)
The SNS tokens are obtained dynamically from the SNS aggregator and the ck-tokens from the ckERC20 Ledger Suite Orchestrator Canister.
Note: We are implicitly trusting the correctness of the information supplied by the SNS aggregator. Before accepting significant funds in a newly added SNS token it is advised to double-check the ledger canister id and symbol against other publicly available sources. This is to avoid accidentally accepting tokens that are not what they appear to be.
Adding an asset manually
This option can be used if you want to add an asset that is not in the pre-configured list. In particular, this can be used by developers and early users to interact with experimental tokens or test tokens right from your wallet.
For this option you need to know at least the ledger principal of the ICRC-1 token that you are adding. You should also know the principal of the index canister for that token, if it has one. If no index is provided then the token can still be added and the asset can be held and transferred, but without transaction history.
After entering this information, press the “Test” button, which will test if the entered ledger and index canisters provide an ICRC-1 compatible interface. This step will also fetch ICRC-1 metadata from the ledger and fill it in below: symbol, name, fee and decimals. You can still override symbol and name to your own liking before clicking "Save".


The newly added asset appears at the end of the asset list.
The wallet will automatically fetch the balance in the default subaccount of the newly added asset and display it. It will also look for a non-zero balance in a small number of subaccounts (the ones with index 1,2,3,...) and show them if it finds any.
To refresh the balances of all assets and all subaccounts press the refresh button in the top row next to your principal.
From now on, you can deposit or transfer the new asset or create more subaccounts for it.
Editing asset information
By clicking the "ℹ️" icon next to the asset symbol, you can edit the asset information (e.g. the index address, name, symbol) and even shorten the number of decimal places for improved display. Rest assured, these edits are only visible to you and do not impact the actual asset.


For example, you can rename your ck-assets to simply BTC, ETH, USDC, etc. without the ck prefix.
By default, the wallet displays asset balances at full precision. For example, this means that your ckETH balance will show with up to 18 decimals, ckUSD with up to 6 decimals, ICP with up to 8 decimals, etc. as can bee seen in the following image.
When editing an asset we can define a "short form" for the balance display of that asset. We do so by limiting the number of decimals to a smaller value. After saving, the wallet display will adjust and hide decimals past the given point.


Delete asset
To delete an asset from the asset list, it must have a zero balance. Assets with non-zero balances cannot be deleted. Let's look at an example:
In this image, we can see that the ICP and ETH assets do not have a delete button because they have non-zero balances (red rectangle). However, other assets with zero balances do have a delete button available (green rectangle).
If you want to delete an asset and it has a zero balance, simply click the delete button and confirm the deletion in the pop-up window:
After confirmation, the asset will be removed from your list. Remember, you can always add the asset back later if needed using the methods described earlier in this guide.
Persisting metadata
All edits and modifications you have done are persisted in the browser local storage and you will see your assets in the exact same way when you log in again later.
By following these steps, you can manage your assets efficiently within the ICRC-1 wallet. Stay tuned for our next blog post where we'll dive into managing subaccounts and making transactions.