Skip to main content

Wallet overview

Beginner
Concept

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 walletActivitiesExamples
[Asset wallet](/docs/current/developer-docs/defi/wallets/overview) - 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. Please refer to the [asset wallets docs for the full list](/docs/current/developer-docs/defi/wallets/overview#third-party-custody)
[Canister-controlled wallet](/docs/current/developer-docs/smart-contracts/overview/introduction)Using [Chain Fusion](/docs/current/developer-docs/multi-chain/overview), canisters on ICP can hold, sign, and transact with assets on various chains including ICP, Bitcoin, Ethereum, EVMs, and more.Any canister
[Cycles wallet](//docs/current/developer-docs/defi/cycles/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](docs/current/developer-docs/defi/cycles/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 partifcipate in governance. The Internet Identity integration is often referred to as the NNS wallet.