Making transactions
Overview
There are several different ways to interact with ckBTC:
- Converting BTC to ckBTC
- Converting ckBTC to BTC
- Receiving ckBTC
- Sending ckBTC
- Viewing ckBTC transactions
- Integrate ckBTC into your smart contract
Converting BTC to ckBTC
Step 1: Navigate to the NNS frontend dapp.
Step 2: Sign in with your existing Internet Identity, or create one by selecting 'More options' > 'Create New'.
Step 3: Select 'ckBTC' while on the 'Tokens' tab.
Step 4: Click on 'Send' at the bottom of the screen.
Step 5: Select 'Bitcoin', then send BTC to the displayed Bitcoin address.
Since this is a real bitcoin transaction, the finality time will take about 1 hour and will be charged the Bitcoin network's transaction fees.
Converting ckBTC to BTC
Step 1: Navigate to the NNS frontend dapp.
Step 2: Sign in with your existing Internet Identity, or create one by selecting 'More options' > 'Create New'.
Step 3: Select 'ckBTC' while on the 'Tokens' tab.
Step 4: Click on 'Send' at the bottom of the screen.
Step 5: Insert your BTC address in the 'Destination' field, select 'Bitcoin' for the 'Network', then enter the amount to convert.
Then select 'Continue' to submit the transaction.
Every step of converting BTC to ckBTC is decentralized and does not use any centralized intermediaries or bridges.
Issuing and redeeming ckBTC goes through KYT checks to ensure that tainted BTC does not enter the ICP network.
Transferring ckBTC to another account
You can transfer ckBTC to any wallet that supports ckBTC, such as the NNS dapp or Oisy wallet. Directions for the NNS dapp are shown below.
Step 1: Navigate to the NNS frontend dapp.
Step 2: Sign in with your existing Internet Identity, or create one by selecting 'More options' > 'Create New'.
Step 3: Select 'ckBTC' while on the 'Tokens' tab.
Step 4: Click on 'Send' at the bottom of the screen.
Step 5: Insert your ckBTC address in the 'Destination' field, select 'Internet Computer' for the 'Network', then enter the amount to send.
Receiving ckBTC
You can receive ckBTC in any wallet that supports ckBTC, such as the NNS dapp or Oisy wallet. Directions for the NNS dapp are shown below.
Step 1: Navigate to the NNS frontend dapp.
Step 2: From the 'Tokens' tab, select the QR code icon next to 'ckBTC'.
Step 3: Scan this QR code from a device that you'd like to send ckBTC from.
You can also copy the ckBTC address displayed under the QR code and provide this to a friend or third-party (like an exchange) to for them to send you ckBTC.
Converting ICP to ckBTC/BTC
To convert ICP into ckBTC or BTC, a decentralized exchange like ICPSwap must be used. There is no protocol for directly converting one to the other.
Viewing transaction history
To view transaction history for all ckBTC transactions on ICP, navigate to the Internet Computer Dashboard, then select the 'Bitcoin' dropdown menu in the top left corner, then select 'ckBTC transactions'.
You can also go directly to Bitcoin transactions.
This will display the full history of all ckBTC transactions on ICP.
You can also search for specific ckBTC transactions by address or transaction ID by selecting the 'Search' bar, then selecting 'I am searching for ckBTC' and inserting your address/transaction ID:
How ckBTC transactions differ from BTC transactions
ckBTC transactions are quite different from BTC transactions:
Speed: ckBTC transactions can be completed with 1-2 second finality time, compared to the average time of 10 minutes to mine a Bitcoin block.
Cost: ckBTC transaction fees are negligible, costing less than a cent.
Fixed transaction fees: Transaction fees have a fixed cost, compared to BTC transaction fees that fluctuate based on the size of the transaction and the network's current load.
Smart contract integration: Smart contracts can programmatically hold and transfer ckBTC, enabling layer-2 applications to develop Bitcoin solutions. Bitcoin does not support such functionality.
Transaction fees
ckBTC transaction fees are set to 0.0000001 ckBTC, which is equivalent to less than a cent or 10 satoshis.
BTC transaction fees are incurred when converting BTC to ckBTC or vice versa, along with a KYT fee.