Skip to main content

How to Transfer ROSE into a ParaTime

This guide will walk you through transferring ROSE tokens from an Oasis consensus layer account into a Sapphire, Emerald or Cipher ParaTime using the Oasis Wallet - Browser Extension.

About

Consensus and ParaTime layers

Each ParaTime hosts accounts in its own independent chain state, which means that ROSE held at the consensus layer is not the same as the ParaTime's token. Fortunately, you can easily swap between the two by making deposits and withdrawals. These procedures are formally described in ADR-3.

The deposit procedure will first allow the ParaTime to access a specified amount of ROSE. Then, a Deposit transaction will be executed inside the ParaTime and tokens will be transferred from your consensus layer account to the ParaTime. If that transaction succeeds, the ParaTime will update the state of your provided EVM account to reflect the deposit of tokens. Sapphire, Emerald and Cipher will give you 1 ParaTime ROSE for each consensus ROSE—although other ParaTimes may implement different rules.

The withdraw procedure executes the Withdraw transaction inside the ParaTime which transfers the ROSE on the consensus layer from the ParaTime to the provided oasis1 address. If the transaction succeeds, the ParaTime will update your EVM account state (usually by burning the tokens inside the ParaTime).

Both the Oasis Wallet Browser Extension and the Oasis Wallet Web offer a graphical user interface for performing deposits/withdrawals to/from ParaTimes. Alternatively, you can use the Oasis CLI, if you are more keen to using a command line interface or you want to automate token operations.

Managing your account with the Oasis Wallet Browser Extension

First, install the Oasis Wallet Browser extension. Next, restore your existing Oasis wallet or create a new by following the Oasis Wallet Browser Extension chapter.

Oasis Wallet Extension - chrome web store

Once done, you will see your balance on the Oasis consensus layer. Next, we will import your wallet to be used in the ParaTime.

tip

At time of writing, depositing and withdrawing ROSE to and from ParaTimes works for Oasis wallets imported from the private key or the mnemonic only. If you want to use the Ledger wallet, please use the Oasis CLI.

Importing wallet account

In the top-right corner, click your account icon to open the Account management menu.

Account Management - Importing Accounts

Click "Import" and select the:

  • "Oasis Private Key" to import your existing Oasis private key to be used by Cipher ParaTime; or
  • "Ethereum-compatible Private Key" to import your existing Ethereum Account to be used by the EVM-compatible Sapphire or Emerald.
info

We assume that you already have your public/private keypair. If you don’t have one yet, please go and create one. Store your Private Key, because you will need it in the Oasis Wallet Browser Extension.

Importing Ethereum-compatible Account with Private Key

Fill in the "Account name" that will appear later in the Account Management screen.

Imported Account Name

Next, paste your Base64-encoded Oasis or hex-encoded Ethereum private key.

caution

You will need to import the private key and not the mnemonics. You can derive a private key from the mnemonics with BIP39→BIP44 converter. For example by using the Ian Cole's tool offline.

Entering Ethereum address Private Key (BIP44)

Your newly imported account will, depending on the account type, appear under the "Oasis Account" or "Ethereum-compatible Account" sections in the Account Management screen. Check that the Oasis or Ethereum address shown at the bottom that it matches the address shown to you when you generated the keypair.

danger

In older versions of the Oasis Wallet Browser Extension there was also another bech32-encoded version of the Ethereum address shown in the Ethereum-compatible wallet. This address is used in the backend for setting the allowance policy on the Oasis network. If you can see it, you should immediately update your Wallet Extension! The bech32-encoded address of the Ethereum-compatible account must never be used for transferring ROSE to. The signature schemes are incompatible (ECDSA versus ed25519) and those tokens would not be accessible anymore!

Account Management - Accounts Overview

Depositing ROSE to a ParaTime

Now, you can transfer your ROSE to the ParaTime. Navigate to the "ParaTimes" tab. For the sake of demonstration, we'll continue with the Sapphire ParaTime, but the Emerald or Cipher ParaTimes work just as well.

Under the Sapphire label click on the "To ParaTime" button.

ParaTimes - Transfer ROSE to Sapphire

Fill in the "Amount" of ROSE that you want to transfer to Sapphire and, in our case, your Ethereum-compatible address in the "To" field you imported/created before. Then, click "Next", review and confirm the transaction.

Sending ROSE to Sapphire

If everything goes well, you will see a successful ParaTime transaction in your account history.

Account history

Verifying ROSE balance on ParaTime

If everything went well, your entered amount of ROSE was sent to the destination address on ParTime. In our case, let's verify that your ROSE safely arrived at your Sapphire Ethereum wallet.

Wallet Browser Extension

You can check the balance in the Oasis Wallet extension by opening the "Account Management" tab and selecting your destination account to which you sent ROSE. Then click on the back arrow and navigate to the "ParaTimes" tab. In the corresponding ParaTime pane, you will notice the available amount of your ROSE.

ROSE balance in Sapphire

Metamask

For EVM-compatible ParaTimes, you can as well verify the balance in Metamask or a built-in wallet in the Brave browser:

  1. Install the Metamask extension to your browser.

  2. Add the corresponding Sapphire and/or Emerald networks to Metamask. You can either click on the "Click here to register..." buttons following the links above or enter the network details manually.

    Metamask - Adding Sapphire Mainnet Network Configuration

    info

    Brave wallet network configuration requires you to enter Chain's currency decimals for ROSE: 18

  3. Import your Ethereum keypair. The balance should immediately be visible.

    Metamask - Received ROSE

Withdrawing ROSE from a ParaTime

You can withdraw your ROSE from the ParaTime back to your Oasis wallet by first selecting your ParaTime account in the Account Management screen. Next, switch to ParaTimes tab and click on the "To Consensus" button near the ParaTime entry. Fill in the "Amount" and your bech32-encoded Oasis wallet address and confirm the withdrawal. In a few moments you will have your ROSE accessible on the consensus layer.

danger

If you want to transfer ROSE to an exchange and you currently have them deposited on Sapphire, we strongly recommend that you withdraw ROSE to your Oasis wallet first and then perform a regular token transfer to your Oasis address on the exchange! The ParaTime's withdrawal procedure involves a number of steps as described in the introduction and some exchanges may not recognize this transaction as a valid transaction for funding your account on the exchange.

tip

Advanced users (e.g. those running ParaTime compute nodes may need to withdraw ROSE from ParaTimes stored in their oasis1 accounts, for example to claim their ParaTime execution rewards. Oasis Wallet Browser Extension does not support such withdrawals. Use the oasis account withdraw command which is part of the Oasis CLI instead, for example:

oasis account withdraw 10

Verifying ParaTime deposits and withdrawals

To verify and validate your transactions (deposits, withdrawals) on ParaTime you can use the official Oasis Scan block explorer. Enter your consensus bech32-encoded address and press Search. Then navigate to Transactions section and press "ParaTime" button next to consensus. You will be able to see all transactions made from both the native or Ethereum compatible address (0x) you used in Sapphire to your consensus (oasis1) address where you sent your ROSE to.

Search result of oasis1 address - Account details

Furthermore, you can click on Tx Hash of any transaction you see on the list. You will find your from native or Ethereum-compatible address, your to destination consensus address, and amount of ROSE transferred.

Tx Hash - Transaction details

info

Be aware that the Oasis Scan Blockchain Explorer is built for consensus layer. If you want to explore Sapphire (0x addresses, Token Transfers, Contract Calls, etc.), you have to use the Sapphire Blockchain Explorer.

See also