Update: I have completed the verification with QuadrigaCS and here is how I did it. I have also updated this post in the parts about the verification and withdrawals. As…
My Ethereum Wallet Not Showing Balance: How I Restored Lost Funds
As I mentioned in my January 2018 income report, I discovered that my Eethereum wallet not showing balance it was supposed to show. In the other words, all my ethers were gone from my Jaxx wallet and I was left with zero ethers.
It was not the first time I saw that happening; Sam already had the same problem with his wallet in a few months before. However, it was the first time it happened with me.
The discovery was very sudden. Only in December, I checked my balance and it was correct. What the heck happened?! After seeing the zeros, for a long moment, I truly believed that someone stole my Ethereum… it was a chilling feeling 😱😱😱
Pas de panique (don’t panic)
Meanwhile, Sam did not lose his cool. He looked at my wallet and confirmed it might be similar to his past problem. He opened his wallet and saw the same symptoms. “This is a glitch,” he said again.
To confirm his feeling, we looked at the metadata of the last transaction that seemed to wipe out all the balance from the wallet.
The funds were placed in some address and no other transactions were made from it. If it was an address that belonged to hackers, it would be highly unlikely that they would just leave the money there without transferring them further, for example, to an exchange platform for selling.
A side note: You think that using crypto-currency is totally anonymous… and it’s true when it comes to knowing who owns a particular address. However, if you want to know what transactions were made from a known address, all the info is totally public. For Ethereum transactions, you can look it up on etherscan.io.
Meanwhile, we started thinking how to fix the glitch.
After unsuccessfully trying out a Chrome plugin for Jaxx Wallet (this was what helped Sam last time to “restore” his balance), I started combing through the FAQ page by Decentral, the company that implemented Jaxx Wallet. I also filed a support ticket – maybe, they can help us? “This is quite unlikely,” Sam said. He had some rough understanding how the blockchain works and felt that the support guys would be useless.
It looked like we needed to manipulate our wallets in a particular way that would involve using the private key phrase. And we, of course, could not share the phrase with anyone left alone sending it by email. It’s like leaving an open bag full of cash in the middle of a busy street and coming back for it the next day.
Fast forward, the FAQ page was our starting point in a journey to a successful recovery of funds. It turned out to be a true detective story! 🕵️♀️🕵️♂️
Here, I will provide with the full explanation and the steps I did to get the balance back.
Why the funds disappeared
First, let’s see why the funds disappeared from my Jaxx wallet.
TLDR; the funds did not go anywhere from my wallet – the wallet just stopped showing them correctly. If you already have an idea of why it happened or just want to skip the boring explanation and follow the steps to restore your own balance, jump to the next section 🔖
If you are curious to know exactly what happened, keep reading
What caused my funds to disappear was, in fact, two independent events plus my low activity in my Ethereum wallet. But before I talk about the events, let’s dive into the world of blockchain transactions and addresses.
Blockchain transactions and addresses
You may already know that the blockchain technology allows you to generate an infinite # of addresses from your secret phrase. Every time you make a transaction in a blockchain, you can choose to use a new address to hold your funds to increase the anonymity of your transactions. Why would you want to do that?
Well, as I already mentioned, the blockchain transactions are public and you can see their data including From and To addresses using the tools blockchains provide. For example, you can look up Bitcoin transactions here: blockchain.info and the Ethereum ones here: etherscan.io.
Once you make a transaction between your address and someone’s else 👩➡👨 , that person 👨 will know your address and can easily see all other transactions you made from it.
Each wallet makes their own decision about whether to use new addresses for each transaction. Originally, Decentral decided to follow this path in their Jaxx Wallet for all the coins they support including Ethereum.
Ok, now we know why your crypto wallet may have multiple addresses. Let’s see what events caused my funds to get “lost”.
When a fork happens, your funds appear on the same address in both new (Chain #1) and old (Chain #2) chains. This means that when you do a transaction on Chain #1, it opens up a security hole that would allow accessing your funds in Chain #2. The receiving end of the original transaction on Chain #1 would get a permission to make a similar transaction in Chain #2 and take out the money they are not authorized to take.
For example, instead of paying 10 ETH for your car 🏎, you could end up with paying 10 ETH and 10 ETC. Clearly, this is not the desired outcome.
In order to avoid that, Decentral updated Jaxx Wallet to perform the split (fork) transaction.
At that point, Jaxx Wallet was still creating new addresses for each transaction.
So, after the fork transaction passed through, my funds were transferred to a new address. The funds were still displayed correctly because the way how Jaxx Wallet was showing them (summing up the balances of all the addresses) matched the way how the funds were allocated (between multiple addresses including the original one and the one where the funds went after the Ethereum split).
No more new addresses in Jaxx Wallet
Then, the event #2 occurred: For Ethereum, Jaxx Wallet changed the way how it performs the transactions. The reason was that Ethereum works slightly different from the rest of the crypto coins due to their smart contracts.
Now, for Ethereum, Jaxx Wallet no longer creates new addresses for every transaction; instead, it always uses the original address.
This caused Jaxx Wallet to change the way how they display the available funds. Rather than going through all the addresses and summing up the balances, Jaxx Wallet started showing the balance of the original address only.
In order to roll out the change, Decentral launched an update in their Jaxx Wallet software.
The update was moving all the funds from all the Ethereum addresses to the original one as well as changing the algorithm that calculates the available funds. All sounds good, right… apart from the fact that apparently, the time period when the update was active was finite and my wallet missed it. I did not open my wallet often enough so I missed the update and it did do its job of moving my funds to the proper address.
As the result, the funds “disappeared” because they were left on the address that was used by the fork transaction instead of being moved to the original address which is the only address my wallet is working with now.
How to restore balance in Ethereum wallet: Full guide
In order to make my funds “re-appear”, I had to do the steps below in order to move the funds from all the available addresses to the original one that is used by Jaxx Wallet.
So, let’s start!
Prepare data in advance
We need to get the metadata of the last transaction that your wallet shows. This step will provide you with the info you will need later if you choose to follow the safer (but harder) way to recover the funds.
- In the Jaxx wallet, each transaction has a link to a page on etherscan.io with the transaction details
- The transaction that screwed your balance is most likely the last one.
I had very few transactions (3) and it was clear which one was the culprit
- Click on the transaction link to open the page with the metadata.
In my case, the funds were sent to Fork program that did the split between ETH and ETC:
- Keep the page open – you may need it in the future when you won’t have the internet available
Find all the addresses for your secret phrase
In order to see all the addresses that can be or were generated from your private key phrase, you can use a website called MyEtherWallet.com.
Important: For recovering the funds, you will need to type in your secret phrase into an interface that is not your wallet. Use double caution to make sure you do not type it in a phishing website
In order to avoid a possible phishing attack, use a local version of MyEtherWallet.com:
- Download the zip file from https://myetherwallet.github.io/knowledge-base/offline/running-myetherwallet-locally.html ( etherwallet-v22.214.171.124.zip)
- Open index.html from the unzipped folder
- Find Jaxx / imToken Use your Mnemonic Phrase to access your account and click on Mnemonic Phrase
- Choose Mnemonic Phrase
- Now, turn off the internet
- Type your phrase into Mnemonic Phrase field
- Do not type anything in Password field; it is not there to protect your session
This field serves as an addition to the phrase and it will change the meaning of the phrase if not empty
- Click Unlock
- In the section Select HD derivation path, choose the one for Jaxx
Find the addresses with money
Now, we need to figure out which addresses have the money. There are two ways to do it: A hard but safe one and an easy but less safe one.
I followed the hard way and Sam chose the easy one. I will show you the both.
It is safer since there is no internet required on the device where you typed your secret phrase.
- Go back to the page on etherscan.io you opened it in the very first steps of this guide
- On the bottom of that page, check Input Data field (it’s marked in grey)
- Go back to MyEthereumWallet
- Find this address in the address tree; in my case, it was the account #2.
- Select it
This way is less safe because it requires an internet connection and may potentially result in leaking your secret phrase.
- Turn on the internet
- Refresh the page with the address list
- Go through the list
- See which one has money
- Select it
Restoring the balance
Once you find the address that holds your funds, it’s the time to do The Transaction that will restore your balance!
Doing the setup and testing it
At this point, you should have already selected the address that holds your funds. Now it’s time to complete the transaction setup.
After you are done with the setup, I advise to test it by sending a small amount that you are not afraid to lose
Here are the setup steps:
- Make sure the proper address is selected
- Click Unlock Your Wallet
- It will give you Send Ether & Tokens form
In To Address field, type the address that is attached to your Jaxx wallet.
Make sure u choose the address for the right currency! It must be ETH and not ETC or anything else
- Double-triple-forth check that you are typing in the correct address! Otherwise, you will lose all your money
Pro Tip #1: if you have Jaxx Wallet plugin on your computer, copy-paste the address from it.
Pro Tip #2: Once you copied the address, go to the transaction page and paste it into the browser search field to make sure the browser finds it on the page
- My advice is to do the first transaction with the minimum allowed amount. Once you receive it in your wallet, you can be sure that your setup is correct. I used 0.01ETH to test my setup
- After copy-pasting your destination address, you may get a warning on the bottom – ignore it. The warning is related to the Jaxx Wallet representation of addresses (they forwent capitalization); to know more, read this explanation
- If you want to save on mining fees, pay attention to Gwei (here’s more info)
For sending my ETH, I used 1 Gwei because that day, the gas price was cheap; turned out the speed was good, too – my transaction took less than 1 min to pass.
- Now it’s the time to turn on the internet if you have not done it yet.
- Click on Send
- Keep the page open for later to perform steps if you need to send the rest of your balance
- You will have 2 more chances to double check everything; here’s the last step (u can verify To address vis search)
- You can verify your money arrived either checking your Jaxx wallet or through the confirmation link on the bottom of the window:You can also click on Check TX Status button and it will give this page:
Congratulations, you started restoring your balance!
Now, do it for the rest of your funds:
- Go to the tab with Send Ether & Tokens form:
- Your Jaxx wallet account should be already in To field (double check through search)
- Click on Send Entire Balance – it will populate the field with the full balance
- Generate the transaction
- Wait for the confirmation
Ta-da! You have just restored your Ethereum balance!
What I learned from restoring balance in my Ethereum wallet
The main lesson I learned is to not panic if something looks wrong with my wallet! Instead, the proper way to handle it is to do a research and try to understand what happened.
The second lesson is that blockchain forks may need more work than the wallet can do for you. Pay more attention to forks happening in your cryptocurrency.
And the last but not least is that owning cryptocurrency requires some knowledge about cryptocurrency! If something goes south, there will be probably nobody who could just go into your wallet and fix it. Unless you have some crypto savvy [boy]friends who know more than you and whom you can trust. Otherwise… you are on your own.
I hope you guys liked my post about my adventures with Jaxx Wallet and cryptocurrency. I also hope that my guide about how to restore funds in Ethereum wallet was useful for some of you (though I wish no one would have to go through this hehehe).
Let me know what you think in the comments! Also, do not hesitate to share the post on social media 😉