Electrum

electrum.org
Electrum Icon

Long-standing Python-based Bitcoin wallet with good security features. Private keys are encrypted and do not touch the internet and balance is checked with a watch-only wallet. Compatible with other wallets, so there is no tie-in, and funds can be recovered with your secret seed. It supports proof-checking to verify transactions using SPV, multi-sig, and add-ons for compatibility with hardware wallets. A decentralized server indexes ledger transactions, meaning it's fast and doesn't require much disk space. The potential security issue here would not be with the wallet, but rather your PC - you must ensure your computer is secure and your wallet has a long, strong passphrase to encrypt it with.

Open Source

Electrum Source Code

Author

spesmilo

Description

Electrum Bitcoin Wallet

#bitcoin#bitcoin-wallet#electrum#lightning#lightning-network#python

Homepage

https://electrum.org

License

MIT

Created

02 Aug 12

Last Updated

04 Oct 24

Latest version

seed_v10

Primary Language

Python

Size

62,445 KB

Stars

7,385

Forks

3,073

Watchers

7,385

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • SomberNight (04 Oct 24)

    qt gui: settings: make two_trampoline cb conditional on trampoline_cb The setting is irrelevant if trampoline is disabled. This clears up potential confusion, as per user "js" on irc.

  • SomberNight (04 Oct 24)

    binaries: document min requirements for target systems

  • ThomasV (03 Oct 24)

    move tx grouping code from lnworker to submarine_swaps This better encapsulates the swaps logic. If we turn submarine_swaps into a plugin, these methods can be replaced by hooks.

  • SomberNight (02 Oct 24)

    (trivial) contrib/make_packages.sh: print success msg when done

  • SomberNight (02 Oct 24)

    android build: use spesmilo/ fork of p4a and buildozer - fdroid maintainers asked that releases use fixed forks of p4a and buildozer, so now we use the newly created forks in the spesmilo org. I plan to keep using my existing contributor-specific repos for development, but whatever we push to electrum master, should use the new spesmilo/ forks. see https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15858#note_2136345746 - Also, I added branch protection rules for branches named "electrum_*", so if we name the branches that are actually used in releases as such, we won't accidentally force-push them. (ref https://github.com/spesmilo/electrum/issues/8162) I think we can just create a new branch whenever we would want to force-push the existing one. - also factored out some parameters so that it is easier to programmatically access them from the fdroid build script. see https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15858#note_2136094409

  • SomberNight (02 Oct 24)

    android readme: extend "access datadir on Android from desktop" - add commands to restrict unix permissions for pushed files - add notes for "multiple user profiles" case

  • ghost43 (02 Oct 24)

    Merge pull request #9221 from SomberNight/202409_android_apk_version android: rm APK_VERSION, and change versionCode calculation

  • ThomasV (02 Oct 24)

    plugins dialog: show description and enable buttons in the same dialog

  • ThomasV (02 Oct 24)

    plugins.json: update hash

  • ThomasV (01 Oct 24)

    update hash for winehq.key Looks like upstream key file changed. Still the same crypto key, just updated expiration date. ``` $ sha256sum winehq_20* 78b185fabdb323971d13bd329fefc8038e08559aa51c4996de18db0639a51df6 *winehq_2019.key d965d646defe94b3dfba6d5b4406900ac6c81065428bf9d9303ad7a72ee8d1b8 *winehq_2024.key $ gpg winehq_2019.key gpg: WARNING: no command supplied. Trying to guess what you mean ... pub rsa3072 2018-12-10 [SC] D43F640145369C51D786DDEA76F1A20FF987672F uid WineHQ packages <[email protected]> sub rsa3072 2018-12-10 [E] [expired: 2020-12-09] $ gpg winehq_2024.key gpg: WARNING: no command supplied. Trying to guess what you mean ... pub rsa3072 2018-12-10 [SC] D43F640145369C51D786DDEA76F1A20FF987672F uid WineHQ packages <[email protected]> sub rsa3072 2018-12-10 [E] ``` Co-authored-by: SomberNight <[email protected]>

  • SomberNight (30 Sept 24)

    android build: add own logic to calculate versionCode Use our own logic to go from ELECTRUM_VERSION to numeric android versionCode, instead of using the default conversion done by python-for-android. Even before this, we were already patching p4a to modify their logic (see [0]). This commit changes that logic again, and moves it into a separate script in our repo. - calculation change is due to the f-droid maintainers asking for the arch code to be in the least significant digits (instead of most sig digits) (see [1]) I have pushed and changed to a new p4a branch, which is just a copy of the previous one with 3 commits related to versionCode calc squashed. [0]: https://github.com/SomberNight/python-for-android/commit/edb7e4fe6db9965caf887aee97605daf124502df [1]: https://github.com/spesmilo/electrum/issues/9210#issuecomment-2380559324

  • SomberNight (30 Sept 24)

    version.py: rm APK_VERSION related: https://github.com/spesmilo/electrum/issues/9210#issuecomment-2376572832

  • ThomasV (27 Sept 24)

    load_external_plugins: fix config variable name

  • thecockatiel (26 Sept 24)

    chore: add fastlane metadata for f-droid (#9211) * chore: add fastlane metadata for f-droid * chore: add short description * chore: use the correct short description

  • SomberNight (26 Sept 24)

    android: update p4a ref to have https://github.com/SomberNight/python-for-android/commit/58d21ad89b6182c0d70289d647eb85eaa412412c > reproducible apks: strip file path prefix from .pyc files related: https://github.com/spesmilo/electrum/issues/9215

  • SomberNight (26 Sept 24)

    transaction.sign: (trivial) nicer log line

  • SomberNight (19 Sept 24)

    android: set target_sdk_version to 34 To comply with new google play store requirement: > Starting August 31 2024: > - New apps and app updates must target Android 14 (API level 34) or higher to be submitted to Google Play AFAICS, we do not need to adapt to any of the changes. https://developer.android.com/about/versions/14/behavior-changes-14

  • SomberNight (19 Sept 24)

    android: add comment that OS push notifications are broken

  • SomberNight (19 Sept 24)

    build: include tests/ in tarballs closes https://github.com/spesmilo/electrum/issues/9207

  • ThomasV (19 Sept 24)

    qml: do not display success if swap failed..

  • SomberNight (18 Sept 24)

    qt gui: follow-up qt6: fix args for QWidget.setFocus() Traceback (most recent call last): File "...\electrum\electrum\gui\qt\main_window.py", line 1797, in toggle_search self.search_box.setFocus(1) TypeError: arguments did not match any overloaded call: setFocus(self): too many arguments setFocus(self, reason: Qt.FocusReason): argument 1 has unexpected type 'int'

  • ghost43 (18 Sept 24)

    Merge pull request #9205 from accumulator/issue9204 qml: add seed passphrase property to QEWallet, show in WalletDetails

  • ghost43 (18 Sept 24)

    Merge pull request #9189 from SomberNight/202409_desktop_qt6 Qt desktop GUI: upgrade to Qt6

  • Sander van Grieken (18 Sept 24)

    qml: add seed passphrase property to QEWallet, show in WalletDetails

  • SomberNight (17 Sept 24)

    qt gui: default to QT_QPA_PLATFORM=xcb for AppImage The wayland plugin would require at least debian 12 (or ubuntu 22.04) at runtime. see https://github.com/spesmilo/electrum/pull/9189#pullrequestreview-2309983943 : > I've now tried running the appimage on debian 10 (oldoldstable), and am getting an error with wayland. > > ``` > 4.16 | D | util.profiler | Plugins.__init__ 0.0422 sec > 4.16 | I | daemon.Daemon | launching GUI: qt > 4.76 | I | gui.qt.ElectrumGui | Qt GUI starting up... Qt=6.7.1, PyQt=6.7.1 > /tmp/.mount_electrFlGFOt/usr/bin/python3: symbol lookup error: /tmp/.mount_electrFlGFOt/usr/lib/python3.11/site-packages/PyQt6/Qt6/plugins/platforms/../../lib/libQt6WaylandClient.so.6: undefined symbol: wl_proxy_marshal_flags > ``` > > If I explicitly specify `QT_QPA_PLATFORM=xcb`, it starts and works as expected. But it picks wayland by default. > I found https://bugreports.qt.io/browse/QTBUG-114635 and it looks like even debian 11 might be affected.

  • SomberNight (17 Sept 24)

    qt gui: clean-up QCheckBox.stateChanged handling Some checkboxes, e.g. main_window.warn_if_testnet became buggy with pyqt6: looks like the stateChanged signal passes an int, not a Qt.CheckState. (and note that Qt.CheckState is an Enum, not an IntEnum). So `x == Qt.CheckState.Checked` would always evaluate to False. ``` def on_cb(_x): print(f"heyheyhey. {_x=!r}, {Qt.CheckState.Checked=!r}, {cb.checkState()=!r}, {cb.isChecked()=!r}") cb = QCheckBox("") cb.stateChanged.connect(on_cb) ``` heyheyhey. x=2, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Checked: 2>, cb.isChecked()=True heyheyhey. x=0, Qt.CheckState.Checked=<CheckState.Checked: 2>, cb.checkState()=<CheckState.Unchecked: 0>, cb.isChecked()=False

  • SomberNight (16 Sept 24)

    qt gui: qt6 migration follow-ups

  • SomberNight (09 Sept 24)

    qt gui: fix: qt6 segfaults on macOS if we add a menu item named "About" macOS reserves the "About" menu item name, similarly to "Preferences" (see a few lines above). The "About" keyword seems even more strictly locked down: not allowed as either a prefix or a suffix. - With Qt5, a matching menu item is simply auto-recognised as the special "About" item, - but with Qt6, it seems we explicitly have to do this dance, as directly adding a menu item with the "About" name results in a segfault...

  • SomberNight (10 Sept 24)

    mac build: bump declared min supported macos version (10.13->11) due to the qt 5.15 -> qt 6.7 bump related https://github.com/spesmilo/electrum/issues/3685

  • SomberNight (05 Sept 24)

    qt desktop gui: upgrade qt5->qt6 closes https://github.com/spesmilo/electrum/issues/8007

Electrum Website

Website

Electrum Bitcoin Wallet

Electrum Bitcoin Wallet.

Redirects

Does not redirect

Security Checks

All 66 security checks passed

Server Details

  • IP Address 104.21.91.204
  • Location San Francisco, California, United States of America, NA
  • ISP CloudFlare Inc.
  • ASN AS13335

Associated Countries

  • US
  • FR

Saftey Score

Website marked as safe

100%

Blacklist Check

electrum.org was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Electrum Reviews

More Crypto Wallets

  • An open source, native desktop wallet for Windows, Linux, and MacOS. Wasabi implements trustless CoinJoins over the Tor network. Neither an observer nor the participants can determine which output belongs to which input. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to, which greatly improves privacy. Since it's trustless, the CoinJoin coordinator cannot breach the privacy of the participants. Wasabi is compatible with cold storage and hardware wallets, including OpenCard and Trezor.

  • Trezor Icon

    Trezor

    trezor.io

    Open source, cross-platform, offline, crypto wallet, compatible with 1000+ coins. Your private key is generated on the device, and never leaves it, all transactions are signed by the Trezor, which ensures your wallet is safe from theft. There are native apps for Windows, Linux, MacOS, Android, and iOS, but Trezor is also compatible with other wallets, such as Wasabi. You can back the Trezor up, either by writing down the seed, or by duplicating it to another device. It is simple and intuitive to use, but also incredibly customizable with a large range of advanced features.

  • An easy-to-use, super secure Bitcoin hardware wallet, which can be used independently as an air-gapped wallet. ColdCard is based on partially signed Bitcoin transactions following the BIP174 standard. Built specifically for Bitcoin, and with a variety of unique security features, ColdCard is secure, trustless, private, and easy-to-use. Companion products for the ColdCard include: BlockClock, SeedPlate, and ColdPower.

  • Sparrow is a Bitcoin wallet for those who value financial self-sovereignty. Sparrow’s emphasis is on security, privacy, and usability. Sparrow does not hide information from you - on the contrary, it attempts to provide as much detail as possible about your transactions and UTXOs, but in a way that is manageable and usable.

  • Atomic is an open-source desktop and mobile-based wallet, where your private keys are stored on your local device, and do not touch the internet. Atomic has a great feature set, and supports swapping, staking, and lending directly from the app. However, most of Atomic's features require an active internet connection, and Atomic does not support hardware wallets yet. Therefore, it may only be a good choice as a secondary wallet, for storing small amounts of your actively used currency.

  • A steel plate, with engraved letters which can be permanently screwed - CryptoSteel is a good fire-proof, shock-proof, water-proof, and stainless cryptocurrency backup solution.

  • BitBox02 Icon

    BitBox02

    shiftcrypto.ch

    Open source hardware wallet, supporting secure multisig with the option for making encrypted backups on a MicroSD card.

About the Data: Electrum

API

You can access Electrum's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/finance/crypto-wallets/electrum

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Electrum

Help your friends compare Crypto Wallets, and pick privacy-respecting software and services.
Share Electrum and Awesome Privacy with your network!

View Crypto Wallets (8)