MyEtherWallet (MEW) has consistently been among the most popular client-side interfaces for interacting with the Ethereum blockchain, whether it be for your precious Ether or ERC-20 tokens. MEW recently revamped its website, features, and interface, so, it is pertinent to go through the process for sending an offline transaction on the new site.
Hardware wallets are the optimal security choice for storing your digital assets, but MEW also enables wallet generation on an offline device and sending an offline transaction without a hardware wallet. Offline transactions provide strong assurances against online attack vectors that may compromise wallet private keys, PINs, pass phrases, or mnemonic phrases. Here are the steps for sending an offline transaction using the new MyEtherWallet interface.
Sending an Offline Transaction
First, you need to have access to go to the following URL here for the MEW website. For increased security, you can run the MEW locally on your computer rather than through the Github servers via the MEW website.
MEW supports multiple wallets, including hardware wallets from Ledger and Trezor as well as third-party wallets such as MetaMask. MEW supports the following hardware wallets currently:
- Digital Bitbox
MEW also added the MEWConnect feature — a companion app for MEW that is compatible with Android and iOS devices that enables local storage of private keys on mobile devices.
Setup MyEtherWallet to Run Offline
For sending an offline transaction, you will need both a computer connected to the Internet and not connected to the Internet. The following steps will allow you to set up the appropriate configuration for conducting an offline transaction:
- Set up the local MEW by installing the latest version — here.
- Click on the current version (right now it is v5.0.9).
- Scroll down and click on the ZIP file MyEtherWallet-v(latest version) — Should be around 15 MB and the second option down.
- Download the ZIP file and move it to a portable storage device like a USB drive.
- Transfer the file from the USB drive to your offline device (i.e., computer).
- Plug in the USB drive to the offline computer and extract all of the files from the USB drive to the computer. The image from the MEW offline guide is below.
- Double-click the ‘index.html’ file which will open MEW in the browser of your offline computer. Any message saying that you are not connected to the Internet is normal and can be ignored. You will have to use an Ethereum block explorer such as etherscan.io to view your token balances for your wallet since your browser is offline.
- At this point, you are running MEW offline and are ready to send an offline transaction.
It’s not possible to directly send offline transactions from the offline, local version of MEW that is running on the offline computer, so you need to follow several steps involving the original Internet-connected computer. The purpose of this is to keep the private key of your wallet on the offline computer protected from malware, viruses, etc. that can be contracted from the online device’s Internet connection.
Generate the Transaction
So, to recap, you should have the offline MEW running on a computer not connected to the Internet and an Internet-connected computer ready to enact the following steps:
- Go to MyEtherWallet.com on the online computer.
- Scroll down to the bottom and click on the ‘Send Offline Helper’ link under ‘Discovery.’
- Select the network you are using (i.e., ETH for Ether and ERC-20 transfers) and verify the address you are sending from. The gas price and nonce will automatically be generated following the address input.
- Record the nonce down, and then export the JSON file to the USB drive.
- Connect the USB drive to the offline computer.
- Open ‘index.html’ again into your browser from the USB drive.
- Go to the MEW website home page and select ‘Access My Wallet.’ The following screen should appear.
- Access your wallet with your private key, keystore, or mnemonic phrase through the ‘Software’ tab then select ‘Send Offline’ on the left-hand side of the screen from the image below.
- Import your JSON file (scroll down for button) from the USB drive and enter the amount you would like to send in the transaction.
- You can always choose to manually input the nonce and gas as well — remember to always put in excess gas so that your transaction is not rejected by the network. Excess gas will be returned.
- Put in the address you would like to send the transaction to.
- Double-check that all of the information is accurate and press ‘Generate Transaction.’
- Download the JSON file to your USB drive, disconnect it from the offline computer, and plug it into your online computer.
Send the Transaction Online
Reminder: These next final steps occur on your online computer.
- Go to the MEW website once again.
- Scroll all the way down the page and select ‘Send Offline Helper’ below ‘Discovery.’
- Upload the new JSON file under the ‘Signed Transaction’ tab.
- Review transaction details and press ‘Send.’
- You’re finished!
A transaction hash will be shown following the completion of the process, and you can view the transaction on the Ethereum blockchain using an Ethereum block explorer such etherscan.io.
Sending offline transactions provides better assurances against potential compromising of user private keys, keystore files, or mnemonic seeds on an online computer. However, sending offline transactions is much more complicated than traditional transactions via a hardware wallet or third-party wallet like MetaMask and should be reserved for experienced cryptocurrency users who know what they are doing.
Hardware wallets often provide strong enough assurances against online tampering as long as users do not store their passphrases, private keys, etc., on an Internet-connected device. Offline transactions are the optimal method for secure transfers but should be researched and used with small amounts before conducting large transfers online.