I bought a domain name using ckBTC

Yesterday I’ve purchased a domain name on NameCheap using ckBTC. Since this is not an investment kind of activity, but instead a real world application of the technology, I thought, it would be nice to share this experience with others. To highlight things that went good and things that went bad.

So, NameCheap has this option to top up your balance with crypto. They say that they support a lot of cryptocurrencies (BTC, Lightning, ETH and 10+ others), but I was not able to find any other option besides Bitcoin, getting close to the actual payment process. This got me an idea: “what would happen if I try to do this with ckBTC? will I be able to do this at all?”.

I’m an experienced crypto user, but all of my experience comes from ETH (and IC obviously) ecosystem, so I was encountering BTC for the first time.

NameCheap offers you two payment providers: BTCPay and some other one. But they warn you that BTCPay is better because of lower fees and latencies, so I’ve chosen it. Once you do that, they show you a window with an embedded BTCPay widget that has a 15 minutes timer on it and says “Transfer this amount of BTC to this address before the timer goes off”.

I was not sure of network fees, so I went to Binance and got about 30% more BTC than they wanted me to transfer. Then I went to NNS, copied my BTC address (it appears when you click on the “Receive” button, alongside your ckBTC address) and started the withdrawal process on Binance. The withdrawal took about 1.5 hours, which is super long, but I wasn’t worried at all, because Binance has this great UX feature, when it says you the status of a transaction (how many confirmations does a block with your txn have). Also, on NNS they give you a link to a block explorer where you can also re-validate the number of confirmations on your block. Once this number reached 12, you just press the “Refresh Balances” button on your NNS UI and it shows the number of ckBTC you have.

Since the withdrawal took much longer than I expected, I had to re-start my payment process on NameCheap. They again started a timer and gave me an amount to transfer and an address to transfer to. I didn’t know how if the amount of BTC they prompt me is the amount I should transfer or the amount they expect to receive, so I just sent them all ckBTC that I have (about $20 more). It was really easy to do that - you just click on “Send” button in your NNS UI, copy & paste the address selecting “Bitcoin” network and confirm.

But then was the part that made me worry. Once I did that, my ckBTC balance turned 0. The block explorer didn’t show any new transactions (not for my NNS address nor for the address that BTCPay gave me). The timer is ticking, only a couple of minutes left, but everything looks like my funds are lost somewhere in-between. There was no indication of where exactly are they. Are they still on the IC and the ckBTC canister is still doing something with them. Are they already on Bitcoin, but on some another address. Or maybe they are fine and it is just a buggy block explorer. Moreover, the NNS UI shows you that you have an outgoing transaction, but in its “TO” field, instead of a normal Bitcoin address it shows you a principal + subaccount pair, which made me also worry that I somehow copy-pasted a wrong recipient address and sent my money to some random principal that I had in my clipboard.

So, at this point I was already prepared to consider those money lost forever, but after a minute or so BTCPay said that everything went successfully and the money appeared in my NameCheap balance. The whole transfer took 15 minutes.

By the way, since I transferred a little more just to be sure, I expected to receive a little bit more on NameCheap as well, but that was not the case. I received the same amount I was initially setting it up to. I guess, BTCPay keeps this difference to themself, which is kinda shady from the moral (and maybe legal) point of view, but whatever.

Binance -> BTC -> ckBTC -> BTC -> BTCPay -> NameCheap - this is the whole process. In total I did spend abount 2.5 - 3.0 hours to make this work with all the googling and setting things up. At the end I was able to buy a domain name I wanted.

Things I liked:

  • that this is possible;
  • that I used NNS as a Bitcoin wallet - I didn’t have to install anything special, I just used NNS to interact with the BTC network;
  • how Binance → NNS withdrawal went - despite it being a very long process, everything was transparent;

Things I didn’t like:

  • how NNS → BTCPay transfer went - this was a complete opposite to the Binance -> NNS - it was quick, but so intransparent that every second of this process was perceived like an eternity, because of the anxiety it makes you feel;
  • the whole state of this kind of tech - this is not about any IC related stuff, but just in general - one can clearly see why there is no global adoption of crypto, when you have to go through this complicated and an extremely long process to spend a couple of bucks.

This is it. Hope this post was interesting to you. Have a great day!


Thanks a lot for this feedback! Really cool that you tried it and that it worked out :).

Fully agree. This is something we’re hoping to improve in the NNS FE dapp, we’re working on multiple UX improvements. One if them is that we plan to display the status of the ckBTC → BTC transaction, so while your ckBTC would be gone, it would say something like “BTC transaction pending”, “BTC tx submitted with this txid”, or “BTC tx finalized” or so, such that it’s clear your funds aren’t lost.


Thanks for sharing, you could try to convince nameCheap to accept ckBTC, that would be much fast!:grin:


If this happened to me I’d be right there with you on the likes/dislikes. The fact that this is possible as well as being able to use NNS as a BTC wallet is so cool! At least we’re taking steps in the right direction. Like @Manu said things are being worked on so I’m sure things will smoothen out but again, this is really cool! Thanks for sharing!

1 Like