Repolode
permissionlesstech

permissionlesstech/bitchat

A decentralized chat app that works over Bluetooth mesh offline and over Nostr relays online, with no accounts or phone numbers.

Open-source alternative to:WhatsAppTelegram

Stars
36,661
Forks
5,834
Open issues
147
Last commit
3 days ago

What is it?

bitchat is a peer-to-peer messaging app for iOS and macOS. It uses two transports: a Bluetooth Low Energy mesh that relays messages across nearby devices up to seven hops without any internet connection, and the Nostr protocol for reaching people over the internet through relays. Messages route over Bluetooth when a peer is nearby and fall back to Nostr otherwise.

The app requires no accounts, phone numbers or central servers. Live Bluetooth sessions are encrypted with the Noise Protocol. Internet chat includes location channels based on geohash areas, from city block to region, where each geohash area uses ephemeral keys. Private messages over Nostr use BitChat's own envelope format, which is not compatible with NIP-17, NIP-44 or NIP-59.

The project is released into the public domain under the Unlicense. It is built in Swift with Xcode and SwiftPM, and includes IRC-style commands such as /msg and /who.

Key features

  • 01Offline messaging over a Bluetooth LE mesh with multi-hop relay up to seven hops.
  • 02Internet messaging over Nostr relays when Bluetooth peers are not in range.
  • 03Location channels organized by geohash area, from city block to region.
  • 04Noise Protocol encryption for live Bluetooth sessions.
  • 05Emergency wipe triggered by triple-tapping.
  • 06IRC-style commands such as /msg and /who.

Use cases

  • Messaging during protests, disasters or outages when mobile networks are down.
  • Chatting with people nearby in a neighborhood or city through location channels.
  • Trying a chat app that needs no account or phone number.
  • Studying a Bluetooth mesh and Nostr-based messaging implementation in Swift.

Quick start

  1. 1

    Install from the App Store or Play Store, or build from source you have verified

  2. 2

    Open the Xcode project

    open bitchat.xcodeproj
  3. 3

    Build the macOS app without signing

    xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" -configuration Debug CODE_SIGNING_ALLOWED=NO build

Things to know

  • Building from source requires Xcode and an Apple development environment.
  • Compiled builds from other sources cannot be verified, per the project's own guidance.
  • Bluetooth mesh only reaches devices within multi-hop range, and nearby radios can observe a persistent device identifier.

Topics

FAQ

What is bitchat?
A decentralized chat app that works over Bluetooth mesh offline and over Nostr relays online, with no accounts or phone numbers. bitchat is a peer-to-peer messaging app for iOS and macOS. It uses two transports: a Bluetooth Low Energy mesh that relays messages across nearby devices up to seven hops without any internet connection, and the Nostr protocol for reaching people over the internet through relays. Messages route over Bluetooth when a peer is nearby and fall back to Nostr otherwise.
Is bitchat free to use? What license does it have?
bitchat is open source under the Unlicense license. Check the license terms before using it in commercial products.
Is bitchat still maintained?
Actively maintained. The last commit to bitchat was on Oct 18, 2026.
What can I use bitchat for?
Messaging during protests, disasters or outages when mobile networks are down. Chatting with people nearby in a neighborhood or city through location channels. Trying a chat app that needs no account or phone number. Studying a Bluetooth mesh and Nostr-based messaging implementation in Swift.
How do I install bitchat?
Install from the App Store or Play Store, or build from source you have verified Open the Xcode project: open bitchat.xcodeproj Build the macOS app without signing: xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" -configuration Debug CODE_SIGNING_ALLOWED=NO build
Where can I get bitchat?
The source code and installation instructions are on GitHub: https://github.com/permissionlesstech/bitchat

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects