Nostrid is a multi-platform, open-source Nostr client. It is written in .NET and runs in Android, Windows and MacOS (it should run in iOS too but there are no binaries yet).
Also a web version is available. It runs completely on the browser, and it can even be installed locally as a PWA.
For a quick start check out the Installation section below.
- Multiaccount with simple switching
- NIP-07 extensions, e.g. nos2x (Web/PWA version only)
- NIP-05 profiles
- Lightning Network (pay button and profile setup)
- Text notes with support for markdown (receive and send)
- Upload media files (uses third-party services nostr.build, void.cat and nostrimg.com)
- Delete notes
- NIP-13 PoW (receive/filter and send)
- Reactions (receive and send)
- Hashtags (send and search)
- Customizable feeds based on hashtags
- Username and profile images (read and update)
- Follows (read and update)
- Followers (read)
- Bech32 (
npub
,note
,nsec
) - Automatic relay management (no user intervention is required)
- Manual relay management
- Local cache of events
- Notification of unread mentions
- Display embedded images, videos and audios
- Reposts (aka Boosts)
- Embedded mentions of other accounts and notes - PARTIAL (only links, no previews)
- Channels - PARTIAL (can join and participate but can't create channels yet)
- Direct messages - SOON
- NIP-26 delegation - SOON
- NIP-01: Basic protocol flow description ✅
- NIP-02: Contact List and Petnames ✅
- NIP-03: OpenTimestamps Attestations for Events
- NIP-04: Encrypted Direct Message
- NIP-05: Mapping Nostr keys to DNS-based internet identifiers ✅
- NIP-06: Basic key derivation from mnemonic seed phrase
- NIP-07: window.nostr capability for web browsers ✅ (Web/PWA version only)
- NIP-08: Handling Mentions ✅
- NIP-09: Event Deletion ✅
- NIP-10: Conventions for clients' use of e and p tags in text events. ✅
- NIP-11: Relay Information Document ✅
- NIP-12: Generic Tag Queries ✅
- NIP-13: Proof of Work ✅
- NIP-14: Subject tag in text events.
- NIP-15: End of Stored Events Notice ✅
- NIP-16: Event Treatment
- NIP-19: bech32-encoded entities ✅
- NIP-20: Command Results
- NIP-21: nostr: URL scheme
- NIP-22: Event created_at Limits
- NIP-25: Reactions ✅
- NIP-26: Delegated Event Signing
- NIP-28: Public Chat ✅
- NIP-33: Parameterized Replaceable Events
- NIP-36: Sensitive Content
- NIP-40: Expiration Timestamp
- NIP-42: Authentication of clients to relays
- NIP-50: Keywords filter ✅
- NIP-56: Reporting
- NIP-65: Relay List Metadata
- .NET 7.0
- MAUI
- Blazor
- Bootstrap
- Entity Framework
- SQLite-net
- NNostr
- HtmlSanitizer
- Jdenticon.Net
- Markdig
- QRCoder
- Popper
Feel free to open issues and send PRs. Alternatively you can support the project by donating here:
- Lightning Network
- LNURL
- BTC:
bc1p3r5yx550jprj5zzg8arlrnaregvxsxuh5jfx95awex6shx0etcxsygks7r
- XMR:
84qzqe1EW5fDvaRN9xj5HACTL6xmd1M4wNk1K1W29W5CVXuhpdVYXSU5ZfCpxJJw7MeLJyEybGSqgNwU3Rn9qm2PDKgKFmD
-
Android
- 7.0 or higher
-
Windows
- 10.0.19041.0 or higher
-
MacOS
- 11 or higher
You can find the binaries in the Releases section.
-
Android
- Download APK and install.
-
Windows
- Download ZIP package, unzip and run
Install.ps1
in PowerShell. Follow instructions.
- Download ZIP package, unzip and run
-
MacOS
- Download PKG and install. Since the package is unsigned you may have to control-click and choose
Open with...
>Installer
.
- Download PKG and install. Since the package is unsigned you may have to control-click and choose
- Install Visual Studio 2022 with support for
.NET Multi-platform App UI development
(and optionally.NET Webassembly Build Tools
for Web project) - Clone this repository
- Make sure
git
is in yourPATH
system variable - Run
git submodule update
to restore custom libraries - Open solution in Visual Studio and run
- For Android: run
dotnet build -c Release -f net7.0-android
inNostrid
inner project - For MacOS: run
dotnet publish -c Release -f net7.0-maccatalyst
inNostrid
inner project
- lapulpeta
npub14uc57wfq2zd0g3qh5lpvkq2svvkjl9fruzyxnz9zh95ev2japw7ql2g0sq
- danielmangia
npub1aftaccjtz06z0naqxdlavwutw5ccr2x4wx3wrld7s5yd9j4kqwuq3kvrja
This project is licensed under the MIT License - see the LICENSE file for details