<p>Electrum Server is a fancy abstraction on top of <code>bitcoind</code> and a custom index of UTXO data. Client wallets connect to it and send queries for details about their wallet, using its own index Electrum Server requests the correct information from <code>bitcoind</code> and returns it to the client. The Electrum Server keeps its index up to date by continuously querying <code>bitcoind</code> for changes such as mempool updates or new blocks.</p>
<p><a href="https://i.sstatic.net/9TrYz.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/9TrYz.png" alt="enter image description here" /></a></p>
<p>All communication with the wider Bitcoin network happens through <code>bitcoind</code>, including block updates and transaction broadcasts. For the purpose of this discussion, Electrum servers are standalone and completely unaware of one another, there is no cross communication between them.</p>

CC BY-SA 4.0
2020-12-14T07:47:46.743Z
This was the clarification that I was looking for. Thanks a lot! But what about electrum's protocol methods that refer to peers. What happens when you add a new peer? https://electrumx.readthedocs.io/en/latest/protocol-methods.html#server-add-peer
pxr_64
CC BY-SA 4.0
2020-12-14T14:56:58.283Z
That’s for server discovery in the client.
Claris
CC BY-SA 4.0
2020-12-14T00:52:34.867Z
2020-12-14T00:52:34.867Z
Claris
<p>I am a bit confused regarding the bitcoind peers and Electrum X peers.</p>
<p>From what I understand, the electrum X protocol is built on top of the bitcoin blockchain, but I cannot quite wrap my head around on how exactly they interact.</p>
<p>I get it that electrum needs to have access to a <code>bitcoind</code> process in order to sync up its database, but what happens after the sync? Does the electrum client receive notifications about new transactions from other electrum peers, or does it still use underlying <code>bitcoind</code> mempool? Or both?</p>
<p>Can somebody explain on how exactly these 2 services interact?</p>

<bitcoind><electrum-server>
How does electrum interact with the underlying bitcoind service?
pxr_64
# How does electrum interact with the underlying bitcoind service?

(Asked by: username_0 on 2020-12-13)

I am a bit confused regarding the bitcoind peers and Electrum X peers.

From what I understand, the electrum X protocol is built on top of the bitcoin blockchain, but I cannot quite wrap my head around on how exactly they interact.

I get it that electrum needs to have access to a `bitcoind` process in order to sync up its database, but what happens after the sync? Does the electrum client receive notifications about new transactions from other electrum peers, or does it still use underlying `bitcoind` mempool? Or both?

Can somebody explain on how exactly these 2 services interact?

**Tags:** bitcoind, electrum-server


---

## 1 answers

### Answer by username_1 on 2020-12-14. Score: 2 | Accepted answer

Electrum Server is a fancy abstraction on top of `bitcoind` and a custom index of UTXO data. Client wallets connect to it and send queries for details about their wallet, using its own index Electrum Server requests the correct information from `bitcoind` and returns it to the client. The Electrum Server keeps its index up to date by continuously querying `bitcoind` for changes such as mempool updates or new blocks.

[![enter image description here](https://i.sstatic.net/9TrYz.png)](https://i.sstatic.net/9TrYz.png)

All communication with the wider Bitcoin network happens through `bitcoind`, including block updates and transaction broadcasts. For the purpose of this discussion, Electrum servers are standalone and completely unaware of one another, there is no cross communication between them.

> **Comments:**
> **username_0**: This was the clarification that I was looking for. Thanks a lot! But what about electrum's protocol methods that refer to peers. What happens when you add a new peer? https://electrumx.readthedocs.io/en/latest/protocol-methods.html#server-add-peer  
> **username_1**: That’s for server discovery in the client.  

---

