TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

permissionlesstech/bitchat

Decentralized peer-to-peer messaging app

+51 stars in 7 days

Build anonymous Bluetooth mesh chats that work without the internet

Imagine a chat room that exists only within radio range. As soon as you turn on your smartphone, nearby devices connect automatically, and messages are delivered even if the internet is down. bitchat is a decentralized messaging app that requires no account or phone number, using Bluetooth for offline communication and the Nostr protocol when online.

Communication via two paths

The app automatically selects a communication path based on the situation. If other users are nearby, it uses Bluetooth Low Energy (LE) to relay messages up to seven hops. If an internet connection is available, it can join geographic channels through Nostr relays worldwide. Both methods hide the user's identity, and private messages are protected by the Noise protocol or BitChat-specific encrypted envelopes.

Location-based channels and anonymity

Chat rooms are divided based on geohash, a geographic coordinate system. You can join conversations of different scopes—block, neighborhood, city, state, or region—depending on the precision level. A new encryption key is generated for each area to maintain anonymity. However, because Bluetooth mesh uses a unique identifier for each device, nearby radio equipment can observe this, a point that should be verified in the whitepaper.

Verifying trusted builds

It is recommended to install from the app store or verify the source code directly to build it. Since this repository has received deletion requests in the past, unverifiable mirror sites may appear if the original is lost. You must always verify the integrity of the source code using the hash manifest provided with each release. Public build files alone cannot guarantee safety, so the source verification procedure is essential.

Setting up and running the development environment

You can open the Xcode project or use the just tool to build. The macOS debug build is performed without signing using the xcodebuild command, and the SwiftPM test suite is run with swift test. iOS simulator tests are conducted by specifying a particular device. The local configuration file generates the app identifier based on the Apple Developer Team ID, so there is no need to modify existing project files.

Pre-use considerations

The app is licensed under the public domain, allowing free use. However, it does not guarantee complete anonymity, and device identifiers may be exposed, especially in offline mesh networks. While useful in disaster situations without internet, protest sites, or remote areas, you must review the metadata observation possibilities stated in the whitepaper if security is the top priority. Additionally, BitChat's private message format is not compatible with standard Nostr specifications (such as NIP-17 and NIP-44), so there is no interoperability with other clients.

Written by AI from this repository's README on September 30, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
17 days between Jun 19, when Trend began recording, and Nov 8, 2026 · first on Jul 28

Read from GitHub, as of November 8, 2026.

Language
Swift
Topics
bluetooth · bluetooth-le · decentralized · e2e-encryption · ios · macos · mesh-network · messaging
Stars
37,098
Stars gained in 7 days
+51
Contributors
59
Forks
5,886
Latest release
v1.8.0 · October 23, 2026
Commits
1,088
Last commit
October 25, 2026
Open issues
48
Open pull requests
127

Related repositories

View on GitHub →