Skip to main content

User facing FAQ


The following questions and answers are from the POV of a user using consumer applications like the NNS frontend dapp or others. They are meant to help consumers who want to hold, send, or receive tokens.

For questions from the POV of a developer who wants to know things such as "how does a canister send ckBTC?" or how to write code for smart contracts to hold, send, or receive tokens, please see the other FAQs.

General multi-chain questions

What is the purpose of the Internet Computer being having multi-chain smart contracts that can call into other blockchains?

  1. ICP canister smart contracts have a lot of functionality that other blockchain smart contracts do not. Developers of other blockchains can use ICP smart contract functionality for custody on other chains.

  2. ICP canister smart contracts are able to call into Bitcoin, giving Bitcoin a powerful smart contract layer, since Bitcoin (unlike Ethereum) does not have native smart contracts.

  3. ICP canister smart contract developers can create software systems that are interoperable with other blockchain smart contracts.

ckBTC user questions

What is ckBTC?

Chain-key Bitcoin (ckBTC) is a token on the Internet Computer that is backed 1:1 by bitcoin (BTC). This means that 1 ckBTC can always be redeemed for 1 BTC and vice versa. Unlike other tokens pegged to bitcoin, the ckBTC token does not rely on a third-party bridge for the conversion between BTC and ckBTC, making it a substantially more secure alternative to “wrapped” tokens.

One of the main advantages of ckBTC over regular bitcoin is its speed and cost of transfers. A transfer of ckBTC is finalized within a few seconds, which is significantly faster compared to transfers on the Bitcoin blockchain where even one confirmation can take minutes (and typically people wait for 5-7 confirmations). Additionally, the cost of a ckBTC transfer is only 0.0000001 ckBTC, which is approximately two orders of magnitude lower than the Bitcoin miner fees.

In terms of usage, ckBTC can be used in applications on the Internet Computer. For example, there is a point of sale app that allows users to accept ckBTC payments. This is made possible because the Internet Computer integrates directly with the Bitcoin network, allowing canisters (akin to smart contracts) on the Internet Computer to receive, hold, and send Bitcoin, all directly with transactions on the Bitcoin network.

How do I convert ckBTC to BTC and vice versa?

Learn how to convert ckBTC to BTC.

How do I transfer ckBTC from one account to another?

Learn how to transfer ckBTC from one account to another.

How do I receive ckBTC?

Learn how to receive ckBTC.

Can I convert ICP to ckBTC?

ICP and ckBTC are two separate tokens so there is no protocol way to convert one to another. Typically people who want to exchange one for the other use exchanges.

Can I convert ICP to BTC?

ICP and BTC are two separate tokens so there is no protocol way to convert one to another. Typically people who want to exchange one for the other use exchanges.

What are the average ckBTC transfer fees?

The transaction fees for ckBTC on the Internet Computer (ICP) are designed to be minimal. It is currently configured to at 0.0000001 ckBTC, which is equivalent to less than a cent or 10 satoshis.

When calling retrieve_btc, the formula for the ckBTC minter fee is determined as follows:

246*in + 7*out + 52 satoshi

This formula is used to determine the ckBTC minter’s fee in satoshi. Since every transaction has at least one input and one output, the fee is at least 305 satoshi.

There is also a know your transaction (KYT) fee, currently set at 2000 satoshi, when converting BTC to ckBTC and vice versa.

How can I view the entire history of ckBTC transactions?

You can view the transactions for ckBTC or BTC on the Internet Computer through the Internet Computer Dashboard.

ckETH user questions

How do I convert ckETH to ETH and vice versa?

Learn how to convert ckETH to ETH.

Can I convert ICP to ckETH?

ICP and ckETH are two separate tokens so there is no protocol way to convert one to another. Typically people who want to exchange one for the other use exchanges.

General multi-chain questions

Is there a user interface for managing my multi-chain assets on the Internet Computer?

Yes, one example is the NNS frontend dapp. Another example is Oisy Wallet.

How does ICP ensure the security and privacy of my cross-chain transactions?

Internet Computer (ICP) ensures the security and privacy of your cross-chain transactions through several mechanisms:

  1. Bitcoin integration: ICP's native Bitcoin integration allows canisters (advanced smart contracts) to interact with the Bitcoin network at the protocol level. This means they can directly receive, hold, and send BTC on the Bitcoin mainnet without using intermediaries and third-party blockchain bridges, which often have security issues. Canisters can read from and write to the Bitcoin ledger.

  2. Ethereum integration: ICP aims for a native integration with the Ethereum network by running Ethereum nodes co-located with ICP nodes. The current mechanism to interact with smart contracts on Ethereum is to use the EVM RPM canister, which uses HTTPS outcalls to communicate with JSON-RPC services such as CloudFlare, Alchemy, Ankr, or BlockPI. Since it is not bound to any single service provider, it can read state information from and transmit transactions to Ethereum in a secure and reliable manner.

  3. Chain-key cryptography: ICP uses chain-key cryptography to sign native transactions on other blockchains. This set of cryptographic protocols allows ICP to securely communicate across chains.

  4. Platform privacy: The Internet Computer runs a decentralized network, where data and computation are replicated across nodes in data centers located around the world. Communication with the Internet Computer relies on a set of boundary nodes, which can see the IP address of the sending user, as well as which canister the user is sending it to and the payload. All communication to the Internet Computer and within it is encrypted and the state of canisters is private by default.

Can I track the status of my multi-chain transactions on the Internet Computer dashboard?

The dashboard currently shows conversions between:

What are the steps involved in setting up a multi-chain wallet on the Internet Computer?

The NNS frontend dapp serves as a multi-chain wallet enabling users to hold many types of tokens such as ICP, ckBTC, ckETH, etc.

How does ICP handle the conversion of tokens between different chains, such as converting ICP to ckBTC?

The Internet Computer (ICP) has a rich ecosystem of DeFi apps and services such as AMM's and Decentralized exchanges which enable swapping between tokens, such as ICP or a chain-key token such as ckBTC or ckETH. Tools like ICPSwap, Sonic, and ICLight can be used for this purpose. On ICPSwap, for instance, you can connect to the dapp with several different wallet types, such as Internet Identity, NFID, Bitfinity and more. Then, you can select the type of token you'd like to swap for another, such as ICP, and enter the value you'd like to swap. Finally, select the token you'd like to receive in return for your ICP.

In the future, when the Internet Computer blockchain integrates with additional blockchains, more chain-key tokens will become available on ICP.

Is there a guide or tutorial on how to use multi-chain features on the Internet Computer for beginners?

Yes, there are several resources available for beginners who want to use the multi-chain features on the Internet Computer.

  1. The ETH starter tutorial is a great place to start. It provides a step-by-step guide on how to interact with Ethereum on the Internet Computer.

  2. You can also check out the Code ckETH and Code ckBTC for code samples on how to use these features.

  3. The DeFi sample code provides examples of decentralized finance applications that utilize the multi-chain features of the Internet Computer.

  4. For more advanced topics, you can explore the Multi-chain DeFi page which discusses how the Internet Computer can be used for decentralized finance applications.

  5. The developer resources page also provides a wealth of information, including documentation, sample code, tooling, and support.

Remember, the Internet Computer allows you to create smart contracts that directly interact with other blockchains without the need for trusted centralized bridges. This is made possible using chain key cryptography. You can learn more about this on the wiki.

How does ICP handle the integration of smart contracts across different chains?

Internet Computer Protocol (ICP) handles the integration of smart contracts across different chains through a process known as cross-chain interoperability. This is achieved through advanced cryptography, specifically threshold ECDSA and chain-key cryptography.

For instance, ICP can natively create signed transactions on other blockchains like Ethereum and Bitcoin, allowing decentralized applications (dapps) deployed on ICP to interact directly with other networks and their smart contracts, tokens, and other digital assets.

ICP has integrated with Bitcoin at the protocol level. This integration coupled with the chain-key threshold ECDSA feature allows a canister (a computational unit on the ICP) to create a Bitcoin address, then send or receive bitcoin directly as if they were a regular Bitcoin user.

ICP is also working on an integration with Ethereum that will allow Ethereum smart contracts and digital assets like ERC-20 tokens to be used in ICP canisters. This integration is being worked on.

In the future, ICP aims to become fully compatible with the Ethereum Virtual Machine (EVM), enabling developers to deploy Ethereum smart contracts directly on the ICP network.

Can I use my existing hardware wallets or mobile apps to manage my multi-chain assets on the Internet Computer?

Yes! Please see documentation here on using Ledger Nanos and other hardware wallets: hardware wallets.

Additional reading