Guide
Messenger
Chat between Tenrai wallets. Start a chat, answer requests, end-to-end encryption, length and costs, blocking, the Messenger ID and the settings.
On this page
Each message is a payment of one atom to the other side, with the text in its payload. Chats therefore live on the chain and come back on every device that opens the wallet with the same recovery phrase. Wallets that follow TCC-0009 can chat with each other; the steps below use the Tenrai Wallet. The command-line wallet does not chat and lists these transactions as messenger.
Start a chat
- Open Messenger and choose New chat.
- Enter the address, pick it from the address book or scan its QR code.
- Write a first message if you like, then choose Start chat.
Everyone can read the first message. Until the other side accepts, the chat shows Waiting for them to accept and you cannot write more: the encryption key comes with the answer.
Answer a request
A chat someone else starts lands under Requests. Answer it or choose Accept, and from then on every message is end-to-end encrypted. Block hides the address, Delete chat removes the chat from this device.
Anyone can write to any address. A request costs its sender a fee, and nothing more reaches you from that chat until you accept.
Encryption
| Shown | Meaning |
|---|---|
| Visible to everyone | The first message of a chat |
| Lock, End-to-end encrypted | Every message after the accept. Only the two wallets can read it |
The key exchange uses ML-KEM-512, the post-quantum key encapsulation standard FIPS 203, and the texts are sealed with XChaCha20-Poly1305. The texts are private; who writes to whom, when, and how long the messages are stays public. A wallet accepts a message only from the side that sent it, so neither side can write in the other's name. Whoever has your recovery phrase can read every chat of the wallet.
Length and costs
| Limit | |
|---|---|
| First message | 218 bytes |
| Every other message | 970 bytes |
The counter under the text shows how many characters still fit. Letters and digits take one byte, umlauts and most accented letters two, Chinese and Japanese characters three, emoji four. A longer first answer to a request goes out as the accept followed by a message.
Every message pays one atom to the other side plus the network fee. It goes out without the password by default; Settings, Messenger can ask for it before each message.
Messenger ID
Settings, Messenger shows your Messenger ID, such as TRM-4CA0-35E2-6A78-1786-FDC8-D8CA-0D7B-F39F. It is the same on every device with this wallet. Every chat request you send carries it, so the recipient, and anyone reading the chain, can tell which requests come from the same wallet. It is derived one way from the recovery phrase and reveals nothing about it.
Block and delete
Both act on this device only.
| Action | Effect |
|---|---|
| Block | Hides the address's chats. It can still send messages, each for a fee. Unblock it under Settings, Messenger |
| Delete chat | The chat disappears. A new message brings it back with only what came after |
| Delete for me | Hides one message |
Settings
| Setting | Default | Where |
|---|---|---|
| Show the messenger | On | Settings, Messenger. Off while payloads of incoming payments are hidden |
| Ask for the password before each message | Off | Settings, Messenger |
| Sound and notification for new messages | Sound on, notification off | Settings, General, see Sounds and notifications |
The activity lists a chat message as Messenger, never with its payload, and Open chat jumps to it. Explorers show such a payload as a messenger payload.
