Skip to main content

Electrum | Bitcoin Glossary | Mapping Bitcoin

Electrum

Desarrollo

Also known as: Electrum wallet, Electrum server

A lightweight Bitcoin wallet that connects to remote Electrum servers rather than running a full node. Electrum offers features like hardware wallet support, multisig, and coin control while maintaining a small resource footprint on the user's device.

Overview

Electrum is one of the oldest and most widely used Bitcoin wallets, first released in November 2011 by Thomas Voegtlin. It follows a client-server architecture where the lightweight wallet application connects to Electrum servers that index the blockchain. This design allows users to have a feature-rich Bitcoin wallet without downloading and validating the entire blockchain.

Architecture

┌─────────────────┐         ┌──────────────────┐
│  Electrum Wallet │◄──SSL──►│  Electrum Server │
│  (lightweight)   │         │  (ElectrumX /    │
│                  │         │   Fulcrum)        │
│ - Stores keys    │         │                  │
│ - Signs txs      │         │ - Full blockchain│
│ - Coin control   │         │ - Address index  │
│ - UI             │         │ - Tx lookup      │
└─────────────────┘         └────────┬─────────┘
                                     │
                             ┌───────┴────────┐
                             │  Bitcoin Core   │
                             │  (full node)    │
                             └────────────────┘

Key Features

  • Deterministic wallets: Electrum was one of the first wallets to implement seed-based key generation, predating BIP32. It uses its own seed format alongside standard BIP39 support.
  • Hardware wallet support: Native integration with Trezor, Ledger, ColdCard, and other hardware wallets
  • Multisig: Built-in support for creating and managing multi-signature wallets
  • Coin control: Users can select specific UTXOs for transactions, aiding privacy management
  • Lightning support: Electrum includes an integrated Lightning Network implementation
  • Plugin system: Extensible architecture through Python plugins

Privacy Considerations

By default, Electrum connects to public Electrum servers, which can observe:

  • All addresses belonging to the wallet
  • Transaction history and balances
  • IP address of the user

To mitigate these concerns, privacy-conscious users can:

  • Run their own Electrum server (ElectrumX or Fulcrum) connected to their own full node
  • Connect through Tor to hide their IP address
  • Use the "one-server" mode to reduce address correlation across servers

Electrum Server Implementations

  • ElectrumX: The original Python-based server implementation
  • Fulcrum: A high-performance C++ implementation that has become the preferred choice for most operators
  • Electrs: A Rust-based implementation popular with node-in-a-box solutions

Common Misconceptions

  • Electrum is not a full node wallet. It trusts the Electrum server for blockchain data, though it does verify transaction proofs.
  • The Electrum seed format is not compatible with BIP39 by default. Wallets created with Electrum's native seed cannot be restored in most other wallets without using the specific Electrum derivation.
  • Running your own Electrum server largely eliminates the privacy trade-offs of the client-server architecture.