Skip to content

Send funds to RSK

Jonathan Smirnoff edited this page Apr 25, 2019 · 2 revisions

It will be explained how the processing of sending funds to RSK is by an example.

The address that sends the tx must be a P2PKH. For this example it will be: 1PHzxXQE3JGvAyhLatSRhfD45pmdQEieFB and it will send an amount of 2 BTC to the federation address. The Federation informs the transaction to the Bridge Contract, the bridge checks the input script of the tx, in this case:

ScriptSig: PUSHDATA(71)[304402204fc15a49c0e40bf215c1e840b31540d7a3f789e9746b9941bd366b1101db6d92022067354dc870f0ae79f292cab65d0365f671d1b946b01cb9af7e2b275efb6e420601] PUSHDATA(33)[0254807f16dceeb28f27aa5f58c36866bed3592fc32a047c8c9d3a97d22c4dc2e1]

With this information, it obtains the compressed public key from the second push data (0254807f16dceeb28f27aa5f58c36866bed3592fc32a047c8c9d3a97d22c4dc2e1), then it uncompresses it and uses keccack 256 to convert it to an RSK Address 06e04f6d61e10fa284c278fcdff2ae29a0efe870 and sends the amout of RBTC equal to the amount of BTC in the tx BTC following Bip44 rules, it uses different paths that results in different addresses, as the public key we use to get the RSK Address was already derived using a Bip44 derivation path.

In order to use the funds of that RSK Address, you will need the Private Key and the specific derivation path that was used for the BTC Tx.

BTC derivation path for P2PKH on mainnet uses 44’/0’/0’/0/0 changing the last digit when sending funds, and 44’/1’/0’/0/0 for testnet.

Altough RSK uses the root derivation path 44’/0’/0’ to move back and forth with BTC, when it need to move funds between 2 RSK Addresses it uses the derivation path 44’/137’/0’ following SLIP-44 standard. That’s why it needs a wallet capable of using both derivation paths.

Clone this wiki locally
You can’t perform that action at this time.