Frequently Asked Questions
This documents answers frequently asked questions about Oasis Wallets and 3rd party wallets & custody providers supporting ROSE tokens.
How can I transfer ROSE tokens from my BitPie wallet to my Oasis Wallet?
BitPie wallet doesn't use the standardized Oasis mnemonic derivation. Consequently, your Bitpie wallet's mnemonic phrase will not open the same account in the Oasis Wallet.
As of May 2023, the newer versions of BitPie wallet do not support transferring tokens on the Oasis network anymore. Previously, sending tokens from the BitPie wallet to the address generated by the Oasis wallet was the preferred migration procedure.
Thus, the only way to access your tokens stored on your BitPie wallet is to obtain the private key of your BitPie's wallet in one of the two ways:
Once you obtained the private key, you can import it to the Oasis wallet and access your assets.
How can I export Oasis private key from a working BitPie wallet?
Chinese users can follow the official BitPie support article on how to export the Oasis private key from your BitPie wallet.
If you have an existing ROSE account in your BitPie wallet, you can obtain the wallet's private key by following the steps below.
On the main BitPie wallet screen, click on the "Receive" button.
The QR code with your ROSE address will appear. Then, in the top right corner, tap on the kebab menu "⋮" and select "Display Private Key".
BitPie wallet will now ask you to enter your PIN to access the private key.
Finally, your account's private key will be shown to you encoded in Base64
which you can
import into Oasis Wallet.
How can I export Oasis private key, if BitPie doesn't show my ROSE account anymore?
If you reinstalled BitPie or restored it with a mnemonic on a new device, you may not have your ROSE account present anymore. In this case, you will have to convert your BitPie mnemonic to the Oasis private key using the Oasis unmnemonic CLI tool.
You will have to pick Bitpie algorithm, then enter the number of mnemonics (typically 12), the private key index (start with 0 and gradually increase it by 1, if the resulting account does not contain any tokens) and the output directory where the file containing the Oasis private key should be stored into. For example:
unmnemonic - Recover Oasis Network signing keys from mnemonics
? Which algorithm does your wallet use Bitpie
? How many words is your mnemonic 12
? Enter word 1 *****
? Enter word 2 ******
? Enter word 3 ******
? Enter word 4 *******
? Enter word 5 *****
? Enter word 6 *******
? Enter word 7 *******
? Enter word 8 ****
? Enter word 9 *****
? Enter word 10 ******
? Enter word 11 *****
? Enter word 12 ******
? Wallet index(es) (comma separated) 0
? Write the keys to disk Yes
? Output directory /home/user/unmnemonic/wallet-export-2023-05-01
Index: oasis1qp8d9kuduq0zutuatjsgltpugxvl38cuaq3gzkmn.private.pem - done
Done writing wallet keys to disk, goodbye.
Open the generated file, copy the Base64-encoded key wrapped with
-----BEGIN ED25519 PRIVATE KEY----- and
-----END ED25519 PRIVATE KEY-----,
and import it to the Oasis wallet.
Chromium under Ubuntu does not recognize my Ledger device. What is the problem?
First check that you added the Ledger udev device descriptors as mentioned in the Linux installation guide. Next, check that your Ledger wallet is recognized by the Oasis Core Ledger tool. You should see something like this:
$ oasis-core-ledger show_address
Ensure account address shown on device's screen matches the outputted address.
If all of the above works, then the issue is most likely that Chromium does not have the permission to access your Ledger device. Starting with Ubuntu 20.04 the Chromium browser is installed via snap package by default. Snap is more convenient for upstream developers to deploy their software and it also adds additional layer of security by using apparmor. In our case however, it prevents Chromium to access arbitrary USB devices with WebUSB API including your Ledger device. A workaround for this issue is to install Chromium natively using the official Chormium beta PPA or the official Google Chrome .deb package.
Are Ethereum and Oasis wallets that different? I can use the same mnemonics with both, right?
Yes, both Oasis and Ethereum wallets make use of the mnemonics as defined in BIP39 and they even use the same wordlist to derive the keypairs for your wallet. However, they use a different signature scheme and a derivation path, so the addresses and the private keys are incompatible.
Here's a task for you:
- Visit https://iancoleman.io/bip39/ to generate a BIP39 mnemonic.
- Select ETH token and copy the hex-encoded private key of the first derived account, for example
- Import the Ethereum-compatible account with the private key obtained above to your Oasis Wallet Browser Extension.
- Notice the Ethereum address of the account, for example
- Now in the Account management screen, select this account and click on the "Export private key" button. Confirm the risk warning.
- You will notice the private key of the Ethereum-compatible account, the hex-encoded address and the very same address encoded in the Oasis Bech32 format, in our case
- Now let's use the private key from step 2 to import the Oasis wallet with. First, convert the hex-encoded key to base64 format, for example by using this service. In our example, that would be
- Next, import this base64-encoded private key to the Oasis Wallet Browser Extension.
- You should see your newly imported account and the Oasis address. In our case
- Observe that this account address is different than the Bech32-encoded version of the Ethereum-compatible address despite using the same private key to import the wallet with, because of a different signature scheme.
As an additional exercise, you can also create an Oasis wallet using the BIP39 mnemonic from the step 1 above. You will notice that the imported account's base64-encoded private key in the account details screen is different from the one in step 7 above. That's because Oasis uses a different derivation path than Ethereum.
Which derivation path should I use on Ledger? ADR 0008 or Legacy?
To convert your mnemonic phrase into a private key for signing trasactions, each wallet (hardware or software) performs a key derivation. The Oasis Protocol Foundation standardized the key derivation for official Oasis wallets in a document called ADR 0008 back in January 2021. However, the Ledger hardware wallet already supported signing transactions at that time using a custom (we now call it legacy) derivation path which is incompatible with the one defined in ADR 0008. Later, in Oasis app for Ledger v2.3.1 support for ADR 0008 was added so the wallet can request either derivation from the Ledger device.
The key derivation path defined in ADR 0008 has the following advantages compared to the legacy one:
- Derivation path is shorter which results in approximately twice as fast key derivation (and transaction signing) without compromising security.
- In case your Ledger device is broken or lost and you are unable to retrieve a new one, you will be able to import your Ledger mnemonic and restore your private key in any Oasis wallet which implements ADR 0008.
For reasons above, we recommend the usage of ADR 0008. However, since there are no security considerations at stake, Oasis wallets will support legacy derivation on Ledger for the foreseeable future.
If you happen to import your Ledger mnemonic to a software wallet, consider that mnemonic potentially exposed/compromised, i.e. not appropriate for a hardware wallet mnemonic anymore. If you use a new hardware wallet in the future, never restore it from the mnemonic that was previously used by any software wallet!
The wallet gives me Invalid keyphrase error when importing my wallet from mnemonics. How do I solve it?
Please check that:
- All mnemonics were spelled correctly. Oasis Wallets use English mnemonic phrase words as defined in BIP39. You can find a complete list of valid phrase words here.
- The mnemonics were input in correct order.
- All mnemonics were provided. The keyphrase should be either 12, 15, 18, 21, or 24 words long.
If you checked all of the above and the keyphrase still cannot be imported, please contact Oasis support.
I imported my wallet with mnemonics. The wallet should contain funds, but the balance is empty. What can I do?
First, check your wallet address. If the address equals the one that you expected your funds on, then the key derivation from mnemonics worked correctly. Make sure you have a working internet connection so that the wallet can fetch the latest balance. Then check that the correct network (Mainnet or Testnet) is selected. These are completely separated networks and although the wallet address can be the same, the transactions and consequently the balances may differ. Finally, there might be a temporary problem with the Oasis Monitor service itself which observes the network and indexes transactions. Oasis Wallets rely on that service and once it is back up and running, you should be able to see the correct balance.
If your wallet address is different than the one you used to transfer your funds to, then you used one of the wallets that don't implement the [standardized key derivation path][adr-8]. If you were using the BitPie wallet see this question. Ledger hardware wallet users should refer to this question.
If you still cannot access your funds, please contact Oasis support on #wallets Discord channel.
I sent my ROSE to BinanceStaking address. Are they staked? Are they lost? What can I do?
If you just make a Send transaction to BinanceStaking address
oasis1qqekv2ymgzmd8j2s2u7g0hhc7e77e654kvwqtjwm then your ROSE coins are not staked. They are now owned by BinanceStaking, which means they are not lost but only owned and managed by them. In this case, you should contact Binance via their Support Center or Submit a request.
Sending ROSE is different than staking it! With the staking transaction you lend your ROSE to the chosen validator and you are rewarded for that. Sending your ROSE to the receiving address you enter means that only the person who owns the private key (e.g. mnemonics) of that receiving address can manage these tokens and no one else. To learn more, read the Staking and Delegating chapter.
I withdrew ROSE from Emerald to an exchange (Binance, KuCoin), but my deposit is not there. What should I do?
Withdrawals from Emerald are slightly different from regular
staking.Transfer transactions used to send ROSE on the consensus layer. If you withdrew your ROSE directly to an exchange and you were not funded there, contact the exchange support and provide them the link to your account on the Oasis Scan where they can verify all transactions. To learn more about this issue, read the How to Transfer ROSE to ParaTime section.