electrs vs Fulcrum: which Electrum server to run

An Electrum server is the piece that lets Sparrow and other wallet apps use your own Bitcoin node instead of a stranger's server.

By BradyUpdated November 5, 2026Bitcoin self-custody
Short answer

Bitcoin Core does not index addresses, so wallets that speak the Electrum protocol need a server such as electrs or Fulcrum beside your node, and without one they fall back to a public server that can see your addresses. Pick Fulcrum if you use Sparrow with big or many wallets and have the disk space, because Sparrow recommends it as the server to pair with. Pick electrs if disk is tight or you want the smaller, MIT-licensed option. Both are free and available on StartOS and umbrelOS.

Disclosure: I work at Blockstream, which maintains the electrs fork behind its Esplora explorer, covered here. There are no affiliate links on this site.

Why a bitcoiner needs an Electrum server

Bitcoin Core validates the chain, but Sparrow's own benchmark page notes that Core does not support address indexing. A wallet has to ask "what happened on these addresses?", and Core is not built to answer. Many wallet apps solve this with the Electrum protocol, and Umbrel lists BitBoxApp, BlueWallet, Electrum, Nunchuk (desktop), Phoenix, and Sparrow as apps that can connect to its Electrum server.

Without your own server, Sparrow selects a public server at random unless you configure one, and Sparrow warns that this means sharing your public key information, and your privacy, with whoever runs the server. Sparrow connects to Bitcoin Core directly as well, so a private Electrum server is not the only private option. It is the one that gives you a private blockchain explorer too, and the one the other wallet apps above can use. The server answers questions about addresses and never holds a key, so your hardware wallet still does all the signing.

Run your Bitcoin node first (see how to run a Bitcoin node), then add one Electrum server on top of it. The two servers below do the same job. Their trade-offs are disk, speed, and licence.

electrs vs Fulcrum at a glance

electrsFulcrum
Author and languageRoman Zeyde, RustCalin Culianu, C++20
LicenceMITGPLv3
What it needs from Bitcoin CoreUnpruned, no txindex requiredUnpruned and txindex enabled
Index sizeAbout 56 GB against 802 GB of blocks (July 2026)About 133 GB for BTC as of August 2023, so expect more now
Initial index timeAbout 2 hours on a 6-core, 32 GB, NVMe machine; about 18 hours on a 2 GB, 8-core ODROID-HC1 with SSD4 to 20+ hours depending on machine and drive; probably days on a hard drive
MemoryThe ODROID-HC1 example has 2 GBMinimum 1 GB; default database cache is 2048 MiB, advised at no more than half your RAM
Wallet query speedSlower in Sparrow's test: the first wallet load took 5 to 7 minutes (Feb 2022, electrs 0.9.4)Faster in the same test: about 1.4 seconds (Fulcrum 1.6.0)
StartOSPackage availablePackage available
umbrelOSAppApp

The README for electrs says it is built for low CPU and memory use after the initial indexing, with a single RocksDB database. Fulcrum's README calls it a fast, multi-threaded server that is a drop-in replacement for ElectrumX. Fulcrum also supports Bitcoin Cash and Litecoin. Bitcoin-only setups are what this site recommends, and for Bitcoin you can ignore those.

How much to trust the speed numbers

The only side-by-side benchmark I found from a primary source is on Sparrow's server performance page, last updated February 1, 2022, on a Raspberry Pi 4 with a 1 TB USB SSD and a wallet with about 3,000 used addresses. It tested electrs 0.9.4 and Fulcrum 1.6.0. Fulcrum loaded the wallet about 300 times faster at first open and refreshed it about 1.5 times faster. The same page found electrs had to re-fetch and re-parse blocks every time the wallet loaded, and that it can get busy enough to miss notifying Sparrow of new transactions.

Both projects have shipped many releases since then, and I found no newer benchmark. Treat the gap as real for large wallets and unproven for a single small one. Sparrow's FAQ still suggests a more performant server such as Fulcrum when a wallet keeps failing to load its history from the server and restarting the node does not fix it. The benchmark page says electrs may suit the case where disk space is very limited and wallets are small.

electrs's own docs give different disk and time figures than the 2022 test (56 GB and about 2 hours now, against 32 GB and 12 to 24 hours then), because the hardware, the software, and the size of the chain all changed. Use the table for planning, and expect your numbers to differ.

Where each one runs: StartOS, umbrelOS, or plain Linux

On a ready-made node box you install one from the app store. The StartOS package for Fulcrum raises a task to set up Bitcoin the way Fulcrum needs (unpruned, with txindex) and keeps the Electrum port closed until the index is built, which takes hours. Its electrs package needs an unpruned Bitcoin node and states that no transaction index is needed. See Start9 vs Umbrel for the boxes themselves.

On plain Linux, both are open-source projects you configure by hand. For the current steps, follow electrs's install guide or Fulcrum's README. By default electrs listens on your own machine only, while Fulcrum's sample config listens on every network interface on the machine.

Keep either server on your home network or reach it through Tor or a VPN. Never forward port 50001 or 50002 from your router to the internet. Anyone who finds it can query your server, and your own addresses are what you built it to protect.

Blockstream also maintains an electrs fork

Blockstream maintains its own electrs fork, forked from romanz/electrs, and describes it as the backend for the Esplora block explorer behind blockstream.info. It adds an HTTP REST API next to the Electrum protocol. Sparrow's benchmark page notes that this variant, which it calls electrs-esplora, needed about 800 GB of data in 2022, too much for the Raspberry Pi it tested. It is built to run a public block explorer.

For a home node you want the romanz/electrs project, or Fulcrum, which the node boxes above package. I work at Blockstream, so weigh the fork's mention with that in mind. Its drawbacks for you are the extra disk and a feature set aimed at explorers, and the numbers in the table do not apply to it.

Pointing Sparrow at your server

Wait until the server finishes building its index. electrs waits for Bitcoin Core to finish syncing and cannot be used before then. Then point Sparrow at it. For the current menus, follow Sparrow's documentation, and see my Sparrow Wallet setup guide for the rest of the wallet setup.

  1. 1In Sparrow's server settings, choose a Private Electrum server.
  2. 2Enter your server's address and port: the same computer, its LAN address, or its .onion hostname. On StartOS and umbrelOS, use the address shown in the app's own page.
  3. 3Turn on SSL only if your server offers TLS. Both projects ship without it by default: electrs offers no SSL itself, and Fulcrum has SSL off unless you set an SSL port plus a certificate and key. The StartOS Fulcrum package says clients should use its TLS address.
  4. 4Test the connection. When it succeeds, Sparrow starts using your server.

Which one to pick

  • I'd pick Fulcrum if you use Sparrow, hold several wallets or wallets with long histories, and have the disk for a txindex plus Fulcrum's own database. Sparrow's documentation recommends it, and it was the faster server in the only test I found.
  • I'd pick electrs if disk is tight, you want a smaller index, you prefer the MIT licence, or your node box already ships it as the default Electrum server. Sparrow's own page says it can suit the case where disk is very limited and wallet depths are small.
  • If you pick Fulcrum, Bitcoin Core must keep txindex on and stay unpruned. If you pick electrs, it must stay unpruned. A pruned node cannot feed either one.
  • You can try the other later. Only the server and its index change, and Sparrow just needs a new URL.

Frequently asked questions

Do I need an Electrum server if I run Bitcoin Core?

Only if your wallet needs one. Sparrow can connect straight to Bitcoin Core. Wallet apps that use the Electrum protocol, like the ones Umbrel lists for its server, need electrs or Fulcrum, because Core does not index addresses.

Is electrs or Fulcrum faster?

Fulcrum was faster in Sparrow's February 2022 test on a Raspberry Pi 4, about 300 times faster on the first wallet load and 1.5 times faster on a refresh. That test used electrs 0.9.4, and both projects have released many versions since.

Does Fulcrum need txindex?

Yes. Fulcrum's README says the node must have txindex enabled and must not be pruned. electrs requires an unpruned node but does not require txindex.

Can I run an Electrum server on a pruned node?

No. Both electrs and Fulcrum need the full, unpruned blockchain. If your drive is small, connect Sparrow to your pruned Bitcoin Core directly instead.

Is it safe to open my Electrum server to the internet?

No. Keep it on your home network, or reach it over Tor or a VPN. electrs listens only on your own machine by default and recommends tunnelling for remote access, while Fulcrum's sample config listens on all interfaces, so check your firewall.

Related