Matt Falkenhagen

Moving Ethereum from an exchange to a wallet

Posted on January 5, 2023

Introduction

Much like the previous post about Bitcoin, I had a very small amount of Ethereum on an exchange which I wanted to move to a personal wallet. My use case is just to keep the wallet in cold storage and not touch it for a while.

WARNING: I do not know what I am doing. These are my personal notes. It is not professional advice. Use of this information is at your own risk. You are responsible for what you do with your cryptocurrencies.

Choosing a wallet

My original plan was to use the equivalent of Bitcoin Core for Ethereum, but the Bitcoin migration turned out more involved than expected, and I was tired. I decided to prioritize convenience this time.

It looks like Ethereum wallets are just private/public keys and anyone can mint them. I chose the MetaMask Chrome extension which looks well-trusted and didn’t require installing additional software.

Unfortunately on install it requested access to all my data on all websites, which seemed like too much. I made a new Chrome profile and installed the extension there.

Setting up the wallet

A MetaMask wallet involves at least three secrets: password, secret recovery phrase (SRP), and private key. This guide explains the differences.

As I understand it, the SRP on its own can be used to recover an entire MetaMask wallet, while a private key on its own can be used to recover an Ethereum wallet (i.e., should MetaMask die in the meantime, having the private key would still let me recover ETH using separate software).

The password is the least important. It’s only used when opening the extension, and I suppose deleting and reinstalling the extension nullifies the password.

The wallet creation process was straightforward. When the SRP is generated, copy that to cold storage.

After using the extension for a bit, it felt trustworthy and I probably didn’t need to go through the rigmarole of a new profile.

Send funds

Copy the public address from MetaMask to the exchange, and send. This was fast compared to Bitcoin!

Recover wallet

Now let’s obliterate the profile and extension, and see if we can get these ETH back.

While I’m at it, also backup the private key to cold storage.

I then made a new profile with the extension, input the SRP, and it works fine.

Recover funds

Let’s see that we can transfer back to the exchange.

One surprise is when copying the exchange deposit address to MetaMask, it changes some letters from lower to uppercase. Apparently Ethereum addresses are case insensitive though.

Send all the funds

Now move all the funds from the exchange to the wallet, remove the extension, and we’re done.

Thank you for reading! For feedback, you can email me at (my last name) at gmail.com.

Return to home.