Project · in development
Encrypted messaging between Bitcoin nodes. It borrows the P2P network for peer discovery, then opens its own authenticated channel between daemons — so two node operators can talk directly, with no server in the middle to trust or subpoena.
NodeSignal doesn't run its own directory of users. It watches the Bitcoin P2P network to find other nodes that are also running the daemon. Discovery only — no message data crosses this port.
Once two daemons know about each other, they establish their own encrypted channel and exchange messages directly. This is the actual protocol, and it's the part that has to be right.
A browser UI for reading and composing messages, bound to the local machine. Deliberately not exposed to the internet — it's a control surface, not a public service.
The daemon can be reached as an onion service, so operators who don't want to publish a home IP address can still participate.
Node operators already maintain a network of long-lived, authenticated connections to each other. That infrastructure exists, it's censorship-resistant, and it's sitting there doing nothing but relaying blocks.
The idea is to reuse it. If you already run a node, you shouldn't need a third-party messaging service — with its accounts, phone numbers, and metadata — to reach another operator.
It's a work in progress and I'm building it to understand the P2P layer properly, not to replace anything. The interesting problems are in key exchange and in not degrading the node's normal behaviour.
Running on my own node against live peers. Not packaged for anyone else yet — if you operate a node and want to test against it, get in touch.