Why I’ve Settled On The Electrum Bitcoin Wallet
This is an opinion editorial by Arman The Parman, a Bitcoin educator passionate about privacy.
Over many years, I have tinkered with various Bitcoin wallets and mentored many people to hold their private keys securely. I settled on “Electrum Desktop Wallet” as my favorite and most versatile software wallet.
In this essay, I will outline some of Electrum’s features, and my likes and dislikes. This is not a detailed guide on how to use it and get the most out of it. I also won’t be going into why you should hold your own Bitcoin keys; it’s assumed you know and desire to do this, but if you need to know why it’s essential, please take a look at “Six Reasons To Withdraw Your Bitcoin From Exchanges.”
I have experienced first-hand Electrum’s idiosyncrasies and worked out solutions to overcome them – if used correctly, it is the most powerful wallet I have come across.
Electrum is for the person who is, or aspires to be, a “power” user. Because it allows so much control, and because of my familiarity with the software, I choose to teach this wallet to most of the students as part of my Bitcoin privacy/security mentorship course (although some people need something simpler to use). The experience of teaching how to use it has certainly helped me understand what people find intuitive and what they find tricky.
For the new Bitcoiner going at it alone, Electrum would be totally safe to use, provided they take their time and use it in a testing environment with only a small number of sats at first.
Operating System
Electrum can be installed on a Windows PC, Mac computer, or a Linux PC, and importantly for some, on ARM chip computers (i.e. Raspberry Pi’s).
It can also be installed on a phone, but the mobile version’s functionality is poor, and its connection to nodes has been erratic, so I don’t recommend that version. BlueWallet is a good alternative for a phone wallet.
Downloading And Verifying
Downloading and installing the program is straightforward for Windows and Mac, and a little tricky for Linux users, particularly those who are still learning to use Linux.
For those just testing the program out, simply downloading and using it without verifying the software is fine – I just wouldn’t do that for large amounts, or if privacy is a big concern (i.e. if you have KYC free bitcoin, you need to practice good privacy to keep the coins unidentifiable).
If you are in fact going to end up using this wallet for a significant sum, then you should learn to verify the software with gpg. You can build your skills around this here. You can do that while waiting for my guide on how to use Electrum safely/privately.
The Environment
One problem with Electrum is that if you run the program in the most intuitive way (i.e. just double click the icon) rather than the command line (with certain flags), you will almost certainly connect to a random Bitcoin node which will expose your wallet and all its potential 8.6 billion addresses to the owner of the random node – the owner could be a surveillance company, and there goes your privacy (they will get all your used and unused addresses, and your IP address).
To overcome this, I will teach you, in the next installment, how to load up a disposable wallet first, optimise your network settings (connect to your own node, or one you trust), and only then load your real wallet into Electrum.
Some people may be lost on what I mean by network settings or nodes. You can learn more about that here if you feel like going on a very important tangent.
The Electrum Wallet has a very clean layout displaying your addresses, although you have to know to go to the menu and select “show addresses” to see it. Then you’ll get a list of your first 20 receiving addresses highlighted green (you have 4.6 billion of these but obviously not all shown), and a list of your first 10 receiving addresses highlighted yellow (again, you have 4.6 billion of this type).
Many other software wallets don’t show you a list of addresses and only provide an address when requested to send coins to the wallet. This hides information from the user to keep things simple, but the user tends to remain ignorant, as the opportunity to learn is not presented. I have met many people who use Ledger Live or the Trezor suite, or Blue Wallet on their phone, and don’t realize they have limitless addresses, let alone something called “change” addresses.
Electrum also shows you a list of all your UTXOs (but you have to select “show coins”) to enable that.
Electrum Server Is Necessary
Electrum Wallet can not connect to your Bitcoin Core node directly. This is annoying, but it does make electrum run faster. Much faster. You still need Bitcoin Core, but you will also need software called Electrum Server (of which there are different varieties each with their advantages and disadvantages, which I won’t go into here). Installing Bitcoin Core is hard enough for some people. Installing Electrum Server is MUCH harder, you really need to be fairly techy.
For ease and positive reinforcement, I recommend people install, for their first node, a node-package like MyNode (see my guide) or Raspiblitz (see my guide), before moving on to installing a node and associated software on a regular PC.
These packages have some weaknesses but are excellent to begin with because with a single installation process on a Raspberry Pi 4, you get many applications (like Electrum Server, Lightning, BTCPay Server, Mempool viewer – which you’d otherwise have to install one by one, and potentially verify) and the cost is only about $300 for all the equipment (the software is free). As your skills and interest progresses, then I recommend people look into more advanced node setups (none of which get expensive). In case you’re wondering why you should run a node at all, here are six excellent reasons.
Wallet Creation
I think it’s useful to define the two types of wallets before going much further:
- Software wallet – this is the program that manages your Bitcoin private keys and addresses. Eg Electrum, Sparrow, Blue Wallet.
- Bitcoin wallet – by this, I mean the collection of unique addresses that are created deterministically (and reproducibly) from your mnemonic seed phrase (usually 12 or 24 words) – each seed phrase has 8.6 billion unique addresses that it can access/create.
Electrum, by default, creates wallets that are not standard which is very annoying. The most common protocol is called BIP39 (Bitcoin Improvement Proposal 39) that nearly all wallets will use.
That means that the 12 or 24 words that your BIP39 wallet created will be compatible with other BIP39 wallets, such that if you lose your software (or hardware) wallet, then you can get it back by entering your seed words into any compatible BIP39 wallet – it doesn’t have to be the same brand.
The Electrum developer, however, has his own plans and thinks the industry standard is unsafe (he has an outrageously unrealistic concern about BIP39). Instead of BIP39, Electrum creates wallets based on its own protocol – which no other wallet uses by default. Unfortunately, if you create an Electrum seed phrase, you can only use that seed phrase with Electrum.
Importantly, Electrum will allow you to restore a BIP39 wallet into it, but you have to know how. It will not, however, create a BIP39 wallet for you. But there are ways around this.
You can also simply load a single address into Electrum to observe its balance – it doesn’t even have to be yours (although, don’t get ideas about spending the balance, that’s not possible unless you load in the private key, in which case the address would be yours).
When creating or restoring a Bitcoin wallet with Electrum, you can choose what address type to have:
- Legacy – these addresses start with 1 – the original Bitcoin addresses.
- Pay-to-Script-Hash – these addresses all start with ‘3’.
- Segwit – From 2017 after the Segwit soft fork, you could create “Pay-to-witness-public-key-hash” (also called “Native Segwit”, or “Bech32”). These are the most commonly used now. They all start with “bc1q.”
- Taproot. This is new and not yet supported by Electrum. Taproot was a soft fork in 2021. Addresses start with “bc1p.”
The first three address types listed have extended public keys that look a little different from each others’. They start with xPub, yPub, and zPub, respectively. I believe taproot is tPub but I’m still getting familiar with that. For more education material about Bitcoin public and private keys, you can read here.
Labels
This feature is not unique, but very important to have if you want to maintain privacy through good coin control. By labeling your UTXOs, you’ll know which ones you might want to avoid spending together with others. For example, if you have a KYC-free or mixed coin, and you select it together with a KYC coin and send the combined total somewhere, then the private coin can be identified as belonging to whoever owns the KYC coin (since someone had the ability to spend both together). Don’t do that. The labels can be saved to a file so they can be uploaded to a different computer should you have duplicate wallets.
Coin Selection
Coin selection is a great feature. You can go to your address windows, and pick the coin you want to spend – or group several of them for spending. If you don’t select which coin you want to spend, like any other software, Electrum will choose the “best” coin to spend for you – but the software doesn’t always know what’s best. It doesn’t know which coins not to merge, which ones are dust attacks, and which ones are mixed. You know this, because you’ve labeled them, and then you can decide how to manage it.
Sending/Receiving
The process of sending bitcoin payments is very “fine tunable.” You can keep it simple, but there’s also an advanced button which I encourage people to always use – at least learn to get familiar. Here you can see exactly the important elements of the Bitcoin transaction – the inputs (with Tx IDs and addresses), the outputs, whether any listed addresses are found in your own wallet or not (through colour-coding), the mining fee and an ability to fine-tune it, the size of the transaction (in bytes), if there is a lock time, and if replace-by-fee is enabled. You don’t need to know right away what all these things mean, but at least they are there and as you get experienced, you’ll know what things to learn about.
When receiving, you can go to the receiving tab and the next unused address will be provided – with that you can copy/paste as needed or generate a QR code. Alternatively, you can go to the address window and select any address you see to create an invoice. You can right-click, select details, and you’ll see a button to create a QR code of the address or you can just copy the address text.
As soon as a payment is made to an address, and is waiting in the mempool, Electrum will show you the payment sitting with the address, which is handy – you don’t need to…
Read More: Why I’ve Settled On The Electrum Bitcoin Wallet
Disclaimer:The information provided on this website does not constitute investment advice, financial advice, trading advice, or any other sort of advice and you should not treat any of the website’s content as such. NewsOfBitcoin.com does not recommend that any cryptocurrency should be bought, sold, or held by you. Do conduct your own due diligence and consult your financial advisor before making any investment decisions.