Self-hosted Mempool: your own Bitcoin block explorer

Mempool is the block explorer behind mempool.space, and you can run the same software against your own node.

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

Mempool is an open-source mempool visualizer, block explorer, and API service. Looking up your own address or transaction on a public explorer tells that server which address you care about, along with your IP address. Running Mempool on your own full Bitcoin node answers the same lookups at home. It needs an unpruned Bitcoin Core with transaction indexing, an Electrum server for address lookups, and a MariaDB database, which the one-click installs on StartOS and umbrelOS set up for you.

Why a bitcoiner runs their own explorer

Pasting an address into a public block explorer is a question asked of someone else's server. That server sees the address, the time, and your IP address, and it can tie them together. Sparrow's documentation makes the same point about public Electrum servers: they see your balance and your location through your IP address. A public explorer sees the same thing for every address you paste in.

A self-hosted Mempool sends those questions to a machine in your house instead. Your node already checks every block, so the data comes from software you control. That fits the rest of a private Bitcoin setup, where the aim is to stop handing address history to third parties. A fresh receive address from your hardware wallet is the clearest case: look it up here, and no outside server learns that it is yours.

It is also a good dashboard. The project describes Mempool as the software running at mempool.space, so you get the block visualizer, fee estimates, and transaction pages from your own data.

What Mempool needs

Mempool is three pieces: a web frontend, a backend API, and a database. The Docker setup defines exactly those three services, and the database is MariaDB. It does not include your Bitcoin node. The project is blunt about this: its Docker images only containerize the frontend and backend, so Bitcoin Core and an Electrum server are yours to run.

PieceWhat it does for MempoolRequired?
Bitcoin CoreSupplies blocks and mempool data over RPC. The backend instructions say it needs transaction indexing and RPC access.Required. My node guide covers setup.
Electrum serverPowers address lookups. The FAQ says address lookup errors usually trace back to this part.Needed for address lookups. Without one, Mempool runs with address lookups disabled.
MariaDBMempool's database. The backend instructions say it needs version 10.5 or later.Required, and the Docker and one-click installs bundle it.

The Electrum server is the choice that matters, because address lookups are the private part. Romanz's electrs is lighter and struggles with addresses that have many transactions. Fulcrum needs more resources but, per the same FAQ, can still run on a Raspberry Pi. I compare them in electrs vs Fulcrum.

The project's only hardware list is for an enterprise production instance, not a home node. StartOS's package notes say its optional indexing toggles start a backfill that can run for many hours and recommend 16 GB of RAM or more, so plan for a node with spare RAM and a fast SSD rather than the minimum that runs Bitcoin Core alone.

One-click install on StartOS or umbrelOS

The Mempool README says most people should use a one-click install, and lists StartOS and Umbrel among the supported full-node distros, along with RaspiBlitz, RoninDojo, myNode, and nix-bitcoin. This is the route I would pick unless you already run Docker for everything. For a comparison of the two platforms, see Start9 vs Umbrel.

  • umbrelOS: the app listing lists Bitcoin and electrs as dependencies, and installs from the app store. Install Bitcoin Node and electrs first, then install Mempool from the app store.
  • StartOS: the Mempool package requires Bitcoin and lets you pick Fulcrum or electrs as the indexer, or none. It raises a task asking for an unpruned Bitcoin node with transaction indexing and keeps asking if they drift. Install it from the marketplace and follow the tasks it raises.
  • Other distros: RaspiBlitz, myNode, RoninDojo, and nix-bitcoin have their own installers. I have not covered them here.

Expect a long first run: the Electrum server has to finish indexing the chain before address lookups work.

Running it with Docker

If you run Bitcoin Core and an Electrum server on a Linux box without a node distro, use the Docker route. The project says to proceed only if you know what you are doing.

  1. 1Run Bitcoin Core unpruned, with transaction indexing and RPC turned on, and let it sync fully.
  2. 2Run an Electrum server on top of it and let that sync too (see electrs vs Fulcrum).
  3. 3Download the project's Docker files and point the backend at your Electrum server and your Bitcoin node.
  4. 4Start the containers and open Mempool in a browser on the host. The graphs fill in as new transactions arrive.

For the current files and settings, follow the Mempool Docker instructions. The project's example uses floating image tags, so pin your images to a version number if you want updates to happen when you choose.

Reaching it from your network or Tailscale

On the same network, open the node's address in a browser: the StartOS or Umbrel dashboard shows the app's address. Do not forward its port through your router to the internet.

To reach it away from home, use a VPN to your own network. With Tailscale, you can serve a local port privately inside your tailnet. Tailscale's docs reserve Funnel for sharing a service publicly, which you do not want here. Check what Serve already does before you add to it, so you do not replace an existing config.

Limits and honest costs

  • A pruned node rules Mempool out. Bitcoin Core's own source says prune mode is incompatible with txindex, and Mempool needs txindex. If your node is pruned, Mempool is not an option until you resync with a full copy of the chain.
  • Extra disk and CPU. The transaction index and the Electrum index both sit on top of the chain. StartOS's notes say the backend runs CPU in short heavy bursts the whole time it is on, and suggest running it only while you use it.
  • Some data still goes out by default. StartOS's notes say Mempool's few internet requests, such as fiat exchange rates and the external data server, go over clearnet unless you turn on the Route External Requests Over Tor action. Check what your install reaches before treating it as fully air-gapped from the internet.
  • You maintain it. Updates, database upgrades, and breakage after a Bitcoin Core or Electrum server update are yours to fix.

Frequently asked questions

Does Mempool need a full Bitcoin node?

It needs Bitcoin Core with txindex on, and prune mode does not allow that. An Electrum server is optional, but address lookups are disabled without one.

Can I run Mempool on a pruned node?

No. Mempool needs txindex, and Bitcoin Core refuses to start with both prune mode and txindex on. StartOS also requires an unpruned node for its Mempool package.

Which Electrum server should I use with Mempool?

Both romanz/electrs and Fulcrum work. The Mempool FAQ says electrs can struggle with addresses that have many transactions, and that Fulcrum needs more resources but can still run on a Raspberry Pi. My comparison is in the electrs vs Fulcrum guide.

Is a self-hosted Mempool the same as mempool.space?

It is the same open-source software, running on your own node. The StartOS package turns off the accelerator services, so there is no Accelerate button.

Is it safe to expose my Mempool to the internet?

I would not. Keep it on your home network and reach it away from home through a VPN such as Tailscale, using Tailscale Serve rather than Funnel, which makes a service public.

Related