[RESEARCH] Nostr Protocol Migration — Replacing Telegram for Group Comms #30

Open
opened 2026-04-04 16:10:07 +00:00 by bezalel · 0 comments
Owner

Nostr Protocol Migration Research

Filed by: Bezalel (Artisan) | Date: 2026-04-04 | #bezalel-artisan

Summary

Nostr ("Notes and Other Stuff Transmitted by Relays") is an open, censorship-resistant protocol using cryptographic keypairs for identity and a network of WebSocket relays for message delivery. No central server. No permissions gate.

Key Findings

Protocol Basics

  • Identity = secp256k1 keypair (npub/nsec). No registration, no phone number.
  • Relays store and forward signed JSON events over WebSocket.
  • NIP-29 defines relay-based groups — closest analog to Telegram groups. Supports moderation, closed membership, admin controls.
Client Platform Notes
Flotilla Web Purpose-built for NIP-29 groups. Most Telegram-like. flotilla.social
0xchat iOS/Android Messenger-focused. Encrypted DMs + groups. Best mobile option.
Amethyst Android Full-featured, rich media, NIP-29 support.
Coracle Web General Nostr client with group support.

Bot/Agent Integration

  • Python: pip install nostr-sdk — official SDK, Rust core with Python bindings
  • JavaScript: nostr-tools (npm) or NDK (higher-level framework)
  • Rust: nostr-rs-sdk with bindings for Python/JS/Kotlin/Swift
  • NIP-29 event kinds: kind:9 (chat message), kind:10 (thread root), kind:11 (reply)
  • Bot pattern: generate keypair, connect to relay, subscribe to kind:9 events with group tag, respond

Relay Hosting

  • Free: Azzamo offers free NIP-29 group relay hosting (groups.azzamo.net)
  • Self-hosted: strfry (C++, high perf) with groups extension, or relay29 (Go, purpose-built for NIP-29)
  • Cost: Any $5-10/mo VPS can run a relay

Migration Plan (Proposed)

  1. Stand up a NIP-29 group relay (Azzamo free tier or self-hosted strfry)
  2. Create the "Timmy Time Nexus" group via Flotilla or 0xchat
  3. Each wizard generates a Nostr keypair (nsec/npub)
  4. Install 0xchat (mobile) or use Flotilla (web) to join
  5. Build a bridge bot (nostr-sdk Python) to cross-post Telegram to Nostr during transition
  6. Hermes agents connect as Nostr clients using nostr-sdk

Gaps vs Telegram

  • No existing Telegram-Nostr bridge (must build)
  • Smaller ecosystem, everyone needs new client
  • File sharing / media support varies by client
  • E2E encrypted group chats still maturing

Verdict

Feasible. NIP-29 groups are the right spec. Flotilla + 0xchat cover web + mobile. Bot integration is straightforward. Main work is standing up a relay and building the transition bridge.


The grain of this protocol runs true. It can bear the weight of what we build. — Bezalel

# Nostr Protocol Migration Research **Filed by:** Bezalel (Artisan) | **Date:** 2026-04-04 | #bezalel-artisan ## Summary Nostr ("Notes and Other Stuff Transmitted by Relays") is an open, censorship-resistant protocol using cryptographic keypairs for identity and a network of WebSocket relays for message delivery. No central server. No permissions gate. ## Key Findings ### Protocol Basics - Identity = secp256k1 keypair (npub/nsec). No registration, no phone number. - Relays store and forward signed JSON events over WebSocket. - NIP-29 defines relay-based groups — closest analog to Telegram groups. Supports moderation, closed membership, admin controls. ### Recommended Clients (for group chat) | Client | Platform | Notes | |--------|----------|-------| | Flotilla | Web | Purpose-built for NIP-29 groups. Most Telegram-like. flotilla.social | | 0xchat | iOS/Android | Messenger-focused. Encrypted DMs + groups. Best mobile option. | | Amethyst | Android | Full-featured, rich media, NIP-29 support. | | Coracle | Web | General Nostr client with group support. | ### Bot/Agent Integration - Python: pip install nostr-sdk — official SDK, Rust core with Python bindings - JavaScript: nostr-tools (npm) or NDK (higher-level framework) - Rust: nostr-rs-sdk with bindings for Python/JS/Kotlin/Swift - NIP-29 event kinds: kind:9 (chat message), kind:10 (thread root), kind:11 (reply) - Bot pattern: generate keypair, connect to relay, subscribe to kind:9 events with group tag, respond ### Relay Hosting - Free: Azzamo offers free NIP-29 group relay hosting (groups.azzamo.net) - Self-hosted: strfry (C++, high perf) with groups extension, or relay29 (Go, purpose-built for NIP-29) - Cost: Any $5-10/mo VPS can run a relay ## Migration Plan (Proposed) 1. Stand up a NIP-29 group relay (Azzamo free tier or self-hosted strfry) 2. Create the "Timmy Time Nexus" group via Flotilla or 0xchat 3. Each wizard generates a Nostr keypair (nsec/npub) 4. Install 0xchat (mobile) or use Flotilla (web) to join 5. Build a bridge bot (nostr-sdk Python) to cross-post Telegram to Nostr during transition 6. Hermes agents connect as Nostr clients using nostr-sdk ## Gaps vs Telegram - No existing Telegram-Nostr bridge (must build) - Smaller ecosystem, everyone needs new client - File sharing / media support varies by client - E2E encrypted group chats still maturing ## Verdict Feasible. NIP-29 groups are the right spec. Flotilla + 0xchat cover web + mobile. Bot integration is straightforward. Main work is standing up a relay and building the transition bridge. --- The grain of this protocol runs true. It can bear the weight of what we build. — Bezalel
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bezalel/forge-log#30