Messenger Guide
The Morana messenger encrypts conversations on your devices and delivers messages through relays. The relay list is recorded on the blockchain. The network is designed for independent operators; in the closed testnet, relays run on servers operated by the project.
This is a closed testnet: participation is by invitation, and testnet coins are worth nothing.
The network parameters are not final yet.
Installing
The messenger is available for Linux, Windows, macOS, Android and iPhone. Download the build for your system from the download page and verify the file before running it.
Keys are created on your device. The Morana profile is derived from the same 24-word recovery phrase as your wallet. The phrase is never sent anywhere — write it down on paper and keep it offline.
Two profiles: Morana and Shadow
Morana and Shadow are two separate profiles, each with its own key. You switch between them with the profile button in the top bar.
- Morana — your main profile: conversations, contacts, wallet, MORID name, relays and stake.
- Shadow is a second profile for messaging only, with no wallet or MORID name. Shadow is designed to connect only through bridges or Tor. This protection is not yet fully implemented on the closed testnet: a relay operator may see the device’s IP address.
Shadow has its own key. By default it gets its own 24-word phrase, unrelated to your Morana phrase. Alternatively, Shadow can be derived from the Morana phrase along a separate branch — then one phrase restores both profiles. You can create a Shadow without ever creating a Morana profile.
| Morana | Shadow | |
|---|---|---|
| Conversations and contacts | yes | yes |
| Wallet, MORID name, relays, stake | yes | no — Shadow has no wallet, so there is nothing to pay or register with |
| Connecting to the network | directly, via bridges, VPN or Tor | Shadow is designed to connect only through bridges or Tor. This protection is not yet fully implemented on the closed testnet: a relay operator may see the device’s IP address. |
To receive messages in your Shadow profile, share its invitation, just as you would for a Morana profile. “No name” in the table only means that Shadow has no registered MORID name.
The intended rule is that, if bridges and Tor are unavailable, Shadow waits for a connection instead of sending the message directly. Shadow is designed to connect only through bridges or Tor. This protection is not yet fully implemented on the closed testnet: a relay operator may see the device’s IP address. See known limitations.
Adding contacts
You add a contact with an invitation link (morana:contact#…) or a short card (morana:c#…). The card is encrypted, its key travels inside the link itself, and the relay stores only ciphertext. Delete the card, and the invitation is revoked.
Spam is held back by one-time blind tokens: a stranger spends a token on the first message, and the relay checks the token without learning who brought it.
How a message is delivered
- Messages wait on relays in mailboxes. The app selects up to five relays for each mailbox. When metadata and enough alternatives are available, it first selects no more than two per operator, provider or region, then fills any remaining places from the available relays.
- A message is sent to the selected relays and counts as accepted once four have confirmed writing it to disk.
- Relays copy messages to each other. After acceptance is confirmed, the message remains available if one relay fails.
- An undelivered message is kept on relays for up to 14 days. Encrypted attachments can be up to 8 MiB and are kept for 7 days.
Once a week the network records the relay list on the blockchain, and the app reads it from there, checking the proofs itself. While there are still few relays, the app also cross-checks against a list signed by the project; that list does not replace the on-chain record.
Encryption uses the Olm protocol (Double Ratchet, the same family as Matrix). Message keys change all the time: a key that leaks tomorrow cannot open yesterday's messages. Compare the safety code with your contact in person or through another trusted channel. A match confirms that you checked the same identity keys.
What a relay sees
A relay sees the encrypted envelope, the recipient’s mailbox identifier, the envelope identifier and its size: 1, 4, 16, 64 or 256 KiB; larger envelopes are rounded up to a multiple of 256 KiB. Relays do not have the keys to decrypt users’ conversations, so they cannot read them. All relays on the closed testnet are operated by the project. Some metadata is still visible to their operators. Further protection of this data is planned for the open testnet. See known limitations.
What stays visible
- Your provider can see that you connected to a relay or a gateway; Tor and bridges help hide that.
- A relay sees the encrypted envelope, the mailbox identifier and the envelope size, rounded up to one of a set of fixed sizes. All relays on the closed testnet are operated by the project. Some metadata is still visible to their operators. Further protection of this data is planned for the open testnet.
- There is no cover traffic yet (dummy messages that hide when you really write); it arrives before the open testnet.
- Your history is stored on your device in an encrypted database. A backup contains encrypted history and settings, but no recovery phrase or private keys. Import it after restoring the same profile with its phrase.
MORID names
A name is optional: messaging works without one. It makes it easier for others to recognize you. You can register it right from the messenger, in the Morana profile, in two steps: first a hidden claim goes on chain, then — no sooner than 6 blocks later — the name itself. Nobody can snatch the claim on the way.
A name lives for 525,600 blocks — about a year — and is renewed with a single transaction. Renewal costs a quarter of the base price for a name of that length, with no demand surcharge and no less than 1 XMOR: someone else's rush for names does not change what you pay to keep yours. If you do not renew, the name stays yours for another 43,200 blocks (about a month). After that it is released, and it can be taken again through an auction in which the price falls over 20,160 blocks (about two weeks) from sixteen times the normal price down to the normal price.
A name can be transferred or sold. To the network these are the same operation: both the current and the new owner sign it with their own keys. The price, if there is one, you pay each other — the network does not check it. What a name costs is on the Economics page.