<p>Electrum uses the <a href="https://github.com/spesmilo/electrum-server" rel="nofollow noreferrer">electrum-server</a> backend (<a href="https://github.com/kyuupichan/electrumx" rel="nofollow noreferrer">electrumx</a> is a newer variant)</p>

<p>In fact, electrum actually predates bitcore by about 2 years.</p>

<p>As to why there are multiple implementations of similar APIs and softwares, the answer is really "Why node?". Even the bitcoin node software has multiple implementations (Bitcoin Core and btcd, for instance). </p>

<p>This is a very open source friendly space, and it is generally actively encouraged to have multiple approaches to a problem.</p>

CC BY-SA 4.0
2018-07-27T09:39:59.650Z
Hi Raghav, so is it right to say that Electrum-api alone (after electrum-server is setup) provides all the basic methods to create wallets, add multiple addresses, create, initiate, send or cancel a transaction, etc.? Not to forget I also want to adjust txn fee during submitting the transaction. Is it all possible with Electrum-api or do I need to use Bitcore?
Gagan
CC BY-SA 4.0
2018-07-27T09:42:27.480Z
Electrum's APIs will help you view address balances/outputs, build a transaction, and broadcast it. Key generation, wallets, and signing are handled by the electrum frontend client, not by the server. They keys never leave the client device
Raghav Sood
CC BY-SA 4.0
2018-07-27T09:48:00.247Z
Electrum frontend client such as?
Gagan
CC BY-SA 4.0
2018-07-27T09:48:34.053Z
Such as [Electrum](https://github.com/spesmilo/electrum)
Raghav Sood
CC BY-SA 4.0
2018-07-27T09:56:12.633Z
Does Electrum provides these apis? Can you please share a document link to it?
Gagan
CC BY-SA 4.0
2018-07-27T09:56:59.283Z
Electrum has an RPC interface, I believe, but I'm not familiar with it, never used it.
Raghav Sood
CC BY-SA 4.0
2018-07-27T10:01:31.530Z
Okay thanks! Do you know any other API available that can do this by any chance? I want to setup Electrum-server and integrate Electrum client to my application.
Gagan
CC BY-SA 4.0
2018-07-27T10:01:54.793Z
Electrum will likely be your best option for a complete solution quickly, to be honest.
Raghav Sood
CC BY-SA 4.0
2018-07-27T08:09:33.533Z
2018-07-27T08:09:33.533Z
Raghav Sood
<p>No</p>

<p>Electrum uses an Electrum Server as an API, which holds information on block headers, UTXOs and information on address balances and historical transactions. Electrum does all key management on the client and no critical user information are stored on the server.</p>

<p>Bitpay (Bitcore wallet) uses a Bitcore Wallet Service (that does wallet creation and key management) and that in turn uses the Insight API (which stores block / transaction data). Insight communicates with Bitcore which sits on top of Bitcoin. </p>

CC BY-SA 4.0
2018-07-27T09:35:01.447Z
So using Electrum, I can create multiple wallets with n number of addresses in each, right? Does Electrum api also provides a method to handle transactions such as initiate, send or cancel txn?
Gagan
CC BY-SA 4.0
2018-07-27T10:08:40.627Z
Sure it's a full spv wallet
Nikos Kostoulas
CC BY-SA 4.0
2018-07-27T10:10:08.120Z
Thanks Nikos! Do you know if Electrum provides any api?
Gagan
CC BY-SA 4.0
2018-07-27T10:30:57.610Z
API in what sense? It provides a full UI and command line option. Would you like to use it remotely or what exactly do you want to do?
Nikos Kostoulas
CC BY-SA 4.0
2018-07-27T11:08:30.050Z
We need to build a custom BTC wallet interface. Where user can create multiple wallets, address, send/receive transactions.
Gagan
CC BY-SA 4.0
2018-07-27T11:09:11.767Z
Also can we add custom fees for every transaction?
Gagan
CC BY-SA 4.0
2018-07-27T12:06:05.117Z
Fees are part of custom configuration. I think electrum offers rpc connectivity so you could build on top of that, i.e. having custom interface and sending rpc commands to electrum.
Nikos Kostoulas
CC BY-SA 4.0
2018-07-27T08:12:29.743Z
2018-07-27T08:12:29.743Z
Nikos Kostoulas
<p>Does Electrum use Bitcore Apis as it's backend or not? </p>

<p>If not, then what is the purpose of developing Electrum when Bitcore Apis provides all the features Electrum has (like HD wallets and master seeding)?</p>

<api><electrum><bip32-hd-wallets><seed><bitcore>
Does Electrum use Bitcore Apis as it's backend?
Gagan
# Does Electrum use Bitcore Apis as it's backend?

(Asked by: username_0 on 2018-07-27)

Does Electrum use Bitcore Apis as it's backend or not?

If not, then what is the purpose of developing Electrum when Bitcore Apis provides all the features Electrum has (like HD wallets and master seeding)?

**Tags:** api, electrum, bip32-hd-wallets, seed, bitcore


---

## 2 answers

### Answer by username_1 on 2018-07-27. Score: 2 | Accepted answer

Electrum uses the [electrum-server](https://github.com/spesmilo/electrum-server) backend ([electrumx](https://github.com/kyuupichan/electrumx) is a newer variant)

In fact, electrum actually predates bitcore by about 2 years.

As to why there are multiple implementations of similar APIs and softwares, the answer is really "Why node?". Even the bitcoin node software has multiple implementations (Bitcoin Core and btcd, for instance).

This is a very open source friendly space, and it is generally actively encouraged to have multiple approaches to a problem.

> **Comments:**
> **username_0**: Hi username_1, so is it right to say that Electrum-api alone (after electrum-server is setup) provides all the basic methods to create wallets, add multiple addresses, create, initiate, send or cancel a transaction, etc.? Not to forget I also want to adjust txn fee during submitting the transaction. Is it all possible with Electrum-api or do I need to use Bitcore?  
> **username_1**: Electrum's APIs will help you view address balances/outputs, build a transaction, and broadcast it. Key generation, wallets, and signing are handled by the electrum frontend client, not by the server. They keys never leave the client device  
> **username_0**: Electrum frontend client such as?  
> **username_1**: Such as [Electrum](https://github.com/spesmilo/electrum)  
> **username_0**: Does Electrum provides these apis? Can you please share a document link to it?  
> **username_1**: Electrum has an RPC interface, I believe, but I'm not familiar with it, never used it.  
> **username_0**: Okay thanks! Do you know any other API available that can do this by any chance? I want to setup Electrum-server and integrate Electrum client to my application.  
> **username_1**: Electrum will likely be your best option for a complete solution quickly, to be honest.  

---

### Answer by username_2 on 2018-07-27. Score: 1

No

Electrum uses an Electrum Server as an API, which holds information on block headers, UTXOs and information on address balances and historical transactions. Electrum does all key management on the client and no critical user information are stored on the server.

Bitpay (Bitcore wallet) uses a Bitcore Wallet Service (that does wallet creation and key management) and that in turn uses the Insight API (which stores block / transaction data). Insight communicates with Bitcore which sits on top of Bitcoin.

> **Comments:**
> **username_0**: So using Electrum, I can create multiple wallets with n number of addresses in each, right? Does Electrum api also provides a method to handle transactions such as initiate, send or cancel txn?  
> **username_2**: Sure it's a full spv wallet  
> **username_0**: Thanks username_2! Do you know if Electrum provides any api?  
> **username_2**: API in what sense? It provides a full UI and command line option. Would you like to use it remotely or what exactly do you want to do?  
> **username_0**: We need to build a custom BTC wallet interface. Where user can create multiple wallets, address, send/receive transactions.  
> **username_0**: Also can we add custom fees for every transaction?  
> **username_2**: Fees are part of custom configuration. I think electrum offers rpc connectivity so you could build on top of that, i.e. having custom interface and sending rpc commands to electrum.  

---

