Architecture

Electrum server vs Bitcoin full node

Bitcoin Core checks the rules. An Electrum server is a separate program that indexes your node's data so wallets can ask about their addresses.

Running a node does not by itself change what your wallet talks to. The wallet decides. Two layers matter, and people often install the second without needing it.

Layer 1: Bitcoin Core

Core downloads and verifies the chain and relays transactions. It can look up a transaction by id (with txindex), but it has no fast "everything that ever touched this address" query. Wallets that need that either scan with Core's own wallet code (Sparrow does this) or ask a second layer. Pruned or full, see pruned vs full.

Layer 2: an Electrum server

An Electrum server reads your node and builds an address index. Wallets that speak the Electrum protocol (Electrum, Sparrow, BlueWallet and others) then query your index instead of a public server. Two common choices:

electrsFulcrum
Needs from CoreUnpruned. txindex not required. REST enabled (rest=1)Unpruned and txindex=1
Index sizeSmall: about 7% of the blocks directory (roughly 55 GB in mid-2026), peaking near 14% before compactionLarger: it stores more, so wallet lookups are faster. Check its README for current size
Query behaviorRe-reads blocks from Core for some lookups, so big wallets load slowerAnswers from its own index; Sparrow's docs recommend it for large wallets

Sources: electrs config and usage, Fulcrum README, Sparrow's server performance notes. electrs's own docs say it is built for personal or small-group use and should not be run as a public server.

Do not expose an Electrum server to the internet

electrs listens on 127.0.0.1:50001 without TLS by default. Keep it on localhost or your LAN, and for access from elsewhere use an SSH tunnel or VPN rather than opening the port.

Do you need layer 2?

GoalCoreElectrum server
Verify the chain, learnYes, pruned is fineNo
One wallet on the same machine as the nodeYesNo, Sparrow connects to Core directly
Wallet on another computer, or several walletsUnprunedYes (or scoped RPC)
Smallest possible Pi buildYesSkip

Step-by-step wallet connections for both cases: connect your wallet to your own node. Not sure a node is for you? Do you need a node?

What it costs

  • Disk. A full node (roughly 800 GB) plus the index. Use a 2 TB drive. See disk full recovery if you are tight.
  • RAM and CPU. The first index build is heavy. electrs's own benchmark: about 2 hours on a 6-core, 32 GB machine with fast NVMe; about 18 hours on a small ODROID with 2 GB of RAM. A Pi 5 with 8 GB can run Core alone comfortably; adding an indexer is where it starts to feel small. See hardware.
  • Time. Wallets pointed at the server show nothing until the index catches up.

Order of operations

  1. Sync Bitcoin Core unpruned (setup), and live with it for a week using maintenance.
  2. Add electrs or Fulcrum if a wallet needs it. Follow that project's own install guide; they change faster than this site.
  3. Point the wallet at it, and confirm it is not still using a public server.

Pointing a wallet at your own server stops it from leaking addresses to a public one. It does not make you anonymous; for network-level privacy see Tor and privacy. Keep RPC and the Electrum port off the internet (security basics). This site does not cover seeds or wallet recovery.

FAQ

Is an Electrum server the same as a full node?

No. Bitcoin Core validates the chain. An Electrum server like electrs or Fulcrum reads from Core and builds an index of addresses so wallets can look up their history quickly.

Do I need an Electrum server to use my own node?

No. Sparrow can talk to Bitcoin Core directly. An Electrum server helps when several wallets or devices should share one index, or when the wallet is on another machine.

Can I run an Electrum server on a pruned node?

No. Both electrs and Fulcrum need an unpruned node. Fulcrum also requires txindex=1.