Fast, easy-to-use, and complete Nostr client with built-in Bitcoin wallet.
| NIP | Description |
|---|---|
| NIP-01 | Basic protocol flow description |
| NIP-02 | Follow List |
| NIP-05 | Mapping Nostr keys to DNS-based internet identifiers |
| NIP-06 | Basic key derivation from mnemonic seed phrase |
| NIP-09 | Event Deletion Request |
| NIP-10 | Text Notes and Threads |
| NIP-17 | Private Direct Messages |
| NIP-18 | Reposts |
| NIP-19 | bech32-encoded entities |
| NIP-21 | nostr: URI scheme |
| NIP-23 | Long-form Content |
| NIP-25 | Reactions |
| NIP-27 | Text Note References |
| NIP-44 | Encrypted Payloads (Versioned) |
| NIP-51 | Lists |
| NIP-56 | Reporting |
| NIP-57 | Lightning Zaps |
| NIP-59 | Gift Wrap |
| NIP-62 | Request to Vanish |
| NIP-65 | Relay List Metadata |
| NIP-04 | Direct Messages (used by NWC) |
| NIP-47 | Nostr Wallet Connect |
| NIP-77 | Negentropy Syncing |
| NIP-98 | HTTP Auth |
| Kind | Description |
|---|---|
| 0 | User Metadata |
| 1 | Text Note |
| 3 | Follow List |
| 5 | Event Deletion |
| 6 | Repost |
| 7 | Reaction |
| 14 | Direct Message (rumor) |
| 15 | File Message (rumor) |
| 62 | Request to Vanish |
| 1984 | Reporting |
| 1059 | Gift Wrap |
| 9734 | Zap Request |
| 9735 | Zap Receipt |
| 23194 | NWC Request |
| 23195 | NWC Response |
| 10000 | Mute List |
| 10001 | Pin List |
| 10002 | Relay List Metadata |
| 24242 | Blossom Auth |
| 27235 | HTTP Auth |
| 30000 | Follow Sets |
| 30001 | Bookmark List |
| 30023 | Long-form Article |
| Component | Technology |
|---|---|
| UI | Flutter |
| State management | flutter_bloc |
| Native layer | Rust via flutter_rust_bridge |
| Nostr protocol | nostr-sdk 0.44 (Rust) |
| Local database | LMDB via nostr-lmdb |
| Secure storage | flutter_secure_storage |
| Routing | go_router |
| DI | get_it |
Layered architecture with strict dependency direction:
UI -> Presentation -> Data -> Domain
- Domain -- Entities and mappers, no framework imports
- Data -- Repositories, services, sync logic
- Presentation -- BLoCs with events and states
- UI -- Screens and widgets
All cryptographic operations, event signing, relay communication, NIP-44 encryption, NIP-17 gift wrapping, NIP-19 encoding, and database access run in Rust. The Dart side interacts through auto-generated bridge code.
Prerequisites: Flutter SDK, Rust toolchain, and flutter_rust_bridge CLI.
flutter pub get
flutter_rust_bridge_codegen generate
flutter run