NostrNet
A cross-platform .NET 10 Nostr
client library. Pure managed code, single TFM (net10.0), AOT-compatible,
minimal dependencies.
using NostrNet.Client;
using NostrNet.Keys;
using var key = PrivateKey.Generate();
await using var client = await NostrClient.Builder(key)
.UseRelays("wss://relay.damus.io", "wss://nos.lol")
.ConnectAsync();
await client.PostNoteAsync("Hello, Nostr!");
Packages
| Package | What it is |
|---|---|
| NostrNet.Core | Keys, events, NIP-01, NIP-19 bech32, profiles, articles, threading, reactions |
| NostrNet.Crypto | ChaCha20, NIP-44 v2, NIP-17 DMs, NIP-59 gift wrap, NIP-51 lists |
| NostrNet.Relay | WebSocket relay client, RelayPool, NIP-11 info, NIP-05 verification |
| NostrNet.Client | High-level NostrClient façade — pool + key + helpers |
| NostrNet.Blossom | Blossom content-addressed media (BUDs 00–12) + NIP-B7 user servers |
| NostrNet.Marmot | Marmot MLS-over-Nostr envelopes + chat helpers (kinds 443/444/445) |
| NostrNet.Marmot.Mls.Native | OpenMLS provider via in-tree Rust FFI bridge |