##\ ##\
## | ## |
#######\ ##\ ##\ ######\####\ #######\ #######\ ######\ ######\
## __##\ ## | ## |## _## _##\ ## _____|## __##\ \____##\\_## _|
## | ## |## | ## |## / ## / ## |## / ## | ## | ####### | ## |
## | ## |## | ## |## | ## | ## |## | ## | ## |## __## | ## |##\
## | ## |\####### |## | ## | ## |\#######\ ## | ## |\####### | \#### |
\__| \__| \____## |\__| \__| \__| \_______|\__| \__| \_______| \____/
##\ ## |
\###### |
\______/
A lightweight ephemeral chat client built on Nostr protocol, bridged with Bitchat for anonymous, temporary messaging.
Nymchat, also known as NYM (Nostr Ynstant Messenger), is a Progressive Web App (PWA) chat messenger that uses Nostr's ephemeral events (kind 20000) for geohash-based location channels and NIP-17 encrypted events (kind 1059) for private messages. No registration required - just pick a nym and start chatting.
- Ephemeral Identity - Generate temporary keypairs and pseudonyms per session
- Auto-Ephemeral Mode - Auto-start ephemeral sessions without a welcome screen
- Geohash Channels - Location-based channels using geohash encoding (kind 20000)
- Channel Sharing - Generate shareable URLs for channels
- Channel Pinning - Pin frequently used channels to the top of your list
- Proximity Sorting - Sort geohash channels by distance from your location
- Private Messages - End-to-end encrypted PMs using NIP-17
- Rich Text - Markdown support for bold, italic, strikethrough, code blocks, and quotes
- Message Reactions - React to messages with emojis (NIP-25)
- Auto-Reply - Set away messages with
/brbcommand - Image Sharing - Upload and share images via blossom.band
- Lightning Zaps - Send Lightning payments to messages and user profiles (NIP-57)
- Lightning Addresses - Set your Lightning address for receiving zaps
- QR Invoice Display - Visual QR codes for Lightning invoices
- User Blocking - Block unwanted users and channels
- Keyword Filtering - Block messages containing specific keywords or phrases
- Flood Protection - Automatic spam prevention
- Image Blur - Option to blur images from other users until clicked
- Multiple Themes - Matrix Green, Amber, Cyberpunk, Hacker Blue, Ghost (B&W), Bitchat (Multicolor)
- Notification Sounds - Classic Beep, ICQ Uh-Oh, MSN Alert, or Silent
- Time Format - 12-hour or 24-hour time display
- Auto-Scroll - Toggle automatic message scrolling
- Geohash event
kind 20000with['g', geohash]tag - Tags:
['n', nym]for nickname,['client', 'Nymchat']for client identification
- NIP-17 encrypted direct messages
kind 1059 - End-to-end encryption with recipient's public key
- Reaction events
kind 7(NIP-25) with['k', originalKind]tag for proper categorization - Lightning zaps
kind 9735(NIP-57) with full invoice generation and payment tracking
Basic Commands:
/help- Show available commands/join <channel>- Join a geohash channel (e.g., /join #9q5)/j- Shortcut for /join/pm <nym>- Send private message (e.g., /pm nym or /pm nym#xxxx)/nick <nym>- Change your nym/who- List online nyms in current channel/w- Shortcut for /who/clear- Clear chat messages/leave- Leave current channel/quit- Disconnect from Nymchat
Moderation Commands:
/block [nym|#channel]- Block a user or channel/unblock <nym|#channel>- Unblock a user or channel
Social Commands:
/slap <nym>- Slap someone with a trout/hug <nym>- Give a warm hug/me <action>- Action message (e.g., /me is coding)/shrug- Send a shrug ¯_(ツ)_/¯/brb <message>- Set away message/back- Clear away message/invite <nym>- Invite user to current channel
Formatting Commands:
/bold <text>or/b- Send bold text/italic <text>or/i- Send italic text/strike <text>or/s- Send strikethrough text/code <text>or/c- Send code block/quote <text>or/q- Send quoted text
Lightning Commands:
/zap <nym>- Send Lightning zap to user profile
Channel Commands:
/share- Share current channel URL
You can load Nymchat directly on your own machine by opening the index.html file in your browser:
- Clone or download this repository
- Open
index.htmlin any modern web browser (Chrome, Firefox, Safari, Edge) - That's it — Nymchat will connect to the Nostr relay network and you can start chatting
No build tools, web server, or dependencies are required. The entire web app is self-contained in the index.html, css/, and js/ directories.
Nymchat is also available as an open source Flutter app for iOS and Android. The source code is located in the android-ios-app/ directory.
The Flutter app is a native shell wrapper around the Nymchat PWA, providing:
- Push Notifications - Native push notifications for new messages
- Seamless External Browsing - Links open in the system browser
- Native Performance - Smooth, native-feeling experience on both platforms
- Ensure you have the Flutter SDK installed (requires SDK ^3.6.0)
- Navigate to the app directory:
cd android-ios-app - Install dependencies:
flutter pub get - Run on your device or emulator:
flutter run
Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
See the releases page for each update's changes.
This project is licensed under the MIT License - see the LICENSE file for details.
If you choose to use Nymchat on 21 Million LLC operated infrastructure and domain (nymchat.app), your use is subject to the below Terms of Service and Privacy Policy.
Created and operated by 21 Million LLC - Lead developer: @Luxas#a8df
