Snort: a Nostr web client
Feature-packed Nostr client in TypeScript/React. The most widely used web interface for the protocol, with an active contributor community.
Snort is a Nostr client for the web, written in TypeScript and React with speed as the first goal. It has been in continuous development since December 2022, and OpenSats funded full-time work on it from 2023 to 2025.
It implements more than 45 NIPs: private messages with NIP-17 gift wraps, zaps, zap goals and zap polls, long-form posts, live events, badges, lists, relay lists, search, and Data Vending Machines. Keys can stay in a browser extension, a remote bunker or an Android signer app. Media uploads go to Blossom servers.
The repository is a Bun workspace. Alongside the app it publishes the libraries the client is built on, for relay connections, query planning, crypto and Lightning wallets, so other projects can build on the same code. The app is translated by the community on Crowdin.
Protocol coverage
More than 45 NIPs, from the basic event flow up to Data Vending Machines, picture feeds and video events.
Zaps and wallets
NIP-57 zaps, zap goals and polls, paid through Nostr Wallet Connect or an attached Lightning wallet.
Messaging
NIP-04 and NIP-17 direct messages, NIP-44 encryption and NIP-59 gift wrap, plus public chat channels.
Signers
NIP-07 browser extensions, NIP-46 remote signing and bunkers, and NIP-55 Android signer apps.
Libraries
@snort/system and its companions on npm: relay pool, query engine, caching workers and wallet support.
Community
Hundreds of stars, outside contributors and a Crowdin project translating the interface.