How To


We have created the Bitcoin bridge with some pre-defined conditions set from our side to guarantee a high quality service, some of those conditions are:
  • Allow wrapping and unwrapping of bitcoin without any need of registration or storage of customers information of any type, and to do that only with on-ledger communications, and to do that the wrapping part had to be done in multiple steps mostly because Bitcoin protocol has no built-in on-ledger messages that is easy to use for normal users
  • Due to the nature of bitcoin blockchain and the delay for almost all transactions, we needed to prevent an attack vector where some malicious users might try to steal bitcoin wrapping transactions so we wanted to prevent that as well
So, although the steps you need to follow might seem much to do, but they are pretty straight forward to do if you know what you are doing and are set only to ensure quality of the service as well as service safety

To wrap bitcoins you need to follow the following steps:


Warning Make sure you have full control over both Bitcoin address you will send the bitcoins from and Radix address you will recieve the wrapped bitcoins to, do not use any exchange or any similar service to send the bitcoins from and only use your own wallet, failure to follow this condition will definitely lead to loss of the sent bitcoins and we will not be able by any means to recover them once you sent them.

  1. Send the amount you want to wrap from your bitcoin wallet to the bitcoin bridge service address bc1qwcg4xqtxul0t3er68m2wrwkk4w584496pxg8tv
  2. Find the transaction hash for your sent transaction {BitcoinTransactionHash}
  3. Identify the Radix address that you control that you will use to receive the wrapped bitcoins at {UserRadixAddress}
  4. Construct the message you will sign using your bitcoin wallet in the following format: {BitcoinTransactionHash}{Space}{UserRadixAddress}
  5. Sign the message with your bitcoin wallet with the address of the first input of the transaction which will give you the {BitcoinSignature}
  6. Construct Radix claim transaction message which is the message you will send to the wrapping address from your radix wallet to receive your wrapped bitcoins in the following format: {BitcoinTransactionHash}{Space}{BitcoinSignature}
  7. Send the claim transaction from your radix wallet from the same Radix address you used when producing bitcoin signature, that is, you need to send a small amount of any token to Radix wrapping address rdx1qspntacf3glan3lkgmkxaj395qhlf265ah2jy93892ntj0997kcpzwgtgc9j2 with the message you generated from the previous step unencrypted in the transaction message field
And That's it, all you need to do now is to wait for your bitcoin transaction to get 6 network confirmations, and your wrapped bitcoins will be sent shortly after

Example


  • Let the bitcoin transaction hash be
    3b7316bc7248211c814910e0c4813bdb9ed51900bb54c9ad8ee36dff87bb08aa
  • Let user radix address be
    rdx1qspy9gemudg76lm5569dgky0reshg6kzl2d44nsy4t8syzcmzrcq2xs4vcvhw
  • Message to sign with bitcoin wallet
    3b7316bc7248211c814910e0c4813bdb9ed51900bb54c9ad8ee36dff87bb08aa rdx1qspy9gemudg76lm5569dgky0reshg6kzl2d44nsy4t8syzcmzrcq2xs4vcvhw
  • Signature is
    H35wISftiLhGnQ25XNQgG1oQmIOo20vAaJbcdlda3fUmMCzAnJbtCOkAb6OWV7mPvdUUcAq6zA/s67zpvn2ei2c=
  • Message to send with Radix claim transaction
    3b7316bc7248211c814910e0c4813bdb9ed51900bb54c9ad8ee36dff87bb08aa H35wISftiLhGnQ25XNQgG1oQmIOo20vAaJbcdlda3fUmMCzAnJbtCOkAb6OWV7mPvdUUcAq6zA/s67zpvn2ei2c=


To unwrap bitcoins you need to do the following:


  • Thanks to our beloved Radix ecosystem, you only need to do one thing to unwrap your bitcoins, that is, just send the amount of wbtc you need to unwrap to the radix wrapping address rdx1qspntacf3glan3lkgmkxaj395qhlf265ah2jy93892ntj0997kcpzwgtgc9j2 with your bitcoin address in the message unencrypted, shortly after, the system will burn your sent amount and send the unwrapped bitcoins to your bitcoin address

Notes:


  • A fee of 0.00010000 BTC will be deducted from the amount you send in both wrap and unwrap transactions
  • If you sent multiple outputs to the the service address, the fee will be deducted from every output to fight dust transactions
  • The fee of 0.00010000 BTC is subject to change depending on Bitcoin blockchain congestion status
  • For unwrapping transactions, any decimals more than the bitcoin supported (8 decimals) will be truncated and ignored in the unwrap transaction
  • The token amount you send in wrapping claim transaction and which token is that are irrelevant and you will not get them back as it exists only to be able to send the claim message, it can even be 0.000000000000000001 ABC