Upgrading electrum on tails to 3.3.4

February 26, 2019 at 7:52 am | Posted in Uncategorized | 47 Comments

I see a lot of requests on reddit asking how to install the new version of electrum on tails. So I thought I would create a blog post showing people how to do it. There’s a lot of things you have to type so you might want to copy and paste this into a text file and load it on a USB, so you can copy and paste certain commands back into the commandline.

Currently, the running version of electrum on tails is insecure because it allows nodes to broadcast messages that can potentially be phishing attacks and trick users into downloading malware. Electrum 3.3.3 and above can mitigate such attacks. Currently, the latest version of electrum is 3.3.4, so I’ll write about that.

First off, whenever you make “weird changes” to whatever you are doing, even in general, you should make a backup. This is doubly true if this involves money. My recommendation is to use the tails official backup procedure here: https://tails.boum.org/blueprint/backups/ . There are a actually a couple of ways you can backup tails. If the official article is somehow unsatisfactory, I can do another “how to” article later on this later on.

Ok, now boot to tails. We have to be able to login as “administrator” for what we do, so when we login, press the “+” sign on the bottom left hand of the screen:

Then double-click on “administration password” and set the password to any arbitrary password you like. (This, by the way, allows you to execute the “sudo” command which gives your tails account temporary root privileges. This password is forgotten on the next reboot, so it won’t introduce any security problems once we’re done).

Now that we are logged in, we can begin upgrading the electrum wallet. The next  step is to verify the binary’s validity. There are a lot of “scam wallets” going around where people somehow download the wrong binary which then steals money. A hacker can also theoretically hack into the website and change the binary as well. So any binary that is not part of the official tails distribution should be verified that is hasn’t been tampered with. One of the maintainers of electrum is “ThomasV” and his GPG key is here:
gpg signature: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6

Notice the high number of stars in the github page. This means that a lot of people are saying “yep, I like this key”.

Anyway, save the key to your tails distribution. Visit this webpage https://github.com/spesmilo/electrum/blob/master/pubkeys/ThomasV.asc , and highlight the text of the key, right click and press “copy”.

Then open gedit, “paste” the key into gedit:

Then save it as “thomasv.key” in the “Tor Browser” directory.


Next, open “tor browser directory”:


in nautilus and double click the key. This will import it:

Once it’s imported, you have to then “sign” the key. By signing the key, one of the things you are doing is indicating “I trust this key as valid and I made sure that it’s owned by the actual ‘ThomasV’ in question.” You can verify this by comparing the signatures with people who you know have the correct key. The particular github account we got our key from is heavily starred and the file hasn’t been altered since Sept 2013, so we have a reasonable assurance that it is the real one. I have also personally used this particular key for years with that exact signature, so I can personally attest that signature with the following key is valid:

6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6

There are web-of-trust benefits to signing the key, but I won’t go into that for now. Ok, now let’s sign the key. Right click on the clipboard thing on the upper right hand corner of the screen click on the “manage keys”:

Then scroll down until you find the key you want to sign (in this case ThomasV), right click and press “properties”.

From there, you’ll get this dialogue box, so click on the trust tab:

We did a reasonable search for the key, so let’s click on “casually searched”, then click the “sign” button:
Screenshot from 2019-03-12 00-25-30

We have now successfully signed the key.  I consider verifying binaries as a very important thing to do in the bitcoin world because there are a TON of scamwallets out there designed to steal your bitcoins. By verifying the binary, we can be rest assured that the binary we are about to download is the official untampered binary.

Ok, now that is done, we can download the binary. Download the AppImage binary and the appropriate signatures from this webpage:

Download the AppImage and it’s corresponding signature file:


The “AppImage” version of tails is a self-contained version of electrum with all the appropriate libraries and python version encased in one file.  Currently electrum 3.3.4 uses a version of python that the current version of tails does not support (3.12.1). So the AppImage is your only recourse.

Ok, so once you download electrum and it’s signature file, you can verify the signature file as follows. Navigate to the “Tor Browser” directory you were in earlier, and right click the .asc file and click “Open with Verify Signature”.

Once that goes through, it should hopefully give you a “good signature” emblem on top:

The “good signature” line shows that the binary has not been tampered with and is safe to put on the system. It was digitally signed by a well-known hacker with a good reputation.

Ok. Next steps. We have to create some folders in some appropriate directories. We do this because tails has an ephemeral filesystem mostly, with only a few key directories that is “remembered” between each bootup. the “Persistent” folder is one of those folders.

So return to the command terminal and type these commands (or copy and paste if you prefer):

sudo mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications
sudo chown -R 1000:1000 /live/persistence/TailsData_unlocked/dotfiles/
mkdir -p /home/amnesia/Persistent/bin/
mkdir -p /home/amnesia/Persistent/conf/electrum/

If the sudo command asks for a password, use the “administrator account” password that you setup when you booted tails.

Ok, next go back to “Tor Browser” window and right click the AppImage files. From there click properties:

Click on the permissions tab and click on “allow executing file as program”:

This makes the file “executable” meaning it turns the file into an “app” that tails can run. Then right click and rename file to “electrum.AppImage”.


Then open the persistent directory:

and drag the “electrum.AppImage” over to “Persistent/bin”


It’s best to be extra cautious about bitcoin wallets, so we are not going to “write over” the old bitcoin wallet, we are going to create another and put it in a separate directory. (Conservatism is an important concept in the bitcoin world). So let’s open your old electrum wallet and copy the seed. You can do this by going to Wallet -> Seed on your menubar and writing it down or saving it to a file in your persistent partition.


Keep these words in a safe place and don’t give it to anyone! Your seed is a “second layer” of defense in case you somehow screw up the upgrade process. If upgrading your wallet does not work for some reason, you can always re-create a new wallet, type the seed words back in and be able to recover your bitcoins through your seed words. So make sure you don’t lose that seed!

Once we have the words stored in a safe place, let’s go ahead and make the bitcoin icon point to the new version of electrum that we just put on the persistent folder.

Go back to your terminal window and type the following:

gedit /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop

When gedit opens, copy and paste the following:

[Desktop Entry]
Comment=Lightweight Bitcoin Client
Exec=/home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/
GenericName[en_US]=Bitcoin Wallet
GenericName=Bitcoin Wallet
Name[en_US]=Electrum Bitcoin Wallet
Name=Electrum Bitcoin Wallet

Then save.

Go back to your terminal and type:

sudo chmod +x /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop

Go to Places -> Computer on the upper left hand corner of the screen. Once it does, Press ctrl-l and type this in the directory:



There should be an “electrum” icon there, double click on it then click on “trust” (we verified the binary so we know we can trust it). When the new wallet comes up, go install the electrum wallet like you normally would, but select “standard wallet” and “I already have a seed”.


When the prompt comes up, paste the words of that seed that you entered earlier and click next. When electrum comes on, it should show your old “history of transactions”. Make sure you can see them.

Next, we have to tell electrum to use the tails proxy to communicate. Go to tools -> network in the menu:

Then click on the proxy tab and tell it to use the “Tor Proxy at port 9050”:

Teboot tails, re-login and click on electrum icon on your menu, it should bring up the new version of tails:


Send a test transaction to another wallet and make sure it works.

If there are  any errors with this blog post, please leave a COMMENT and I can fix it. 


RSS feed for comments on this post. TrackBack URI

  1. I can’t get the first command to make the files work. “mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications” it says permission not granted

  2. Katie, you should be able to have access to that directory. Are you using a persistent partition? If not, you need to have a persistent partition to load electrum

  3. 1. I see computer/bin but not persistent/bin. I transferred the Appimage there. Is this incorrect?

    2. I did not have a location live/persistence/TailsData_unlocked/dotfiles/.local/share/applications. I tried creating this folder path then running the gedit text. When I clicked save then the terminal displays error, ‘Set document failed: setting attribute metadata: :gedit-encoding not supported’.

  4. Evan,

    1) Did you enable the persistent partition? If not, you have to enable it.
    2) You have to create persistent/bin by typing these words into the terminal:
    mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications
    mkdir -p /home/amnesia/Persistent/bin/
    mkdir -p /home/amnesia/Persistent/conf/electrum/
    3) You don’t have location “live/persistence/TailsData_unlocked/dotfiles/.local/share/applications” because that location doesn’t exist. You have to a put a slash in front of it: “/live/persistence/TailsData_unlocked/dotfiles/.local/share/applications”

  5. Thanks Steve. I had to run this after creating the folders to fix permissions (found on the Tails website).

    find /live/persistence/TailsData_unlocked/ -uid 1000 -exec chown -R 1000:1000 ‘{}’ \;

  6. great write up. ty.

  7. Hi. I was having the same error as tKatie:

    “I can’t get the first command to make the files work. “mkdir -p /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications” it says permission not granted

    Comment by Katie— February 27, 2019”

    To fix it I had to enable dotfiles in the “configure persistence” function first. I would recommend updating the tutorial to include that before trying to enter that command.

    Great article BTW Thank you so much for taking the time to write it!

  8. When I go to paste my electrum.appimage in persistent/bin im told I don’t have permission to view the contents of the folder?

  9. interimprogress,

    Yes, this was an error in my blog. I fixed it in this version, but for now type:
    sudo chown -R 1000:1000 /live/persistence/TailsData_unlocked/dotfiles/
    sudo chown -R 1000:1000 /home/amnesia/Persistent/bin/
    sudo chown -R 1000:1000 /home/amnesia/Persistent/conf/electrum/

  10. Despite setting up the admin account and doing everything else, when I get to the part where I drag the appimage into the bin, I’m told I “do not have the necessary permissions to view the contents of ‘bin'”

  11. Oh, sorry, I just realized you addressed that already. Now I’ve realized that’s not my problem at all, upon copying and pasting the commands into the terminal and being prompted for a password, it doesn’t allow me the time to type before being told ‘Sorry, try again.’, and then doesn’t allow me to type on the 2nd and 3rd try, only hit enter. I restarted and changed my admin password to one character to see if I could hit it quickly before being denied, but that didn’t work. I thought it worked when I copied and pasted the one character and then hit enter, but evidently not.

  12. is this legit?

  13. Everything worked but then when I rebooted tails and went to applications, Internet, Electrum Bitcoin Wallet it opened up the old version of electrum. I can still get to the new version by going to /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications. Should I just keep going to that directory to get to it or is there something else I should do?

  14. The .desktop file is probably not created.

    Go back to your terminal window and type the following:

    gedit /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop

    When gedit opens, copy and paste the following:

    [Desktop Entry]
    Comment=Lightweight Bitcoin Client
    Exec=/home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/
    GenericName[en_US]=Bitcoin Wallet
    GenericName=Bitcoin Wallet
    Name[en_US]=Electrum Bitcoin Wallet
    Name=Electrum Bitcoin Wallet

    Then save.

    Go to Places -> Computer on the upper left hand corner of the screen. Once it does, Press ctrl-l and type this in the directory:


  15. Hey steve this guide was awesome and everything worked perfect except that desktop icon part, just like “xyz” commented. I tried copy and pasting what you answered them again. but its still not replacing the old icons. Other than that it worked like a charm 🙂

  16. Fixed permission errors, ran into another permission error with electrum.desktop but fixed it using

    Sudo chows -R 1000:1000 /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop

    But after trusting the app and the icon becoming the electrum icon, the application never opens. Old wallet icon opens just fine, new wallet icon doesn’t open or anything

  17. I paste ‘/live/persistence/TailsData_unlocked/dotfiles/.local/share/applications’ and the screen keeps loading. I go to it manually and there is no electrum in the directory it is blank?

  18. hg,

    If that directory is blank, you have to create the electrum.desktop file in that directory.

    You have to open “gedit” and go into the “/live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop” and save a file called “electrum.desktop” file in there. paste the “[Desktop Entry]” text I put in my blog post earlier.

  19. interimprogress,

    Enter your terminal program and type:
    /home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/

    Tell me what error you get

  20. This may be a dumb question but I’m having the same issue as Katie, my question is what the persistant partition is and how to enable it. I got the new version to work but I have to open it from the AppImage and put in my seed every time.

  21. I had the same issue as interimprogress and this was the error i got in terminal;
    root@amnesia:~# /home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/
    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’
    QApplication: invalid style override passed, ignoring it.

    Electrum then launched and says its 3.3.4, however I cannot connect to any server, as the tor proxy checkbox is absent, its only the SOCKS proxy check box that’s there.
    Might be worth mentioning that I’m on version 3.13 of tails

  22. running the image from the persistent bin works fine though, and I don’t dare restart right now

  23. Same issue as justafool. Won’t let me input a password in the terminal

  24. Thx for the guide, Steve. You are a lifesaver. I was having some issues similar to other people here until realsing I renamed the appimage file Electrum.Appimage with a capital E instead of lowercase e. Working fine now though.

    I also think it might be easier for for some people to just save the app image to a separate usb, run it from tails without enabling persistence, and re-enter whatever seed they need each time instead of bothering with all the other configurations.

  25. Hey, I have problems, if i put in the

    /home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/

    I get

    QApplication: invalid style override passed, ignoring it.

    Thank it launches the new one. But it wont replace the old icon for some reason.

  26. Applmage is a bad signature . Bad or forged the signed data was modified.

  27. Hi Steve,

    Thanks for the guide and drive to keep electrum working on Tails. Currently having the same issue as justafool and Math with being unable to successfully enter administator password, no matter how many tries or different passwords I try to use.

    Hopefully this whole thing can be fixed soon.

  28. im getting Bad Signature for the AppleImage

  29. gregory,

    set proxy to point to (yourself) and set port to 9050

  30. Billybob,

    You have to create the electrum.desktop file and copy and paste the “[Desktop Entry]” stuff I put in my article. Put that file in /live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/

    After that, the menu icon on top should point to 3.3.4

  31. justafool and Math and murmurb,

    There is a difference between the “tails encryption password” and an “administrator’s password”. Did you specifically set an administrator’s password on bootup? the way to do it is here:

    Also, are you getting the password prompt in the terminal window? Where you type the “sudo” commands?

  32. Andre,

    did you import the thomasv public key? Another thing is to let it finish downloading, because you might be comparing against a file that is incomplete.

    What happens when you go to the terminal and type:

    gpg –verify ~/Tor\ Browser/electrum-3.3.4-x86_64.AppImage.asc

  33. I fixed the issue by setting a password with the sudo -i command

  34. I also am getting ‘Bad or forged signature. The signed data was modified.’
    Did everything exactly as showed in guide.

    I tried:

    gpg –verify ~/Tor\ Browser/electrum-3.3.4-x86_64.AppImage.asc

    as suggested. here is what command prompt returned:

    gpg: ify: skipped: No public key
    gpg: /home/amnesia/Tor Browser/electrum-3.3.4×86.AppImage.asc: encryption failed: No public key

  35. I have a new issue though when i try to save the text in gedit i get this in my command prompt

    ** (gedit:19397): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-encoding not supported

  36. A,

    You didn’t save the public key. Visit this webpage https://github.com/spesmilo/electrum/blob/master/pubkeys/ThomasV.asc , and copy the key.

    Then save the file. Then double click the icon:

  37. Math,

    See if the file saved anyway. Try saving to a different directory and see if anything different happens.

  38. No luck

  39. I can’t save the gedit. I get the message: Could not find the file “/live/persistence/TailsData_unlocked/dotfiles/.local/share/applications/electrum.desktop”

  40. I guess I just forgot to set up the administrator’s password. But now I have the same problem as justafool, Math and murmurb.

  41. Can we use our old wallet files? (/home/amnesia/.electrum/wallets)

    When I click Applications > Internet > Electrum Bitcoin Wallet and then try to choose one of my old wallets, I get the following error:

    Cannot load wallet (2):
    This version of Electrum is too old to open this wallet.
    (highest supported storage version: 16, version of this file: 18)

    When I double-click /home/amnesia/Persistent/bin/electrum.AppImage and select an old wallet file, it works fine.

  42. Hi, i followed everything, but when i go to open electrum in the places/computer part, it says the application could not be launched. any idea what the issue could be? everything other than electrum is up to date

  43. Hello thanks a lot for this tutorial.

    Despite setting an administrator password at login (twice using different passwords) I get the error in Terminal “sorry try again”. It just won’t accept a password.

    I’ll start googling but I figured I’d report the error here also.

  44. I opened a root terminal (instead of terminal) and the system accepted the password but the ‘bin’ folder that was created is locked.
    But I now have electrum.appimage in the persistent folder and it’s the correct version with the correct wallet.
    Any reason I can’t just double click the app from that folder indefinitely?

  45. Hello guys, after completing all the steps I click the electrum icon and nothing happens.. I get this error after running this: /home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/


    :~$ /home/amnesia/Persistent/bin/electrum.AppImage -D /home/amnesia/Persistent/conf/electrum/
    Traceback (most recent call last):
    File “/tmp/.mount_electr9GryxU/usr/bin/electrum”, line 324, in
    config = SimpleConfig(config_options)
    File “/tmp/.mount_electr9GryxU/usr/lib/python3.6/site-packages/electrum/simple_config.py”, line 87, in __init__
    self.path = self.electrum_path()
    File “/tmp/.mount_electr9GryxU/usr/lib/python3.6/site-packages/electrum/simple_config.py”, line 111, in electrum_path
    make_dir(path, allow_symlink=False)
    File “/tmp/.mount_electr9GryxU/usr/lib/python3.6/site-packages/electrum/util.py”, line 900, in make_dir
    FileNotFoundError: [Errno 2] No such file or directory: ‘/home/amnesia/Persistent/conf/electrum/’

  46. Never mind, now my wallet works. Thank you!!!

  47. Is it ok if I’m able too run the new electrum from files .but unable too have it stored with the old Bitcoin wallet I’m unable too use the old one but can run the new one from persistant files

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: