⚙️ A simple guide of how to use tBTC dApp by Keep Network ⛓ 💻
Well, you already know what is Keep Network and their first "killing dApp" built on top of this protocol. You also could notice that the tBTC dApp is accompanied by a lot of hype and rumors, it is due to the long-awaited official release of the dApp. It went through a lot of community testings, code audits by the the well-known auditors like Sergi Delgado Segura, The ConsenSys Diligence and Trail of Bits. And it still expecting to be frequently and regularly audited by other organizations and individuals.
But finally the official release is here! It happens today, right now! You can read about this on the official Keep Network blog here.
You also should know that tBTC isn't a synthetic mechanism asset, it is a Bitcoin supply peg ERC20 token, not just a price peg. Every BTC holder can mint tBTC and redeem back exactly the same amount of his BTC, because 1 tBTC will always be equal to 1 BTC.
tBTC minting and redemption processes are completely decentralized ones because it is noncustodial and as it is a sidechain it uses signers to create Bitcoin PKH address for the depositor and also a threshold ECDSA as a Bitcoin multisig replacement. The signers are anonymous parties that are running network nodes and putting their own ETH as a collateral at the ratio 150% to the depositor's BTC. This ratio may be reduced to 135% or even 40% in the future, the team is learning mechanisms to do this.
So let's go to the dApp page and go through the whole process...
The first what we need to do is to install Metamask if you haven't done it yet, you can do it from the official website: metamask.io or get it from the browser webstore if you're using a supported one.
We will test the dApp in the Ropsten Ethereum test network, so you need to switch it in your Metamask extension.
Another one thing that we need is Ropsten ETH coins to cover the transaction fees. You can get 5 ETHs at once from this faucet: faucet.dimensions.network, which will be completely enough for the test. If the faucet doesn't work refer to this list of Ropsten ETH faucets on GitHub: here. Also, if you don't have a testnet Bitcoin you can obtain 0.01 per hour from this faucet: testnet-faucet.mempool.co. After we have Metamask switched to the Ropsten test network, testnet BTC and ETH on our accounts we can go to the dApp test page: dapp.test.tbtc.network and begin the depositing process.
Then press the "Deposit" button.
And connect your Metamask extension clicking the "Connect to a Wallet" button at the upper left.
And we are good to go further. Chose the BTC lot size and press "Create address" button. In my case I will deposit 1 BTC.
Signing the transaction in our Metamask.
The deposit initiating process has started, and we will start fetching the deposit address from the group of signers after the transaction confirmed in Ropsten ETH network.
Signing an interaction with the contract in our Metamask once again and getting the generated deposit address after it confirmed.
Pay your attention that we need to deposit exactly the lot size amount of BTC or we can lose our funds.
After I get an address I'm going to send my testnet BTC to it, so I'm moving to my BTC wallet where it is stored. I'm using block.io to store testnet BTC, but you can use one you prefer.
Switching to dApp page and copying the address by clicking the "Copy" button.
Sending testnet BTC from my wallet.
And waiting for the transaction confirmation in the test BTC network.
During the test it required only 1 block confirmation, but on mainnet it will require more confirmations, it is completely normal from the network security side, so don't worry if you need to wait a bit longer.
Another one interaction signing to submit some proofs to the sidechain.
Allowing dApp to spend our TDT and we have confirmation of the receiving our BTC.
We also can see that our test BTC transaction is confirmed via the block explorer.
And I finally have the dApp confirmation that I'm now a proud owner of 0.9995 tBTC. Why not whole 1 tBTC? It is because the 0.0005 is the fee given to the signers. Also, don't forget to save your TDT ID, it will be needed to redeem your BTC back if want. But, if you didn't manage to save it don't worry, there are several ways to get it from the blockchain.
So, now I have tBTC on my Metamask account which entirely is an ETH network supported wallet, and this means I just used a tBTC dApp as a trustless bridge between BTC and ETH chains, and this is really awesome.
I also can check the transaction in etherscan. And if you want to get your TDT ID from etherscan you will see it in the same place like on the pic below, just remember this.
OK, that's it, now I have tBTC and can easily access Ethereum DeFi apps and earn from it. But, let's imagine I need my BTC back, how to get it?
Of course if not consider the way when I can go to an exchange where tBTC is listed and simply sell it there, the only way to do this is to use "Redeem" function in the same tBTC dApp. And I'm going to show you how to do this further here.
So, go again to the dapp.test.tbtc.network and now click the "Redeem" button.
Dont forget to connect you connect you wallet again.
After this I'm filling the needed data, my TDT ID and BTC address for getting my BTC back onto it. Adn hitting the "Redeem" button.
After this I need to allow the dApp to spend my precious tBTC by signing a transaction in my Metamask app.
And wait till it confirms.
Signing an interaction again and waiting for the signing group that stores my BTC to create the transaction to me.
Signing once again and waiting a transaction from the dApp which was sent by the signing group praticipants of which were storing my deposited BTC from the very beginning. Each of them was storing only a part of the wallet key, so no one could get access to my BTC on his own.
And I already see a pending incoming transaction in my BTC wallet, so I assume that everything goings well.
And I'm finally getting a dApp confirmation and the redemption completing notification.
Aaaand that's all, everything went smoothly and I'm now a proud owner of my BTC again.
As you can see we just went through the whole minting/redeeming cycle and successfully obtained tBTC token and returned it back throught the tBTC smart-contract which is one of the ones that are hidden below this cute and convenient user interface of the decengralized application. This is how the dApps in the Ethereum network operating, and the tBTC dApp is a great instance to start learning about ETH DeFi ecosystem and get a passive income across it.
Don't forget to check the official links and join the Discord channel, a lot of cool things happening there.
Keep Network website, tBTC website, tBTC dApp, tBTC Yellow Paper, Keep Network GitHub, Messari transparency page, Keep Blog, Staking documentation, tBTC mainnet contract on Etherscan, KEEP on CoinGecko, Twitter, Telegram, Reddit, Discord.
And as always, if you have any questions or suggestions I always love to help you, just contact me via the Discord app, my username is: alterkahn#1033
Update: 5 and 10 BTC deposit lots are added to tBTC dApp on mainnet! Go and try it by the link below:
dapp.tbtc.network