Wallet overview
Wallets are a private and public key pair used to hold, transfer, or receive digital assets. On ICP, assets can take the form of fungible tokens such as ICP or ICRC-1 tokens or non-fungible tokens such as ICRC-7. Your wallet's public key, sometimes referred to as the public wallet address, can be used to for others to send you tokens. The wallet's private key is used to sign transactions, such as transferring tokens to another wallet.
Wallets come in several different forms with varying levels of accessibility and security.
Users and developers on ICP use wallets for the following activities:
- Holding, transferring, and receiving assets such as fungible including ICP and other ICRC1/ICRC2 tokens (ex. ckBTC, ckETH) and non-fungible tokens.
- Deploying, upgrading, and performing operations on canisters.
- Authenticating with decentralized applications.
On other networks, these activities may all use the same wallet account and workflow. On ICP, each of these activities will likely use a separate wallet address or service. This document provides an overview of each different workflow, the type of account associated with it, and how to interact with it.
Types of wallets
On ICP, both developers and end users will use different types of wallets for different interactions. Here is a table that describes each type of wallet and the activities associated with them:
Type of wallet | Activities | Examples |
---|---|---|
Asset wallet | Hold, transfer, and receive assets such as fungible tokens including ICP and other ICRC1/ICRC2 tokens (ex. ckBTC, ckETH) and non-fungible tokens. View token holdings. Stake ICP and create a neuron to participate in the NNS. User based authentication. | Plug, Stoic, Oisy. View the full list. |
Canister-controlled wallet | Using Chain Fusion, canisters on ICP can hold, sign, and transact with assets on various chains including ICP, Bitcoin, Ethereum, EVMs, and more. | Cycles wallet (will be depreciated from dfx). Holds cycles needed to deploy, upgrade, and perform other operations on canisters. The cycles wallet is still supported, but has been replaced by the cycles ledger. It is recommended to use the cycles ledger instead. |
Other authentication methods
Internet Identity is not directly considered a wallet but more of an authentication method. However, an Internet Identity is tied to a unique principal for each unique domain that can be used to hold and receive assets.
Decentralized exchanges on ICP such as ICDex, Sonic, and ICPSwap allow users to sign in with Internet Identity and hold and transfer assets using the unique principal generated on their site.
The NNS dapp provides users the same functionality in addition to generating neurons to stake ICP and participate in governance. The Internet Identity integration is often referred to as the NNS wallet.
Key custody
Third-party custody: A third-party service manages the keys for your wallet. This option is easy to use as it requires less technical understanding, but in return provides less control than self-custody solutions.
Self-custody: You are responsible for managing the keys to your wallet. From a security standpoint, this option is the most secure, but requires more technical understanding.
Third-party custody
Third-party custody allows a third-party entity to act on your behalf, managing your private keys for you. Third-party wallets trade control of your wallet's keys for ease of use. You can use a third-party service in your web browser, as a browser extension, or as a mobile app, without needing to manage your wallet keys or other technical aspects of the wallet's implementation. You simply sign into the wallet and authorize transactions as necessary. Third-party solutions are good for less technical users who do not feel comfortable managing their own keys through a hardware wallet or other self-custody solution, or users who are new to the ecosystem and looking for an easy onboarding experience.
Before choosing a third-party option, you should do your own research and be sure that you understand the ramifications of your choices thoroughly before proceeding.
Onchain wallets
Onchain wallets on ICP use Internet Identity for authentication, and are great for new users, less technical users, daily use, or small token transfers. Some examples include:
NFID: Each new account creates a hardware wallet that is untraceable. NFID supports sign-in with Google in addition to Internet Identity.
Oisy: A multi-chain wallet powered by Chain Fusion.
Stoic: The native wallet for ICP's largest NFT marketplace, Entrepot.
AstroX ME: A multi-chain wallet that supports ICP, Ethereum, Polygon, and more.
Orbit: Private alpha.
Browser extension wallets
Browser extension wallets can be used easily on any webpage, making them a good choice for users that make frequent transactions. Some examples include:
Plug: Used to swap tokens, hold NFTs, and authenticate with ICP dapps. Available for Google Chrome, Firefox, and Brave.
Bitfinity: Supports ICP, BTC, and SNS tokens. Available for Google Chrome.
Klever: A multi-chain mobile wallet available for Google Chrome.
Mobile app wallets
Mobile app wallets can be used for making transfers or payments while on the go, or for users who don't have access to a dedicated computer. Some examples include:
Plug: Available for Apple and Android devices.
AstroX ME: Available for Apple and Android devices, or as an APK file.
Klever: A multi-chain mobile wallet available for Apple and Android devices.
AirGap: Available for Apple and Android devices.
Trust Wallet: Available for Apple and Android devices, or as an APK file.
Institutional custody
Institutional custody wallets are recommended for holding large amounts of crypto, as they provide additional benefits like customer support.
Self-custody wallets
Self-custody is a token distribution option that enables you to have sole responsibility over your digital assets and the management of your private keys, without the need of a third party to act on your behalf. Because there is no third-party, self-custody solutions often look different than third-party custody solutions, such that they use wallet formats such as air-gapped machines or cold wallets.
Before choosing a self-custody option, you should do your own research and be sure that you understand the ramifications of your choices thoroughly before proceeding.
NNS dapp
The most convenient self-custody option on ICP is the NNS dapp with Internet Identity. It is entirely web-based and does not require any downloads or installations. The NNS dapp includes all functionalities for receiving, sending, or transferring ICP or ICRC tokens, and can also be used for staking ICP in a neuron to participate in the network's governance. The NNS dapp is recommended for people that want an easy way to control their ICP and other tokens, or non-technical users who want to get started on ICP.
Cold storage wallets
Cold storage wallets refer to keeping a wallet's private keys stored offline in a device that is not connected to the Internet. Cold storage is a popular solution for self-custody of digital assets because it makes it more difficult for your keys to be compromised if there is a software security breach or if your device is lost or stolen.
Hardware wallets
A hardware wallet is a physical device that holds your digital assets. Private keys are stored in a secure part of the device that does not come into contact with the Internet. The partitioned storage on the physical device reduces the risks that are associated with devices connected to the Internet. Because you are relying on a physical device, however, losing the device also means losing access to your digital assets.
In most cases, you can recover from the loss of a hardware wallet because the assets stored on hardware wallets are secured using a secret seed phrase. If you copy and secure the seed phrase—for example, by storing it in the form of a paper wallet—you can initialize a new device with the seed phrase and regain access to your digital assets.
Common hardware wallets include:
ICP custody with seed phrase and air-gapped machine.
Air-gapped computers
An air-gapped computer is isolated from insecure networks that interact with the Internet or unsecured local area networks in your home.
Converting a standard personal computer or similar device into an air-gapped computer might require you to physically remove network cards, disable certain software, or be prepared to completely wipe the machine before connecting it to the Internet again.
Depending on how secure you want your air-gapped computer to be, one option is to use a bootable image that provides a minimal operating system to collect your digital assets, then remove any artifacts from that process and reboot the computer normally after completing any transaction. For more information, see extreme security measures for the extra paranoid and the ultimate defense: what is an air gapped computer?.
Paper wallets
A paper wallet is a piece of printed paper that contains your important key information (in some cases, even a QR code) and is used for facilitating digital asset transactions. Paper wallets are often not recommended because they are susceptible to degradation and could be insecure or lost or stolen easily.
As a backup to a hardware wallet, however, you might want to create a paper wallet and store it in a secure location such as a safe deposit box.
For more information, see paper wallets.
Self-custody resources
For more information about approaches to cold storage and best practices for securing your private keys, see the following additional resources:
Keeping assets safe
It is ultimately your responsibility to research the custody solutions available to you. Regardless of the type of solution you select, it is also your responsibility to keep your digital assets safe.
With this in mind, you should take note of the following general recommendations:
Do not use a work computer to configure a digital asset storage solution. Your private personal data could be lost or compromised while hosted on a work computer, especially if that computer is routinely connected to the Internet.
Do not leave your cold storage wallet or any private information in a public place where it could be compromised.
Do not lose your private key or your seed phrase. If lost, you will be permanently unable to access your digital assets.