Swarm is a free, open-source Nostr relay built for teams that want their own shared server on the Nostr network. It suits small groups, communities and developers who would rather run a relay with clear access rules than depend on a public one. The project is a fork of the team-relay software from bitvora, modified for the Swarm.hivetalk.org service.
Swarm is a relay, not a chat app or a wallet, so you will need a Nostr client to read and post. Its main appeal is control. You decide which event types the public can publish, how quickly outsiders can post, and which trusted apps receive special treatment. The latest release is v0.2.0, and the code was updated recently, so the project is current.
What Is Swarm and Who Is It For?
Swarm is a relay for the Nostr network. Nostr is an open protocol in which users sign their messages with cryptographic keys, and relays are servers that store those signed events and pass them to connected clients. Anyone can run a relay, and Swarm is designed for the case where a group wants its own space with its own rules.
The software is aimed at three kinds of users. Small teams that want a shared feed for internal updates can run a relay that only members can fully use. Communities that want public conversation but need moderation tools can open limited posting while keeping control. Developers who are building Nostr apps can use a private relay to test behavior without the noise of a public network.
Because Swarm started as a modified version of the team-relay project and was adapted for the Swarm.hivetalk.org service, its design reflects a practical deployment rather than a theoretical one. That background explains why access tiers, rate limits and trusted clients receive as much attention as storage.
How a Nostr Relay Handles Events
Every action on Nostr is an event. A post, a reaction, a profile update and a deletion request are all signed events with a public key, a timestamp, a kind number and content. The kind tells software what the event is for, so a short text note and a reaction are different kinds even though both travel the same way.
A client sends events to a relay over a persistent connection, and the relay decides whether to store them. Other clients can then request events that match filters, such as posts from a particular author or events of a certain kind. A relay does not need to be the only home for a user's data, which is why people often connect to several relays at once.
This model explains why relay policy matters. An operator who chooses which kinds are accepted, and who can publish them, shapes what the server becomes. Swarm exposes those decisions as configuration, so the relay's character is set by the people running it rather than by a fixed default.
Practical Scenarios for a Team Relay
Consider a small newsroom that wants a private place for editors and reporters to share drafts and links. The operator can set ALLOWEDKINDS so only team members publish content, and team members retain full deletion rights for cleanup. Outside readers can still connect and read, depending on how the relay is configured.
Now picture a hobby community with a public feed. Here the organizers may open a few harmless kinds, such as short notes and reactions, to anyone with a key. Rate limits keep a single account or IP address from flooding the feed, and public users can remove their own mistakes without asking a moderator.
A third case is a developer building a companion app. A trusted client entry lets that app publish specific kinds without being treated as an anonymous visitor. Testing against a private relay also makes it easier to reproduce problems before they reach a public network.
Key features
Tiered access control
Public posting by event kind
Team member privileges
Limited deletion for public users
Layered rate limiting
Trusted client support
Supported coins
The project documentation mentions Nostr and Nano. Swarm is built around Nostr, the open protocol that relays use to pass signed events between clients. Nano is referenced in the documentation, but the relay focuses on Nostr events rather than payments, so it should not be expected to offer wallet or transfer functions.
How to install Swarm on Windows
- 1
Get the release
Download the ready-made release only from the official website or the project's GitHub Releases page at github.com/HiveTalk/swarm. Avoid mirrors and file-sharing links, since a modified build could expose your relay to risks.
- 2
Verify the file
Check the SHA-256 checksum or signature of the download if the release provides one, and compare it with the value published by the project. Do not run the file if the values do not match.
- 3
Prepare Docker
Swarm lists Docker as its platform. On Windows, Docker Desktop is the usual way to run Compose files. Open a terminal and confirm that the docker compose command responds before you continue.
- 4
Configure the .env file
Create or edit the .env file in the project folder. It holds the relay name, allowed kinds, rate limits and trusted client values. Sensible defaults are used when a variable is left out, so you can start with a few small changes.
-
Start the relay
From the folder containing docker-compose.yml, run docker compose up -d. The relay starts with the badger database engine, so no separate database server needs to be installed. Check the container logs to confirm that the relay is listening.
System requirements
- A Docker environment capable of running the included docker-compose.yml
- Linux is also listed as a supported platform
- No external database server, because the relay uses the badger engine
- A .env file for configuration, with defaults applied to any unchanged values
How to use Swarm
Once the relay is running, the work moves from installation to policy. Setting up the rules is the part that determines how your relay behaves, so take a few minutes to decide who can post and what they can post.
- Decide who belongs on the team list and which pubkeys should count as team members.
- Set ALLOWEDKINDS to the event types only team members may publish.
- Set PUBLICALLOWEDKINDS to the harmless kinds you want the public to use, such as text notes and reactions.
- Adjust the rate limits in the .env file if your community is busier or quieter than average.
- Add TRUSTEDCLIENTNAME and TRUSTEDCLIENTKINDS entries only for apps you control or trust.
- Restart the container so the new settings take effect.
- Connect a Nostr client to your relay address and post a test note from a public key.
- Post a second time quickly to confirm that the pubkey rate limit responds as expected.
Keep a note of the settings you chose. When the team grows or a community changes direction, the same file becomes your reference point for what the relay allows.
Pros & cons
- Free and open source, so the code can be inspected
- Granular control over which event kinds the public may publish
- Built-in rate limits for pubkeys, IP addresses and connections
- Clear access tiers for trusted clients, public users and team members
- No external database needed thanks to the badger engine
- Configuration handled through a single .env file
- Listed platforms are Linux and Docker, so Windows users need a container setup
- It is a relay only, so a separate Nostr client is required for daily use
- Hosting requires a server that stays online and someone comfortable with Docker
- Access rules need thoughtful planning before a public community joins
Is Swarm safe?
Swarm runs a server rather than a wallet, so it does not hold seed phrases. It does store and relay the messages your team posts, and its .env file can contain settings you would rather keep private. Treat the host machine with the same care as any server.
Get the software only from the official sources and check the SHA-256 checksum or signature when one is published. Never enter a seed phrase or private key into a third-party website, a form or a server you do not control. The project is not marked as deprecated, and its code was recently updated, which is encouraging. Still, keep your Docker environment patched and limit who can reach administrative settings.
- Official source only. Download from github.com/HiveTalk/swarm. 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
Swarm occupies a different niche from most Nostr software. HAVEN bundles four relays and a Blossom media server into one package, aimed at a personal sovereign setup. Swarm concentrates on a team relay, with fine-grained posting rules, layered rate limits and trusted client access. Its summary also highlights Blossom media mirroring, so the two projects overlap in media handling but differ in emphasis.
Amethyst, Gossip and Vega are clients. They let you read and post, but they do not host anything for others. Nostr VPN uses Nostr for signaling in a mesh VPN, which solves a different problem altogether. If you need a shared space with clear access tiers, Swarm is the closer match. If you mainly want to browse and post yourself, pair a relay with a client from this catalog.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- v0.2.0
- Last update
- 27 Oct 2026
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/HiveTalk/swarm
Frequently asked questions
Swarm is a free, open-source Nostr relay built for teams and communities. It is a fork of the bitvora team-relay project, adjusted for the Swarm.hivetalk.org service. The listed platforms are Linux and Docker, so on Windows the practical route is running it through Docker.
Swarm is open-source code that can be inspected, and it is a relay rather than a wallet, so it does not handle seed phrases. Safety depends on where you get the files and how you run the server. Verify the checksum or signature of any download, keep your .env settings private and never share a seed phrase with any site.
The project lists Linux and Docker as platforms, and its code is described as buildable for Windows. Check the release notes on GitHub before assuming a native Windows package is available. Running the Docker-based setup is the most straightforward way to use Swarm on a Windows machine today.
Start by deciding who counts as a team member and which event kinds each group may publish. Set those values in the .env file, restart the container and connect a Nostr client to your relay address. Post a test note to confirm that the rules behave as intended.
No separate database server is required. The docker-compose setup runs the relay with the badger database engine, and configuration is read from a .env file that includes sensible defaults. That keeps the setup smaller than many self-hosted services.
Yes, Swarm is free and open source. The main cost is the server or hosting you choose to run it on, along with the time needed to keep it updated and online. The software itself carries no listed price.
Yes. ALLOWEDKINDS limits certain event types to team members, while PUBLICALLOWEDKINDS opens chosen kinds to any public key. Rate limits also apply to non-team members, which makes it harder for a single account or address to flood the relay.
HAVEN is the closest relative in this catalog, bundling several relays and a Blossom media server into one project. For reading and posting, clients such as Amethyst, Gossip and Vega are listed here as well. Choose a relay for hosting and a client for everyday use.
Verdict
Swarm suits a small team, community or developer who wants a Nostr relay with clear rules about who can post what. It is free, open source and recently updated, and its access tiers and rate limits are its strongest features. It is less suitable for anyone who wants a native Windows application or a one-click setup, because planning around Docker and a server is part of the job. Check the latest version on the official website before you deploy.