In the previous article, we explored how the PowPeg works, and what to expect when using it to move your Bitcoin in and out of Rootstock.
Here, we continue to explore how the PowPeg App works from a user perspective in a step-by-step guide including:
- Connecting your wallet
- Having sufficient funds of BTC
- Performing a peg in (BTC to rBTC)
- Choosing a mode (Native vs. Fast)
- Performing a peg out (rBTC to BTC)
Let’s get started:
What you’ll need
- Leather Software Wallet (BTC)
- MetaMask Wallet (rBTC): See available wallets on Rootstock.
- Funds in BTC: To use the PowPeg App, you would need a minimum of 0.05 BTC for peg ins, and 0.04 rBTC for peg outs.
Step-by-step guide
Visit the PowPeg App website, acknowledge and accept the terms and conditions by checking the box.
1. Connecting Your Hardware or Software Wallet
The PowPeg App currently supports both hardware and software wallets. To perform a peg in (i.e. convert BTC to rBTC), you need to connect to a wallet that has BTC of at least 0.005 BTC.
Once your preferred wallet is installed. Visit the extensions section to access the wallet in your browser. It should look like this:
Create a new wallet, and ensure to save the private key in a secure location. Once the Ledger wallet is created, head back to the PowPeg App and refresh the browser. Continue by clicking the BTC-rBTC, you should see a popup, click to confirm the connection.
For a full list of connection options, see the guide on how to perform a peg-in using Leather Software Wallet.
2. Funding Your Wallet
To use the PowPeg App, you would need a minimum of 0.05 BTC for peg ins, and 0.04 rBTC for peg outs. To get the BTC deposit address, copy the address at the top of the screen and fund the wallet with BTC.
3. Performing a Peg In (BTC-rBTC)
Step 1: Send BTC to a PowPeg deposit address on Bitcoin
The PowPeg deposit address refers to the destination address on the Rootstock network; this address can be used to receive rBTC.
Enter the amount of BTC in the amount to send
Ensure to have a min 0.05 BTC to convert to rBTC. You can find the BTC address to deposit BTC by clicking on the copy icon at the top of the screen.
If balance of BTC in the wallet is below the minimum amount, you will see the following message:
The minimum amount to send to perform a peg in operation is 0.005 BTC, any amount less than this throws an error message: “You cannot send that amount of BTC, you can only send a minimum of 0.005 BTC”.
Step 2: Enter a destination address compatible with the Rootstock network:
To get the destination address, click connect wallet to connect a web wallet. E.g., Metamask. Here, the address is automatically filled in by the account that is connected to your metamask wallet. Note: you can also input a custom Rootstock address, different from the connected address.
Note that the amount sent in BTC is the same amount to be received in rBTC on the Rootstock network.
Step 3: Select Transaction Fee
You can select the fee that will be used for this transaction, this is set on default to average.
4. Choose a mode
In this section, we will see 2 options, Fast Mode and Native Mode:
Fast Mode uses Flyover Protocol to search for quotes. It is faster than Native Mode, and is available through a Liquidity Provider, which in turn charges a fee for the service, called a provider fee. Native Mode uses PowPeg Protocol that is a decentralized, permissionless and uncensorable protocol created by RootstockLabs, generally slower than Fast mode and the user needs to pay only the network fees.
To use Fast Mode:
- Choose Fast Mode, using Fast Mode, the wait time is significantly reduced to ~20 minutes. Note that it takes a minimum of 2 bitcoin blocks (~20mins for under 1 BTC) and 3 bitcoin blocks for higher amounts. It’s configurable by the Liquidity Provider.
- Click Continue to Summary
- Review the details in your ledger wallet and click confirm your wallet
- Once confirmed, the peg-in process begins.
- You can view the transaction in the explorer using the transaction ID or click see transaction to view successful peg in transaction.
Note: The process is managed by the PowPeg protocol, no single party has access to the funds, and it requires hardware security modules (PowHSMs) to co-sign peg-out transactions.
To use Native Mode
If you want to use the native mode in the PowPeg App:
- You’ll need to wait for 100 Bitcoin block confirmations.
- This is a security measure to ensure finality and prevent reorg attacks.
- This takes about 16 hours.
However, if you choose the Fast Mode, the timing will be significantly reduced to ~20 minutes.
5. Receive rBTC on Rootstock
- Once confirmed, you receive an equal amount of rBTC in your Rootstock destination address, in this case, the MetaMask wallet.
- You can now use rBTC in DeFi apps, pay for gas, and interact with smart contracts.
6. Performing a peg out (rBTC to BTC)
If you want to peg-out (convert rBTC back to BTC):
- Visit the PowPeg App and connect your Rootstock wallet
- Initiate a peg-out transaction by clicking confirm from your Rootstock wallet.
- Enter amount to send
- Note: Min amount to send is 0.04 rBTC
- The minimum amount to send to perform a peg out operation is 0.004 rBTC, any amount less than this throws an error message: “You cannot send that amount of BTC, you can only send a minimum of 0.005 BTC”.
- The maximum amount to send to perform a peg out or peg out operation is 10 rBTC / BTC, any amount greater than this throws an error message: “The maximum accepted value is 10”.
- Choose the Fast mode option
- Copy and paste tBTC wallet address from Leather Wallet into the Destination Bitcoin Address and send transaction
- Confirm transaction in Rootstock wallet
- Once a transaction is successfully processed, the system sends your BTC to your designated Bitcoin address.
Note: If using FAST mode for Peg outs, time is significantly reduced to 5mins while using Native mode takes approximately 34 hours, depending on network conditions and peg security checks.
That’s all when it comes to moving your BTC in and out of Rootstock.
Important note: Make sure to check the most up-to-date documents about the PowPeg usage before initiating a transaction.