Bitchat’s composer supports an IRC-style command interface. Every command begins with aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/permissionlesstech/bitchat/llms.txt
Use this file to discover all available pages before exploring further.
/ character. Commands are the primary way to open private chats, manage groups, inspect the mesh, and interact with peers — without leaving the keyboard.
Available Commands
Some commands are context-sensitive. Commands that interact with the Bluetooth mesh (/ping, /trace, /fav, /unfav, /group) are only suggested and accepted in the #mesh channel. The /pay command is suppressed in public geohash location channels because Cashu tokens are bearer instruments — anyone reading the channel could redeem one before your intended recipient.
/block <nickname>
/block <nickname>
Block a peer. Stops their messages from appearing in your timelines and purges any of their cached public messages from your device. Works for both mesh peers (identified by Noise key fingerprint) and geohash channel participants (identified by Nostr public key).Running
/block with no arguments prints your current block list, separated into mesh blocks and geohash blocks.Syntax: /block <nickname>Example:/unblock <nickname>
/unblock <nickname>
Unblock a previously blocked peer. Reverses the effect of
/block. The peer’s future messages will appear normally; previously purged messages are not restored.Syntax: /unblock <nickname>Example:/clear
/clear
Clear the current chat timeline. In the public mesh channel, clears the local message history. In a private chat, clears that conversation. The action is local only — other peers’ timelines are not affected.Syntax:
/clear/drop <note>
/drop <note>
Drop a location note at your current position. Posts a short text note pinned to your current building-level geohash with a 24-hour expiry (Nostr NIP-40). Anyone who visits the same location and checks the area notes will see it until it fades.Requires location permission to be enabled in the Info screen. Location notes must also be turned on in settings. Internet access is required to reach Nostr geo relays.Syntax:
/drop <message>Example:/fav <nickname>
/fav <nickname>
Favorite a mesh peer. Pins their full Noise public key so Bitchat can recognize them across sessions. Enables the Nostr delivery path and grants them a larger courier deposit quota. The peer is notified over the mesh or Nostr that you favorited them.Only works in the See Favorites & Delivery for what favorites unlock.
#mesh channel — not in geohash location channels.Syntax: /fav <nickname>Example:/unfav <nickname>
/unfav <nickname>
Remove a peer from favorites. The peer’s Nostr delivery path and larger courier quota are revoked. Only works in the
#mesh channel.Syntax: /unfav <nickname>Example:/group <subcommand>
/group <subcommand>
Manage private encrypted groups. Groups are end-to-end encrypted with a ChaCha20-Poly1305 symmetric key that only members hold. The group creator controls membership. Only works in the
Examples:See Groups for a full explanation of group encryption and key rotation.
#mesh channel — groups are a mesh-only feature.| Subcommand | Description |
|---|---|
create <name> | Create a new group with the given name |
invite @name | Invite a mesh peer into the current group (creator only) |
remove @name | Remove a member from the current group (creator only); rotates the key |
leave | Leave the current group |
list | List all groups you are a member of |
/help
/help
Show the command reference. Prints all available commands as a local system message. The list does not leave your device.Syntax:
/help/hug <nickname>
/hug <nickname>
Send a hug action. Posts an IRC-style
* 🫂 yournick hugs nickname * emote to the current channel (public or private). A friendly gesture with a long IRC heritage.Syntax: /hug <nickname>Example:/msg <nickname> [message]
/msg <nickname> [message]
Start or send a private message. Opens a private encrypted chat with the named peer. If a message is included after the nickname, it is sent immediately. Also available as
/m.Syntax: /msg <nickname> [optional message text]Examples:/pay <token>
/pay <token>
Send a Cashu ecash token. Validates that the pasted string decodes as a well-formed Cashu token (
cashuA… or cashuB…), then sends it as the message body in the current chat. Bitchat never contacts a mint — it only relays the token string.Syntax: /pay <cashu-token> or /pay <cashu-token> publicExample (private DM):/ping <nickname>
/ping <nickname>
Measure round-trip time to a mesh peer. Sends a ping packet over the Bluetooth mesh and waits for a pong reply, then reports the round-trip time in milliseconds and, if available, the number of hops. Only works for mesh peers in the
#mesh channel.Syntax: /ping <nickname>Example:/slap <nickname>
/slap <nickname>
Slap someone with a large trout. The classic IRC emote. Posts
* 🐟 yournick slaps nickname around a bit with a large trout * to the current channel.Syntax: /slap <nickname>Example:/trace <nickname>
/trace <nickname>
Trace the estimated mesh path to a peer. Computes an estimated hop-by-hop route based on gossiped neighbor topology data collected from peer announcements. The path is an estimate — not a recorded trace — because topology is assembled from each peer’s self-reported neighbors, not from packet forwarding records. Only works for mesh peers in the
#mesh channel.Syntax: /trace <nickname>Example:/who
/who
List visible peers. In the
#mesh channel, lists connected mesh peer nicknames. In a geohash location channel, lists participants currently visible in that channel (excluding yourself).Syntax: /whoExample:Context Restrictions
The table below summarizes which commands are available in each channel type.| Command | #mesh | Private DM | Location channel |
|---|---|---|---|
/block / /unblock | ✅ | ✅ | ✅ |
/clear | ✅ | ✅ | ✅ |
/drop | ✅ | ✅ | ✅ |
/help | ✅ | ✅ | ✅ |
/hug / /slap | ✅ | ✅ | ✅ |
/msg | ✅ | ✅ | ✅ |
/who | ✅ | — | ✅ |
/pay | ✅ | ✅ | ⚠️ requires public flag |
/fav / /unfav | ✅ | — | ❌ |
/group | ✅ | — | ❌ |
/ping | ✅ | — | ❌ |
/trace | ✅ | — | ❌ |