Feature Proposal — Importing Tokens to the NNS Dapp

Proposing an implementation design for one of the most widely requested NNS dapp features by the ICP community — allowing users to import any ICRC-1 token in their NNS dapp account.

Background

Today, there is no simple way for NNS dapp users to import and manage ICRC-1 tokens in their NNS dapp wallet that are not part of the SNS or ckToken family. While the main purpose of the NNS dapp is to provide a simple UI to interact with governance on ICP, we understand that people would like to store tokens in their NNS dapp wallet that are not SNS DAOs or ckTokens.

Proposed Solution

We propose to allow users to import any token that supports the ICRC-1 fungible token standard. Users could import new tokens by providing their ledger canister ID. These tokens would be saved on the user’s NNS dapp account, and have clear visual distinction from tokens added through NNS proposals to avoid confusion. Only you can see the list of tokens you imported, and you can remove them at any time.

The NNS dapp uses index canisters to fetch the transaction history of users. This means that users will not see their transaction history for certain tokens that do not have index canisters. We propose to make index canisters optional for this implementation. Learn more about index canisters in this blog post.

Important: If adopted, be very careful what token you import to your NNS dapp account! Always verify ledger canister IDs against well known ICP DEXs or official websites of the project. If single entities or small groups control a ledger canister, they can apply changes or make updates whenever they like. Read more about security best practices here.

Conclusion

We hope you find these proposed changes as exciting as we do, and would like to welcome your valuable feedback! If there are no strong concerns with regards to this feature, we plan to propose iterations of it as part of the normal release process.

13 Likes

This is great.
Over at tendys, we have made two separate proposals to allow canister import to the nns.
So happy to finally see Dfinity get behind this effort.

1 Like

This is awesome! It’ll be so nice to not need 2 or 3 different wallets.

1 Like

Love it! $nICP will be storable in the NNS!!!

The next stop to make the NNS perfect: hide zero-balance token and re-oder.

3 Likes

Love the proposal. When can we see it live?

You can already hide 0 balances. Sorting would be a great addition for sure.

2 Likes

So this upgrade comes with a caveat that can be exploited by scammers? Then I’m not for it, only to avoid all the drama and bad publicity that comes with all the people that are not carefull enough…

I think this is an excellent feature for the NNS. There are many projects going through SNS just to have a spot in the NNS.

1 Like

Perhaps a novel tab (e.g. “Imported Tokens”, below “Tokens”) on the left would improve the the safety, and giving this tab a different background color. Especially if the names of imported tokens are arbitrary.

1 Like

We quite litterally proposed a sub wallet within the nns and it was shot down. Maybe now is the time to reconsider.