Prototype
Owner: NostrfiLast reviewed: 2026-07-23
Nostrfi Relay
prototypeNot publicly available
Overview
Nostrfi Relay is a Nostr relay implementation written in Go. It speaks the Nostr WebSocket protocol and implements a range of NIPs (NIP-01, 02, 09, 11, 17, 22, 28, 40, 42, 70, 71, 77).
The relay accepts signed events, serves filtered history, distributes live events to active subscriptions, persists events in a local DuckDB database, and publishes a configurable NIP-11 relay information document.
Prototype status. This relay is a prototype. It has not been deployed as a
public production service. Advertised NIP-11 limits are not enforced by the
request path. Do not operate it as a public relay without completing the
production-readiness checklist.
What it does
- Accepts signed events and returns NIP-01
OKresponses - Serves stored events for
REQfilters followed byEOSEand supportsCLOSE - Broadcasts matching newly accepted events to active subscriptions
- Persists events and indexed single-letter tags in a local DuckDB database
- Applies replaceable and parameterized-replaceable event semantics
- Publishes a configurable NIP-11 relay information document
- Issues NIP-42 authentication challenges per WebSocket connection
- Restricts NIP-70 protected-event publication to the authenticated author
- Restricts kind
1059gift-wrap reads to an authenticated recipient or author - Supports expiration filtering, deletion requests, and Negentropy sessions
Source
The relay source repository is at github.com/nostrfi/relay.
Next steps
Previous
Documentation