Netstr is a free, open-source Nostr relay written in C# and designed for people who want to run their own relay on Windows. It suits developers testing Nostr clients, hobbyists who want a personal relay, and small communities that prefer to host their own infrastructure instead of relying on a public one.
A relay is the server that stores and forwards events on the Nostr network. Users publish notes and messages to relays, and clients read from them. Netstr gives you the server side of that exchange, with its data kept in a Postgres database rather than in a simple file store. The project is a general-purpose relay, so it is not tied to a single app or community.
What Is a Nostr Relay and Why Run One?
Nostr is an open protocol in which users sign their messages with cryptographic keys and send them to servers called relays. Any client can read from any relay, so no single company controls the network. A relay is simply a server that accepts, stores and serves signed events.
Running your own relay gives you control over where your data lives. You decide which events to keep, how long to keep them, and who may connect. Netstr is one of the few options that targets Windows directly, which makes it a reasonable starting point for people who do not want to manage a Linux server just to experiment.
A relay you host yourself is also useful as a private archive or a test environment. Developers can point a client at a local relay and see exactly what gets stored and returned, without the noise of public infrastructure.
Who Netstr Is For
Netstr fits three main groups. The first is developers building Nostr clients or extensions who need a predictable relay to test against. Because the project implements many NIPs, you can check how your code handles features such as authentication, search or counting.
The second group is technically capable individuals who want a personal relay for their own events, bookmarks or direct messages. The third is small communities, such as a group of friends or an interest-based circle, that want a shared relay with a known operator.
It is less suited to people who want a plug-and-play social app. Netstr is a server component, not a client, so you will need a separate Nostr client to post and read content.
How Netstr Fits the Nostr Ecosystem
The relay is one piece of a larger picture. Clients such as Amethyst, Gossip and Coop handle keys, timelines and message composition. Relays like Netstr store the events and answer queries. Command-line tools such as NAK and Nostr Commander RS let you interact with relays from a terminal, which is handy for scripting and debugging.
Because Nostr relays are interchangeable, you can use Netstr alongside public relays. Many users publish to several relays at once so that their content remains available even if one server goes offline. Running your own relay adds one more reliable location to that set.
Understanding this separation helps set expectations. If you want a relay, Netstr is the piece you install. If you want to browse or post, you will still choose a client.
Understanding NIPs and Protocol Versions
Nostr grows through NIPs, numbered documents that describe optional features. A relay advertises which NIPs it supports through its relay information document under NIP-11. Clients read that document to decide what the relay can do.
Some NIPs are essential, such as the basic protocol flow in NIP-01. Others are extensions that only matter for specific use cases. NIP-04 is an example of a feature that has been superseded: it is still supported for compatibility, but the community now favors NIP-17 for private messages.
When evaluating Netstr, check the NIPs your target clients rely on before you deploy. A relay that lacks a feature your client needs will appear to be broken even though the software is working as designed.
Key features
Broad NIP coverage
Private direct messages
Authentication and search
Retention and cleanup controls
Proof of work and counting
Postgres-backed storage
Supported coins
Netstr operates on the Nostr network. Its documentation mentions Nostr as the supported network, and it is a protocol relay rather than a currency or wallet tool, so it does not handle coins or tokens directly.
How to install Netstr on Windows
- 1
Download the program
Get the latest release, v1.3.0, from the official GitHub repository at https://github.com/bezysoftware/netstr. Look for a Windows build or installer under the Releases section. Download only from the official website or the GitHub page.
- 2
Verify the file
Compare the SHA-256 checksum of the downloaded file with the value published on the release page, if one is provided. On Windows, open PowerShell and run Get-FileHash followed by the file path. A mismatch means the file should not be installed.
- 3
Prepare Postgres
Netstr stores its data in a Postgres database, so install and start a Postgres server before configuring the relay. You can run Postgres locally on Windows or inside a container. Create a dedicated database and user for the relay.
- 4
Install and configure
Run the installer or extract the Windows build to a folder of your choice. Edit the configuration so the relay points to your Postgres instance with the correct connection string, and choose the network address and port the relay will listen on.
-
Start and test
Launch Netstr and confirm that it is listening on the configured port. Connect a Nostr client to the relay address and publish a test event. Check that the event appears when you query for it, which confirms that storage and retrieval work end to end.
System requirements
- A Windows build or installer is available for the program.
- Postgres is required as the database backend.
- Docker is listed as a supported platform for running the relay as a container.
How to use Netstr
Once Netstr is running, the day-to-day work is about connecting clients and keeping the database healthy. The relay itself needs little attention once it is set up correctly, but testing and monitoring help you catch problems early.
A typical workflow looks like this:
- Start the Postgres server and confirm the database connection before launching the relay.
- Launch Netstr and check that it listens on the address and port you configured.
- Open the relay information endpoint from a browser or with curl to confirm which NIPs are advertised.
- Add the relay URL, usually in the form ws://localhost with your port, to a Nostr client.
- Publish a short test note and query for it from a second client to verify round-trip storage.
- Test authentication with NIP-42 if your setup restricts access.
- Review retention settings for expiration and deletion so that stored data matches your intentions.
- Back up the Postgres database on a regular schedule, because the relay is only as durable as its storage.
Keep logs open during your first few sessions. They show which events are accepted, which are rejected and why, and they make it much easier to debug a client that behaves unexpectedly.
Pros & cons
- Free and open source, with the source code publicly available on GitHub
- Implements a broad set of NIPs, including newer private messaging and search features
- Uses Postgres, a well-understood database for reliable storage
- Written in C# with a focus on high test coverage
- Available as a Windows build and also usable through Docker
- Netstr is a server, so it cannot be used to browse or post content on its own
- Its NIP-04 support is for compatibility only, since that method is deprecated
- Running it requires setting up and maintaining a Postgres database
- The most recent code update was in December 2024, so check activity before relying on it in production
- Documentation for a non-developer audience may be limited compared to consumer apps
Is Netstr safe?
Because Netstr accepts network connections and stores data, treat installation with care. Download only from the official website or the official GitHub repository at https://github.com/bezysoftware/netstr. Verify the SHA-256 checksum of the file before running it, and if the release is signed, check the signature as well. Avoid copies of the program from third-party download sites.
The project's NIP-04 support is marked as deprecated, and the last code update dates to December 2024. Both points are worth weighing before you expose a relay to the public internet. Restrict access where possible, keep the database behind a firewall, and use NIP-42 authentication if you need to limit who can publish.
Never enter a seed phrase or private key into a website that claims to be affiliated with the relay. Nostr keys are sensitive, and a relay operator should never need yours.
- Official source only. Download from github.com/bezysoftware/netstr. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Netstr differs from most entries in this catalog because it is a relay, not a client. Amethyst, Coop, Gossip and Vega are apps you use to read and write Nostr content, while Netstr is the server those apps connect to. If your goal is social browsing, a client such as Amethyst or Gossip is the better starting point.
Among command-line tools, NAK and Nostr Commander RS are useful for scripting and interacting with relays from a terminal. Nostr VPN takes a different approach, building a mesh network on top of Nostr signaling. Blockcore Notes is a progressive web app for organizing follows.
For operators who want to host infrastructure on Windows with a conventional database backend, Netstr is the most directly relevant option here. Its Postgres storage and broad NIP coverage set it apart from lighter relay options.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- v1.3.0
- Last update
- 4 Dec 2024
- Windows support
- Yes (Windows build or installer)
- Source code
- github.com/bezysoftware/netstr
Frequently asked questions
No. Netstr is a relay, which is the server that stores and forwards Nostr events. To post or read content you need a separate client, such as Amethyst, Gossip or Coop. Once you run Netstr, you point your client at the relay address so the two can communicate.
Yes. The project provides a Windows build or installer. It also lists Docker as a supported platform, so you can run it in a container if you prefer. In either case, Postgres must be available because the relay uses it to store event data.
NIP-04 and NIP-17 both define encrypted direct messages on Nostr. NIP-04 is older and has been deprecated, while NIP-17 is the newer method that the community now recommends. Netstr supports both, with NIP-04 kept mainly for compatibility with existing clients and messages.
Yes, Netstr is free and open source. Its source code is available on GitHub, so you can review how it works or contribute changes. There is no price to pay for the software itself, although you may have costs for hosting the server and the database.
Yes. Netstr uses Postgres to store events, so you need a running Postgres server and a database created for the relay. This is different from simpler relays that use file-based storage, and it means you should plan for backups and database maintenance.
NIP-42 allows a client to prove its identity to a relay. This is useful when you want to restrict who can read from or write to your relay, rather than leaving it open to anyone. Clients that support NIP-42 will respond to an authentication challenge from the relay.
Yes. The project lists Docker among its supported platforms, so you can run the relay in a container. This can simplify setup on Windows and keeps the relay isolated from the rest of your system. You will still need to connect the container to a Postgres instance.
The relay advertises its supported features through its relay information document, defined in NIP-11. You can request that document from the relay address using a browser or a command-line tool. It lists the NIPs the relay implements, so you can verify compatibility with your client.
Verdict
Netstr is a sound choice for developers and self-hosters who want a free, open-source Nostr relay that runs on Windows and stores data in Postgres. Its broad NIP support makes it especially useful for testing clients against modern features like NIP-17 messaging and NIP-50 search. It is not a social app on its own, so casual users should look at a client first. Plan for a database to maintain, and keep an eye on the project's update history before depending on it for anything critical.