vs. Other messengers.
A fair comparison. Every "No" in the Lattice column is a real trade-off, not a thing to gloss over. Lattice isn't the best at everything. It's built for one specific situation.
| Lattice | Signal | Bitchat | Briar | ||
|---|---|---|---|---|---|
| Works without the internet | Yes | No | No | Yes | Yes |
| Works without a phone number | Yes | No | Optional | Yes | Yes |
| Works without an account | Yes | No | No | Yes | Yes |
| End-to-end encrypted | Yes | Yes | Yes | Yes | Yes |
| Post-quantum cryptography | Yes (hybrid) | No | Yes (PQXDH) | No | No |
| Open source | MPL-2.0 at v1.0 (source private until then) | No | Yes | Yes | Yes |
| Reproducible builds | Android: reproducible config; full verification at v1.0 | No | Partial | No | Yes |
| Background battery (typical) | 4–8%/day | ~5%/day | ~3%/day | unknown | ~20%+/day |
| Suitable as a daily driver | No (intentionally) | Yes | Yes | No | Possible |
| Designed for crowd density | Yes | N/A | N/A | Limited | Limited |
| No telemetry | Yes (no analytics, ever) | No | Yes | Yes | Yes |
| No central server holding messages | Yes | No (encrypted, but stored) | Brief queue only | Yes | Yes |
| Group messaging | Yes (MLS) | Yes | Yes | Yes | Yes |
| Extends over LoRa / Meshtastic | Yes (Meshtastic built in; LoRa dongle) | No | No | No | No |
| Voice / video calls | No | Yes | Yes | No | No |
| Number of users you can talk to | small (early) | ~3 billion | ~70 million | small | small |
So what is Lattice for, then?
Most of the time Signal is the better choice. It's faster, it has voice calls, it has billions of users, and it doesn't have to scan for nearby phones. I tell people to use Signal, and I use it myself.
Lattice is for the moments when that stops working. The internet's out, or the towers are at capacity, or you're at a festival, a stadium, a regional shutdown, the days after a flood. That's when it earns its keep.
So I expect a Lattice user to keep two messengers on their phone: one for normal life, and one that sits there waiting for the day normal life goes quiet.
Why not Bitchat?
Bitchat is a good project, and it showed that mesh messaging on phones actually works. Where Lattice goes a different way:
- Identity model. Bitchat is anonymous by default; Lattice is identity by default, with the keys held strongly on the device. The use cases overlap, but Bitchat is tuned for ephemerality and pseudonymity, and Lattice is tuned for reaching the real people you'd want to find when it matters.
- Density. Lattice has explicit cluster-bounded routing for the festival case (WP-04). Bitchat saturates at high density.
- Long dormancy. Lattice is meant to sit installed for 18 months without use and still wake correctly when you need it, and I test that with 90-day clock-manipulation suites. Bitchat hasn't published a similar story.
- Cryptography. Lattice uses hybrid post-quantum from day one.
Why not Briar?
Briar is one of the closest things to Lattice. Both are offline-first, both peer-to-peer, both run over Bluetooth, Wi-Fi and Tor. Where they part ways:
- Battery. Briar's background drain is real, and 20%+ a day is commonly reported. Lattice aims for 4–8% a day in the background, single digits in Standby, and under 1% in Dormant.
- iOS. Briar is Android-only. Lattice ships on both platforms from day one.
- Onboarding. Briar wants a face-to-face contact exchange. Lattice has Lattice Invites (WP-02) for adding people you can't physically meet.
- Density. I don't know of another project with explicit design for festival-scale crowds.
If you want to run both Lattice and Briar, go ahead. They cover overlapping but distinct ground.
Why not Meshtastic?
Meshtastic is great at the thing it's built for, and Lattice is built for a different thing. They sit alongside each other more than they compete.
- Hardware vs. software. Meshtastic is the hardware. Every node is a dedicated LoRa device (LILYGO, Heltec, RAK and so on), and your phone is a thin BLE remote control for the radio. Lattice runs on the phone you already carry, over radios that are already in your pocket. And rather than competing with Meshtastic it rides it: Meshtastic support is built into the app on both platforms, so a paired Meshtastic board extends Lattice to LoRa distances without you leaving Lattice.
- Range. Meshtastic gets kilometres out of the box because LoRa is its only transport. Lattice gets metres to hundreds of metres out of the box over BLE and Wi-Fi Aware, and kilometres once it's riding a LoRa radio, whether that's a USB dongle on Android or a Bluetooth-tethered Meshtastic board on either platform. Pick Meshtastic if you specifically need long range and don't mind carrying dedicated hardware. Pick Lattice if you want the messenger to live on your phone, with the option to reach further when you add a radio.
- Encryption model. Meshtastic broadcasts on shared "channels", and anyone with the channel's pre-shared key reads everything on it. Direct messages exist, but they're layered on the broadcast model and don't have per-conversation forward secrecy. Lattice encrypts end-to-end per recipient (Noise XX plus ML-KEM-768 hybrid post-quantum), with double-ratchet forward secrecy and MLS for groups. Two different threat models: Meshtastic is built around community visibility, Lattice around private messaging.
- Identity. Meshtastic knows you by a 32-bit node ID and a short name you pick, and trust is informal. Lattice knows you by a 256-bit Bullet ID derived from your seed, with face-to-face fingerprint-word verification, signed introductions (WP-02) and revocation. Stronger guarantees, more setup ritual.
- Throughput. Meshtastic on LoRa runs at about 5 kbps at SF7 and slower at SF12. Lattice on BLE or Wi-Fi Aware runs from hundreds of kbps up to megabits, depending on the transport. Even with a dongle attached, Lattice keeps short-range chat on the local radios where throughput matters and saves LoRa for the long hops.
If you're running a hiking group and want every member's position visible across kilometres of valley, Meshtastic is built for that. If you want a private messenger for your family that waits quietly in the background until the cell network goes down, Lattice is built for that. They can share a phone, and with a Meshtastic dongle attached Lattice can use that same LoRa hardware as one of its transports.