Oft Asked Questions¶

How does Electrum piece of work?¶

Electrum's focus is speed, with low resource usage and simplifying Bitcoin. Startup times are instant because it operates in conjunction with high-performance servers that handle the virtually complicated parts of the Bitcoin system.

Does Electrum trust servers?¶

In brusque, not actually. The Electrum client never sends private keys to the servers. In add-on, it verifies the information reported by servers, using a technique chosen Simple Payment Verification

Past default, Electrum tries to maintain connections to ~10 servers. The customer subscribes to block header notifications to all of these, and also periodically polls each for dynamic fee estimates. For all connected servers except one, that is all they are used for. Getting block headers from multiple sources is useful to detect lagging servers, chain splits, and forks.

One of the servers, arbitrarily, is selected as the "master" server.

  • The client subscribes to its own addresses (nit: sha256 hashes of scriptPubKeys) so that it would be notified of new transactions touching them. It too synchronizes the existing history of its addresses. This means the client sacrifices some privacy to the server, every bit the server can now reasonably gauge that all these addresses vest to the same entity.
  • As above, confirmed transactions are verified via SPV.
  • The server is trusted virtually unconfirmed transactions.
  • The server can lie by omission. That is, information technology tin "forget" to mention (both confirmed and unconfirmed) transactions that are relevant to the client.
  • All continued servers are polled for fee estimates, but whether those values are used depends on the "auto-connect" setting of the client. With "car-connect" disabled, only the fee estimates sent by the master server are used. With "car-connect" enabled, the client uses the median of all received fee estimates. In either case, low-high sanity limits are practical in the client.
  • The main server is besides used to broadcast the transactions the client makes.
  • A list of server peers is as well requested by the client, to learn virtually other servers it tin can use. (There is a list of hardcoded servers in the client to bootstrap)

Farther, all of the continued servers will run across the client's IP address (which might be that of a proxy/VPN/Tor, if used).

The fast startup times and depression resource usage is achieved at the cost of the above detailed privacy loss. The protocol and the client is designed in a way that minimises trust in the server.

Anyone can run a server. If you feel strongly about privacy, or if SPV-security guarantees are not enough for yous, you should consider running your own Electrum server.

What is the seed?¶

The seed is a random phrase that is used to generate your individual keys.

Example:

              slim sugar lizard predict land cute awkward asset inform claret ceremonious sugar            

Your wallet tin can be entirely recovered from its seed. For this, select the "I already have a seed" pick in the magician.

How secure is the seed?¶

The seed phrase created by Electrum has 132 $.25 of entropy. This means that it provides the same level of security every bit a Bitcoin individual key (of length 256 bits). Indeed, an elliptic curve key of length n provides north/ii bits of security.

I have forgotten my password. What can I do?¶

It is not possible to recover your password. However, yous can restore your wallet from its seed phrase and choose a new password. If you lose both your password and your seed, at that place is no style to recover your coin. This is why we ask you to salvage your seed phrase on paper.

To restore your wallet from its seed phrase, create a new wallet, select the type, choose "I already have a seed" and keep to input your seed phrase.

How does Electrum get the Bitcoin price it uses?¶

Electrum gets the Bitcoin price from a 3rd political party, but provides diverse options. Delight see menubar > Tools > Preferences > Fiat to view the current setting or choose a new 1.

My transaction has been unconfirmed for a long time. What can I practice?¶

Bitcoin transactions go "confirmed" when miners accept to write them in the Bitcoin blockchain. In general, the speed of confirmation depends on the fee y'all adhere to your transaction; miners prioritize transactions that pay the highest fees.

Contempo versions of Electrum use "dynamic fees" in order to make sure that the fee you pay with your transaction is adequate. This characteristic is enabled by default in recent versions of Electrum.

If yous have made a transaction that is unconfirmed, you tin:

  • Wait for a long time. Eventually, your transaction will either be confirmed or cancelled. This might take several days.
  • Increase the transaction fee. This is just possible for "replaceable" transactions. To create this type of transaction, you must accept checked "Replaceable" on the send tab before sending the transaction. If you're not seeing the "Replaceable" option on the ship tab go to Tools card > Preferences > Fees tab and set "Propose Replace-By-Fee" to "Always". Transactions that are replaceable have the word "Replaceable" in the date column on the history tab. To increase the fee of a replaceable transaction correct click on its entry on the history tab and cull "Increment Fee". Fix an appropriate fee and click on "OK". A window will popup with the unsigned transaction. Click on "Sign" and and then "Broadcast".
  • Create a "Child Pays for Parent" transaction. A CPFP is a new transaction that pays a high fee in order to recoup for the modest fee of its parent transaction. It tin can be washed past the recipient of the funds, or past the sender, if the transaction has a change output. To create a CPFP transaction right click on the unconfirmed transaction on the history tab and choose "Child pays for parent". Set an appropriate fee and click on "OK". A window will popup with the unsigned transaction. Click on "Sign" and then "Broadcast".

What does it hateful to "freeze" an address in Electrum?¶

When y'all freeze an accost, the funds in that address volition not be used for sending bitcoins. You cannot transport bitcoins if y'all don't have plenty funds in the non-frozen addresses.

How is the wallet encrypted?¶

Electrum uses 2 separate levels of encryption:

  • Your seed and individual keys are encrypted using AES-256-CBC. The private keys are decrypted only briefly, when you lot need to sign a transaction; for this you need to enter your countersign. This is washed in order to minimize the amount of fourth dimension during which sensitive information is unencrypted in your estimator'southward memory.
  • In addition, your wallet file may be encrypted on deejay. Note that the wallet information volition remain unencrypted in the memory of your calculator for the duration of your session. If a wallet is encrypted, then its password will exist required in order to open information technology. Note that the password will non be kept in retentivity; Electrum does not need it in gild to save the wallet on deejay, because it uses asymmetric encryption (ECIES).

Wallet file encryption is activated by default since version 2.8. It is intended to protect your privacy, simply also to foreclose you from requesting bitcoins on a wallet that y'all do not control.

Can I import private keys from other Bitcoin clients?¶

In Electrum 2.0, you cannot import private keys in a wallet that has a seed. You should sweep them instead.

If you want to import private keys and not sweep them, you need to create a special wallet that does not accept a seed. For this, create a new wallet, select "restore", and instead of typing your seed, blazon a list of private keys, or a listing of addresses if yous want to create a watching-simply wallet.

_images/import_addresses.png

You will need to dorsum up this wallet, considering it cannot be recovered from a seed.

Can I sweep individual keys from other Bitcoin clients?¶

Sweeping private keys means to ship all the bitcoins they command to an existing address in your wallet. The private keys you sweep do non become a part of your wallet. Instead, all the bitcoins they control are sent to an accost that has been deterministically generated from your wallet seed.

To sweep private keys, go to the Wallet menu -> Private Keys -> Sweep. Enter the private keys in the appropriate field. Leave the "Address" field unchanged. That is the destination address, and information technology will exist from your existing electrum wallet. Click on "Sweep". It'll now take you to the transport tab where you tin can set an appropriate fee and and so click on "Send" to send the coins to your wallet.

Where is the Electrum datadir located?¶

The information directory of Electrum is where wallet files, config settings, logs, blockchain headers, etc are stored.

On Windows:

  • Testify hidden files
  • Go to \Users\YourUserName\AppData\Roaming\Electrum (or %APPDATA%\Electrum)

On Mac:

  • Open up Finder
  • Go to folder (shift+cmd+G) and type ~/.electrum

On Linux:

  • Home Folder
  • Go -> Location and type ~/.electrum

Where is my wallet file located?¶

The default wallet file is called default_wallet, which is created when you commencement run the awarding and is located in the /wallets folder, inside the datadir.

How to enable debug logging?¶

  1. Logging to file

    On Linux/Windows/macOS, you tin enable logging to deejay. Using the (Qt) GUI, go to menubar>Tools>Preferences>General, and tick "Write logs to file". Subsequently restarting Electrum, debug logs will be written to the logs/ folder inside the datadir.

    If you encounter an fault while opening a wallet and hence cannot get to "Preferences" to enable logging, as a workaround you can create a temporary throwaway wallet and admission the settings there.

    Using CLI/RPC, you lot can enable file logging via e.g.:

                      $ electrum setconfig log_to_file true                
  2. Logging to terminal (standard error)

    On Linux/macOS, if y'all start Electrum from terminal, you tin specify the -five flag, to enable debug logs in the final (to stderr). This selection does not work on Windows (when using the binaries).

    On macOS, when using the official binary, endeavor e.g.:

                      $ /Applications/Electrum.app/Contents/MacOS/run_electrum -v                

Tin can I do bulk payments with Electrum? (batching)¶

You tin create a transaction with several outputs. In the GUI, blazon each address and corporeality on a line, separated past a comma.

_images/paytomany.png

Amounts are in the electric current unit of measurement prepare in the client. The total is shown in the GUI.

You tin can also import a CSV file in the "Pay to" field, by clicking on the folder icon.

Can Electrum create and sign raw transactions?¶

Electrum lets you create and sign raw transactions correct from the user interface using a form.

Electrum freezes when I try to transport bitcoins.¶

This might happen if y'all are trying to spend a big number of transaction outputs (for example, if yous have collected hundreds of donations from a Bitcoin faucet). When you lot transport Bitcoins, Electrum looks for unspent coins that are in your wallet in order to create a new transaction. Unspent coins can accept different values, much like physical coins and bills.

If this happens, y'all should consolidate your transaction inputs past sending smaller amounts of bitcoins to one of your wallet addresses; this would be the equivalent of exchanging a stack of nickels for a dollar bill.

What is the gap limit?¶

The gap limit is the maximum number of consecutive unused addresses in your deterministic sequence of addresses. Electrum uses it in order to finish looking for addresses. In Electrum 2.0, it is set to 20 by default, then the client will become all addresses until 20 unused addresses are institute.

How can I pre-generate new addresses?¶

Electrum volition generate new addresses as you utilise them, until it hits the gap limit.

If you need to pre-generate more addresses, you can do so by typing wallet.create_new_address(False) in the console. This control will generate one new address. Note that the accost will be shown with a cerise background in the address tab to betoken that it is beyond the gap limit. The red color will remain until the gap is filled.

WARNING: Addresses beyond the gap limit will not automatically be recovered from the seed. To recover them will require either increasing the client'due south gap limit or generating new addresses until the used addresses are institute.

If you wish to generate more than than one address, you can use a "for" loop. For instance, if yous wanted to generate 50 addresses, you could practice this:

                            [              wallet              .              create_new_address              (              Imitation              )              for              i              in              range              (              fifty              )]            

How do I upgrade Electrum?¶

Warning: always salve your wallet seed on paper earlier doing an upgrade.

To upgrade Electrum, just install the most recent version. The way to do this will depend on your Os.

Note that your wallet files are stored separately from the software, and so you can safely remove the old version of the software if your Bone does non do it for you.

Some Electrum upgrades will change the format of your wallet files.

For this reason, it is non recommended to downgrade Electrum to an older version once you have opened your wallet file with the new version. The older version will not e'er be able to read the new wallet file.

The following issues should exist considered when upgrading Electrum 1.x wallets to Electrum 2.ten:

  • Electrum ii.x will need to regenerate all of your addresses during the upgrade procedure. Please let it time to complete, and await it to take a footling longer than usual for Electrum to be ready.
  • The contents of your wallet file will be replaced with an Electrum 2 wallet. This ways Electrum 1.x will no longer be able to use your wallet once the upgrade is complete.
  • The "Addresses" tab volition not show any addresses the starting time time you launch Electrum 2. This is expected behavior. Restart Electrum 2 after the upgrade is complete and your addresses will be available.
  • Offline copies of Electrum will not testify the addresses at all because it cannot synchronize with the network. Y'all can force an offline generation of a few addresses by typing the following into the Console: wallet.synchronize(). When it'due south consummate, restart Electrum and your addresses will once once more be available.

My anti-virus has flagged Electrum equally malware! What now?¶

Electrum binaries are often flagged by various anti-virus software. In that location is nothing we can do almost information technology, so please end reporting that to u.s.a.. Anti-virus software uses heuristics in social club to decide if a plan is malware, and that often results in false positives.

If you lot trust the developers of the project, y'all can verify the GPG signature of Electrum binaries, and safely ignore any anti-virus warnings.

If you lot do not trust the developers of the project, you should build the binaries yourself, or run the software from source.

Finally, if you are actually concerned most malware, yous should not use an operating system that relies on anti-virus software.

Electrum requires recent Python. My Linux distribution does not yet take it. What now?¶

There are several means to resolve this.

  1. Utilize the AppImage distributed by u.s.. This is a unmarried self-contained binary that includes all the dependencies. Currently, we only distribute this binary for x86_64 (amd64) architecture. Only download information technology, (verify GPG sig), make information technology executable, and run information technology. E.g.:

                      $ wget https://download.electrum.org/iii.3.iv/electrum-iii.3.4-x86_64.AppImage $ chmod +ten electrum-three.3.4-x86_64.AppImage $ ./electrum-iii.3.iv-x86_64.AppImage                
  2. Use backports (e.g. in example of Debian, check the packages in stable-backports)

  3. Upgrade your distribution (e.chiliad. employ Debian testing instead of stable)

  4. Compile Python yourself, and then install pyqt5 using pip (as the package director for the distribution will only have PyQt5 for the version of Python that is packaged past them).

                      $ python3 -thousand pip install --user pyqt5                

    (Unfortunately, it seems pyqt5 via pip is but bachelor for x86/x86_64. On other archs, you lot might have to build Qt/PyQt yourself.)

  5. Apply a virtual machine where you run another Linux distribution that has more recent packages.

I might run my own server. Are client-server connections authenticated?¶

Electrum uses a client-server architecture, where the endpoints speak the Electrum protocol. The Electrum protocol is JSON-RPC based. The two master stacks the client supports are

  1. JSON-RPC over SSL/TLS over TCP
  2. JSON-RPC over TCP

Note that neither option uses HTTP.

The customer just connects to servers over SSL (then plaintext TCP is not used). Prior to Electrum 3.one, there used to be a checkbox in the GUI to toggle this but information technology was removed.

As for hallmark, the client accepts both CA-signed certificates and self-signed SSL certificates. When it first connects to a server, it pins the fact whether that server is using a CA-signed or a self-signed cert.

  • If it is self-signed, it volition merely accept that cert until it expires for that server (TOFU).
  • If it is CA signed, it will forever only have CA-signed certs for that server.

For your own server, both CA-signed and self-signed certs have their advantages.

  • With self-signed certs, as the client uses TOFU, in that location is a possibility of man-in-the-eye during the first connection.
  • With CA-signed certs, you need to trust the Certificate Government.

Does Electrum support altcoins ("cryptocurrencies")?¶

No. Electrum just supports Bitcoin.

The project has never supported any altcoins, only Bitcoin. However Electrum is free (every bit in liberty) software with a permissive license, and at that place are many forks of the software that back up specific altcoins. These are separate projects, with their own maintainers, independent of Electrum. We exercise not review their code or endorse them in any manner. If y'all are a user of these, please direct any and all support requests to their maintainers, instead of united states of america.