Docs
v1

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

  1. Open Messenger and choose New chat.
  2. Enter the address, pick it from the address book or scan its QR code.
  3. 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

How a chat opens. Wallet A sends a request with its messenger key and a first message, which is public. Wallet B accepts with a key capsule, after which both wallets share the chat keys. From then on, every message is end-to-end encrypted in both directions. Each frame is a payment of one atom plus the fee. Wallet A Wallet B Request A's messenger key and a first message, readable by everyone Accept a key capsule only A can open; both wallets now share the chat keys Messages Each frame pays one atom plus the fee. The texts are private; who writes to whom, when and how much stays public. end-to-end encrypted, both ways
The accept brings the key, so only the first message of a chat is public.
ShownMeaning
Visible to everyoneThe first message of a chat
Lock, End-to-end encryptedEvery 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 message218 bytes
Every other message970 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.

ActionEffect
BlockHides the address's chats. It can still send messages, each for a fee. Unblock it under Settings, Messenger
Delete chatThe chat disappears. A new message brings it back with only what came after
Delete for meHides one message

Settings

SettingDefaultWhere
Show the messengerOnSettings, Messenger. Off while payloads of incoming payments are hidden
Ask for the password before each messageOffSettings, Messenger
Sound and notification for new messagesSound on, notification offSettings, 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.

Type to search guides, concepts and reference pages.