EF Blog

ETH top background starting image
ETH bottom background ending image
Skip to content

Ether Purchase Troubleshooting

Posted by Vitalik Buterin on July 23, 2014

Ether Purchase Troubleshooting

Although we hope that the ether purchasing experience goes smoothly for everyone, we recognize that there will always be situations where things do not quite go as planned. Perhaps your internet connection dies in the middle of your purchase. Perhaps you accidentally click a back button or some link or simply hit refresh while the purchase is in progress. Perhaps you forgot to download your wallet. Perhaps you think you may have forgotten your password, and you want to make sure you have it down correctly. For all of these situations, the user experience is unfortunately going to be a bit more tricky than simply downloading a web app; a bit of command line action with a Python script will be required.

First of all, let's go over downloading the Python script. To get the script installed, download the zip archive from here, and unpack it. Then, navigate to the directory, and you should see a number of files, including pyethsaletool.py. At this point, open up a command line in this directory. Run python pyethsaletool.py, and you should see a list of help instructions.

Now, let's go over the most common potential issues one by one.

1) I forgot to download my wallet before closing the browser tab.

You should receive a backup of your wallet in your email. If you entered a fake email address, and at the same time forgot to download your wallet, then unfortunately you have no recourse.

2) I want to make sure that my ether was actually purchased.

Run python pyethsaletool.py list -w /path/to/your/wallet.json, substituting the path with the path where you downloaded your wallet to. You should see a record of your purchase. If not, then run python pyethsaletool.py getbtcaddress -w /path/to/your/wallet.json and look up the address on blockchain.info. If there is a nonzero balance, you are in situation #4.

3) I want to make sure that I remember my password.

Run python pyethsaletool.py getbtcprivkey -w /path/to/your/wallet.json, substituting the path. When it prompts you for the password enter it, and see whether you get an error. If you get an error to do with PKCS7 padding, you entered the wrong password; if you get a BTC private key out (ie. a sequence of 51 characters starting with a 5), then you're fine.

4) I sent my BTC into the intermediate address, but it never made it to the exodus.

Run python pyethsaletool.py getbtcprivkey -w /path/to/your/wallet.json, substituting the path appropriately. Then, import this private key into the blockchain.info wallet or Kryptokit. Alternatively, you may also run python pyethsaletool.py finalize -w /path/to/your/wallet.json to finish the purchasing process through Python.

5) I want to make sure I will be able to access my ether later.

Run python pyethsaletool.py getethprivkey -w /path/to/your/wallet.json, substituting the path. Then, download pyethereum, install it, and use pyethtool privtoaddr c85ef7d79691fe79573b1a7064c19c1a9819ebdbd1faaab1a8ec92344438aaf4, substituting in the Ethereum privkey that you got from the first step. If the address that you get matches the address that you saw when you were purchasing ether, then you know that you have your Ethereum private key.

6) I sent more BTC into the intermediate address after the web app finalized.

This situation is identical to #4. You can recover the BTC or finalize it at your leisure.

If you have any other issues, please ask them in the comments and they will be added to this article.

Subscribe to Protocol Announcements

Sign up to receive email notifications for protocol-related announcements, such as network upgrades, FAQs or security issues. You can opt-out of these at any time.