Hysen Labs
Open-source project
permissionlesstech/bitchat avatar
permissionlesstech

bitchat

bluetooth mesh chat, IRC vibes

35,394 stars5,644 forksSwiftUnlicense
01
DEEP OPEN-SOURCE ANALYSIS

Bitchat pairs Bluetooth mesh with Nostr for chat

Two transports under the hood: a local Bluetooth mesh that routes messages up to seven hops offline, and the Nostr protocol for global reach. No accounts, no phone numbers, no central servers.

02
DEEP OPEN-SOURCE ANALYSIS

An app built on two transports

Bitchat describes itself as a decentralized peer to peer messaging app with a dual transport architecture. Local Bluetooth mesh networks handle offline communication, while the internet based Nostr protocol covers global reach. There are no accounts, no phone numbers, and no central servers. The README sums up the vibe as the side groupchat. The app is written in Swift and released under the Unlicense.

03
DEEP OPEN-SOURCE ANALYSIS

Getting a copy you can trust

A section on getting a trustworthy copy matters more here than usual. The README says to install from the App Store or build from source you have verified, because a compiled build from anywhere else cannot be verified. It points to a per release hash manifest for checking source. The reason is stated directly: this repository has been the target of takedown demands, and when a repository or releases page disappears, mirrors appear that nobody can check.

04
DEEP OPEN-SOURCE ANALYSIS

How the mesh routes messages

The offline half is a Bluetooth mesh network. Communication is direct peer to peer within Bluetooth range, with multi hop relay routing through nearby devices up to a maximum of seven hops. No internet is required, which the README frames for disaster scenarios. The mesh uses Noise Protocol encryption with forward secrecy for live sessions, a compact binary protocol for Bluetooth LE constraints, automatic peer discovery, and battery optimized duty cycling.

05
DEEP OPEN-SOURCE ANALYSIS

The Nostr half

The internet half rides on Nostr relays, with a network of over 440 relays distributed globally. Location based channels use geohash coordinates, and ephemeral keys give a fresh cryptographic identity per geohash area. One detail is worth flagging: BitChat's private envelope format is proprietary and not NIP-17, NIP-44, or NIP-59 compatible. Private payloads travel inside kind-1059 events with a BitChat specific XChaCha20-Poly1305 construction, so it only interoperates with other BitChat clients.

06
DEEP OPEN-SOURCE ANALYSIS

Features that stand out

The feature list is long. Location based channels work at several geohash precisions, from block and neighborhood up to city, province, and region. Intelligent routing picks Bluetooth first and falls back to Nostr. There are IRC style commands like /slap, /msg, and /who. The app is a universal build for iOS and macOS, offers an emergency wipe on a triple tap, and optimizes with LZ4 message compression, adaptive battery modes, and tuned networking.

07
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The README is unusually candid about trust: only the App Store build or a source build you verify counts, because the repository has faced takedown demands and untrusted mirrors can appear when releases disappear.

08
DEEP OPEN-SOURCE ANALYSIS

Official sources

09
Community notes

Community notes