Skip to content
Rob edited this page Jun 19, 2026 · 2 revisions

Do I need a radio to use this app?

No — but you need some transport. Either an RNode (LoRa modem, over BLE / Bluetooth Classic / USB) for true off-grid mesh, or a TCP connection to a Reticulum transport node on the internet. Without one of those, the app has nothing to talk to. See Connecting Over the Internet for the no-radio path.

What is an RNode and where do I get one?

An RNode is an open-source LoRa modem (typically an SX1262-based board running the RNode firmware). The phone is the client; the RNode is the radio — the same split as Meshtastic/MeshCore. You can build one from common LoRa dev boards or buy a pre-flashed unit. See the RNode project and the Reticulum site.

Is it really account-free?

Yes. Your identity is a keypair generated on-device on first launch. There's no sign-up, no email, no cloud, no server-side account. No analytics, no tracking, no ads, no crash reporting.

Is my messaging encrypted?

Yes — end-to-end. Messages use X25519 + Ed25519 with AES-256-CBC and HMAC-SHA256 (encrypt-then-MAC). Keys never leave your device. Note that while message content is encrypted, your announces and destination hash are visible to the mesh and to any transport node you attach to — see the privacy note in Connecting Over the Internet and the README security model.

How do I back up my identity?

Use identity export in Settings to write a passphrase-encrypted .rmid archive, and store it somewhere safe. Import it on a new device (or after a reinstall) to keep the same address. Do this before reinstalling — without a backup you'll get a brand-new identity and your old destination hash becomes unreachable.

How do people add me as a contact?

Share your destination hash, or send an announce — your address then propagates across the mesh and appears in others' contact lists automatically. For in-person exchange, the app can show a QR identity card that another user scans.

Why do I have to keep announcing?

Relays cache identities and those caches expire. If your announce goes stale, relays can't verify your link proofs and inbound messages fail. The app re-announces automatically on a timer; you can also announce manually.

Why does a message show the wrong time?

LoRa nodes without a real-time clock send "seconds since boot" instead of a real timestamp. The app detects this (any time before 2020-01-01) and substitutes your local receive time. That's expected behavior, not a bug.

Why is the Nodes map empty?

It only plots destinations that broadcast latitude/longitude in telemetry — many don't. Map tiles also need internet (OpenStreetMap). An empty map is common and normal.

What's the difference between a contact and a node?

Contacts are lxmf.delivery destinations — people you can message. Nodes are everything else on the mesh (relays, repeaters, telemetry sources, NomadNet pages). The app sorts them using the announce's name hash, so messaging stays uncluttered.

What is NomadNet?

A lightweight page/forum system on Reticulum. The app includes a NomadNet browser to view text pages, submit forms, and download /file/ attachments from Nomad nodes.

Does it run in the background?

On Android, yes — a foreground service holds the RNode link open so messages arrive and notify while the app is backgrounded. For this to work reliably you must exempt the app from battery optimization; see Troubleshooting.

Is there an iOS version?

Yes — a native iOS client built from the same shared Kotlin core, distributed via AltStore/SideStore or a direct IPA. Feature parity with Android is tracked in the README.

What does it cost? What's the license?

Free and open source under AGPL-3.0-only. No ads, no paid tiers. Source: https://github.com/thatSFguy/reticulum-mobile-app.