Nifty Wallet Ver. 5.1.0 Adoption

MoneyOnChain
MoneyOnChain
Published in
3 min readMay 17, 2020

Object

The objective of this document is to facilitate the adoption of the Nifty Wallet, explaining the consequences of the successive changes in the derivation path adopted in the latest updates and how to mitigate them.

Migration Procedure

After installing the 5.1.0 Nifty update, a red sign will appear announcing that if you are ready to migrate, you must proceed to restore the wallet with the seeds. This is somewhat ambiguous since being ready is not defined.

If you are not using a hardware wallet, the first thing to do is install a Metamask wallet and restore it with the same seeds as Nifty’s.

Once this is done, it must be verified that the same accounts are available as in Nifty with the same balances. We can be calm now.

Then Nifty can be restored again with the same seeds.

Here we will see that the accounts that Nifty offers are different from the ones it offered before (which are the ones we see in Metamask now), because it is using the RSK derivation path (m / 44 ‘137’ / 0 ‘/ 0) instead from the Ethereum (m / 44 ‘60’ / 0 ‘/ 0) that It used before.

To solve this there are two possible ways.

  1. Transfer balances to new Nifty accounts from Metamask.
  2. Use Nifty with a custom RPC by putting in it a public RSK node (https://public-node.rsk.co), since this way Nifty uses the Ethereum derivation path instead of the RSK one.

If a hardware wallet was being used, no changes should be noted when restoring Nifty with the seeds since there is no change in the derivation bypass.

If Metamask was being used with a hardware wallet the only way to use Nifty is to transfer the funds, since there is no way to make Nifty work with the Ethereum derivation path using a hardware wallet.

About Checksum

Account addresses are hexadecimal numbers, which use lowercase letters a, b, c, d, e and f.The alternation of lowercase and capital letters in the accounts is a way to verify that the account is correct for a given network. The way of doing the checksum in Ethereum is different than in RSK, therefore an address taken from Metamask will not work in RSK and vice versa. This should be taken into account when making transfers between those two wallets.

The solution is simple, the address must be passed by an application such as https://convertcase.net/es/ to pass all letters to lowercase and this will work in all wallets.

It can also be taken from the addresses offered in the wallets to make transfers between own accounts since it offers them in lower case.

❗It should be noted that when using lowercase accounts, the checksum is not being verified, which makes it vulnerable to typing errors.

❗Make sure it is the correct account.

About Accounts Names

Both Metamask and Nifty automatically name the accounts that are created, Account 1, Account 2, etc. The numbering criterion is different after the updates in Nifty, the name may differ from what is expected. It is recommended after verifying that it is the correct account, renaming it with the name editing tool.

MyCrypto

You can also recover the balance of an account using MyCrypto as can be seen in the synoptic table.

❗To date Ledger cannot connect to RSK network using Ethereum derivation path.

Synoptic Table

Below is a table with the accounts derived in different wallets, always using the same seed to generate them.

More information: https://t.me/MoneyOnChainCommunity

Written by: Alejandro Bokser

--

--