Is it possible to send and receive short text messages over the Lightning network? Yes it is indeed possible, and today let's see how to do it in practice using an application that takes advantage of this mechanism.
What is Keysend?
Keysend allows users in the Lightning network to send payments to others, directly to their public key, as long as their node has public channels and has keysend enabled. Keysend does not require the payee to issue an invoice.
In order to have your node enabled on LND, be sure to configure these parameters:
accept-amp=true
accept-keysend=true
Now for this test, you can be either on mainnet or on testnet. We will use LNC (Lightning Node Connect) to create the pairing phrase needed to the software to make the due connection.
For this test in this article, we will use this very simple messaging applet: https://cipherchat.app/
Login
Let’s open the applet and you will have the following page
The pairing phrase shown in there is the LNC phrase from your node. Just generate it and paste over there. The password field is a password you can specify to unlock the browser next time, without having to provide the phrase once again.
The pairing phrase is something like
piece addict stool write away steak penalty reform exist genius
Once logged in, to find the counterparty node, just click on the + symbol and paste the public key of the node which you want to start conversation with.
Starting Messaging
The counterparty obviously needs to be logged in as well, and afterwards, the chat can begin. In the following image, you can see how the chat is managed and how it is easy to chat in a way very similar to any other chatting application.
What is happening is that parts are exchanging 1 Sats payments with text attached. Each message sends a 1 Sats payment to the counterparty. You can easily check this out by entering the Thunderhub (for example) and check out the transactions page. You will see each message as a single transaction. Opening one of them will show you the message and all other details that you expect in a Lightning transaction.
Simple and nice, isn’t it? Now you can test yourself and use your node as a platform to send and receive messages to people over the Lightning Network!