This document describes the full Electrum Protocol. This protocol is used over a TCP connection on port 50001 and SSL/TLS on port 50002. It uses JSON-RPC (both 1.0 and 2.0), where every message is terminated by a line break (\n
).
All methods defined for the Electrum Protocol. The "(array only)" means that the parameter can only be sent in a parameter array, at the position of the index for that parameter.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.3 |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.3 |
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.3 |
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.3 |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.3 |
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
? | 1.2 |
1.4 |
Introduced | Deprecated | Removed |
---|---|---|
0.2 |
1.3 |
1.4 |
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
height (array only) |
Height of block. | See method. |
Introduced | Deprecated | Removed |
---|---|---|
1.3 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.2 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.4.2 |
N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.0 |
1.1 |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.4.2 |
N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
(1.4.1 or) 1.4.2 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
0.2 |
N/A | N/A |
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
tx_hash (array only) |
Hash of transaction. | See method. |
1 |
... | ... |
Introduced | Deprecated | Removed |
---|---|---|
1.4 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | 1.0 |
1.1 |
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
- Removed: Yes, not available in ElectrumX.
Likely renamed to server.version
before versioning.
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
1.2 |
1.4.2 |
N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | N/A |
Likely renamed to blockchain.numblocks.subscribe
before versioning.
- Removed: Yes, not available in ElectrumX.
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | N/A |
None
A string, with a banner sentence of the server.
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | Yes, not available in ElectrumX. |
None
A integer.
Introduced | Deprecated | Removed |
---|---|---|
0.8 or 0.9 |
N/A | Yes, not available in ElectrumX. |
Renamed from server.heapy
.
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
password (array only) |
Password of server admin. Optional if there is none. | See method. |
1 |
s |
Expression to be evalutated. Optional. | See method. |
A string, the result value of the evalutated expression.
Introduced | Deprecated | Removed |
---|---|---|
0.9 or 0.10 |
N/A | N/A |
A string with an address of donation.
Introduced | Deprecated | Removed |
---|---|---|
1.1 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
0.9 or 0.10 |
N/A | Yes, not available in ElectrumX. |
None
An integer, the Process ID of the server.
Introduced | Deprecated | Removed |
---|---|---|
0.8 |
0.8 |
0.8 and 0.9 |
Renamed to server.debug
.
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
password (array only) |
Password of server admin. Optional if there is none. | See method. |
1 |
s |
Expression to be evalutated. Optional. | See method. |
A string, the result value of the evalutated expression.
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | Yes, not available in ElectrumX. |
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
password (array only) |
Password of server admin. Optional if there is none. | See method. |
An array of all sessions that the server is currently serving. In the unversioned beginning it was only a string containing the session address, but even before 0.1 this was already changed to an object with the following properties:
address
version
subscriptions
And later also:
time
name
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | Yes, not available in ElectrumX. |
None
An integer, some approximate of a queue size.
Introduced | Deprecated | Removed |
---|---|---|
? | N/A | Yes, not available in ElectrumX. |
TODO
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | N/A |
It is not a subscription, but just a method to get peers.
None
An array with peers. Each array item is also an array, with the first element an IP address, the second element a hostname and later, also a third element with additional information. This third element is an array, where the first character identifies the information:
v
(Version) - Indicates the version of the peer:v1.0
p
(Pruning) - Indicates the pruning limit:p10000
t
(TCP) - Indicates that the peer supports a TCP connection:t
(default port 50001) ort1234
.s
(SSL/TLS) - Indicates that the peer supports a SSL/TLS connection:s
(default port 50002) ors4321
.
Introduced | Deprecated | Removed |
---|---|---|
1.2 |
N/A | N/A |
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | Yes, not available in ElectrumX. |
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
password (array only) |
Password of server admin. Optional if there is none. | See method. |
A string confirming the server will be stopped.
Introduced | Deprecated | Removed |
---|---|---|
Unversioned | N/A | N/A |
Index (Array) | Name (Object) | Description | Introduced |
---|---|---|---|
0 |
version (array only) |
Version of the client. (Likely not the protocol version, or not anymore since 0.5/0.6.) Required until 0.9/0.10. Optional in 1.0. | See method. |
1 |
protocol_version (array only) |
Version of the protocol. Optional. Must be a string (or float) until at least 1.0. | 0.5 or 0.6 |
- For "Unversioned" and
0.1
, the result can be the stringok
. - For
0.1
to1.0
, the result can be a string with the protocol version code.
- Removed: Yes, not available in ElectrumX.
Version | Description |
---|---|
Unversioned | The early stage that there was no concept of protocol version yet. Unversioned servers can send ok when receiving a server.version message. |
0.1 |
The first versioned protocol version. Servers with this version can send ok when receiving a server.version message, but they also can send 0.1 . |
0.2 |
|
0.3 |
|
0.4 |
|
0.5 |
|
0.6 |
|
0.7 |
|
0.8 |
|
0.9 |
|
0.10 |
|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1.4.1 |
|
1.4.2 |
|
1.4.3 |