NostrNet

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