<p>This was answered by various individuals on IRC. I will paraphrase and any errors are my own.</p>
<p>The Bitcoin Core RPC interface was previously encrypted in an old version of Bitcoin Core but it was removed because it is pointless complexity. The RPC is only intended for communication with trusted, local software and as long as it is used for what it is intended the encryption is unnecessary. The operating system can intercept everything whether it is encrypted or not. There is documentation on how to SSL wrap it though.</p>
<p>It was noted that some <a href="https://github.com/bitcoin/bitcoin/pull/22775#issuecomment-903843166" rel="nofollow noreferrer">people</a> are using the wallet RPC over a hidden Tor service which should be fine if it is only exposed to trusted clients.</p>
<p>(Bitcoin Core also doesn't support UNIX sockets. It was attempted in some unmerged PRs in the past and is easy for RPC at the server side but on the client side it is blocked by an issue (<a href="https://github.com/libevent/libevent/pull/479" rel="nofollow noreferrer">1</a>, <a href="https://github.com/libevent/libevent/issues/907" rel="nofollow noreferrer">2</a>) in libevent http. It is currently not possible at least in bitcoin-cli without some ugly hacks around libevent.)</p>

CC BY-SA 4.0
2021-08-25T10:05:30.160Z
2021-08-25T10:05:30.160Z
Michael Folkson
<p>As the Bitcoin Core <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md" rel="nofollow noreferrer">docs</a> state:</p>
<blockquote>
<p>Although Bitcoin Core's RPC interface does use authentication, it does
not use encryption, so your login credentials are sent as clear text
that can be read by anyone on your network path.</p>
</blockquote>
<p>Why doesn't it use encryption?</p>

<json-rpc><bitcoin-core-development><encryption>
Why does Bitcoin Core's RPC interface not use encryption?
Michael Folkson
# Why does Bitcoin Core's RPC interface not use encryption?

(Asked by: username_0 on 2021-08-25)

As the Bitcoin Core [docs](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md) state:

> Although Bitcoin Core's RPC interface does use authentication, it does
> not use encryption, so your login credentials are sent as clear text
> that can be read by anyone on your network path.

Why doesn't it use encryption?

**Tags:** json-rpc, bitcoin-core-development, encryption


---

## 1 answers

### Answer by username_0 on 2021-08-25. Score: 1 | Accepted answer

This was answered by various individuals on IRC. I will paraphrase and any errors are my own.

The Bitcoin Core RPC interface was previously encrypted in an old version of Bitcoin Core but it was removed because it is pointless complexity. The RPC is only intended for communication with trusted, local software and as long as it is used for what it is intended the encryption is unnecessary. The operating system can intercept everything whether it is encrypted or not. There is documentation on how to SSL wrap it though.

It was noted that some [people](https://github.com/bitcoin/bitcoin/pull/22775#issuecomment-903843166) are using the wallet RPC over a hidden Tor service which should be fine if it is only exposed to trusted clients.

(Bitcoin Core also doesn't support UNIX sockets. It was attempted in some unmerged PRs in the past and is easy for RPC at the server side but on the client side it is blocked by an issue ([1](https://github.com/libevent/libevent/pull/479), [2](https://github.com/libevent/libevent/issues/907)) in libevent http. It is currently not possible at least in bitcoin-cli without some ugly hacks around libevent.)


---

