Community

NIP Wissenslexikon

Relays, Discovery and Sync: Why Nostr Availability Is a Product Decision

A deep guide to relay information, relay authentication, relay lists, search, liveness, Negentropy sync and relay management.

Relays, Discovery and Sync: Why Nostr Availability Is a Product Decision visual
NIP topic map8 NIP pagesRead the behavior, then verify the source.
Back to Nostr
NIPs Open NIP map Deep guidesConcepts, NIP pages and source checks BrowseClose
NIP Wissenslexikon8 NIP pagesSource trail checked

Relays, Discovery and Sync: Why Nostr Availability Is a Product Decision

A deep guide to relay information, relay authentication, relay lists, search, liveness, Negentropy sync and relay management.

Why this part of the NIP map matters

A relay is not a neutral pipe in the way people often imagine. It is a server with storage, policy, limits, uptime, software, payment choices, moderation rules and a view of what it is willing to carry. Nostr's freedom does not come from pretending relays do nothing. It comes from making relays replaceable enough that no single relay can own your identity.

That means availability is not only an infrastructure topic. It is a product topic. When your timeline looks empty, your replies are missing, your relay list is stale or search returns nothing, you feel relay decisions in the interface. You do not see a spec in that moment. You see silence, lag, duplicated events, missing history or an authentication prompt with no explanation.

The story is one: Nostr needs relays, but it also needs you to understand which relay role you are trusting. A public relay, a paid relay, a search relay, a personal relay, a group relay and a sync protocol do not solve the same problem.

The useful habit is to ask where a client reads, where it writes, which relays are personal, which relays are public infrastructure, which relays are paid, which relays are search or directory surfaces and which relays are only temporary paths through the network.

The mental model

NIP-11 gives a relay a public face. Without it, a relay URL is almost a blind trust exercise.

Authentication changes the room. A relay can ask you to prove key control before reading, writing or accessing protected data, but the client must explain why.

Relay-list metadata makes discovery personal. It tells clients where a profile expects to write and read instead of forcing them to guess from global defaults.

Search and liveness are evidence, not truth. A search relay or monitoring source can be useful and still incomplete, stale or biased by where it measures from.

Sync standards like Negentropy matter because the network cannot scale by asking every side to ship everything all the time.

Read this topic with one hand on the protocol and one hand on the product. The protocol tells you the shared format. The product tells you what a person actually sees, approves, loses, recovers or can take elsewhere. Both are necessary. One without the other creates either abstract standards talk or a pretty interface with no durable proof underneath.

Use the source links as proof, not as decoration. A useful NIP explanation gives you the mental model first, then sends you to the official markdown when exact fields, status notes, examples or implementation details matter.

A relay is a policy surface, not just a server URL

When you add a relay, you are not merely adding bandwidth. You are adding a storage policy, an admission policy, a moderation policy, a retention policy and sometimes a payment policy. Two relays can both speak NIP-01 and still behave very differently. One may keep everything it accepts. Another may expire events aggressively. One may accept public writes from anyone. Another may require authentication or payment. One may index search. Another may focus only on delivering events for a narrow community.

That is why NIP-11 matters more than its simple shape suggests. A relay information document gives a relay a public face: name, description, supported NIPs, software, contact, payment requirements, limitations and policies. You should not treat it as marketing copy, but it is the first place to ask what kind of room you are entering. If a relay gives no explanation of limits, retention or support, every client is left to discover the boundaries by failing in public.

Authentication standards change the tone again. A relay challenge can be useful when the relay needs to know which key is requesting access, but it should not become a silent trap. You need to understand why a relay asks you to sign, what the signed challenge contains, whether the request can be replayed and which permission follows from it. Authentication is a privacy and safety feature only when the product explains it clearly.

Paid relays make a different bargain. Payment can reduce spam, fund storage, create accountability and support specialized communities. It can also create lock-in if the client hides what happens when you leave. The useful question is not whether paid relays are pure or impure. The useful question is what they promise: better retention, private community access, search, personal outbox reliability, media storage, wallet integration or merely fewer drive-by posts.

Discovery fails when clients guess too much

A portable social graph needs somewhere to read from and somewhere to write to. Early clients often used global default relay sets because that was easy. The problem is obvious once the network grows: if everyone guesses from defaults, replies disappear, profiles look empty and niche communities become invisible. Relay-list metadata and outbox discovery are attempts to make discovery personal. A profile can tell you where it publishes and where it expects to be found.

Outbox discovery changes the mental model. Instead of asking one global relay to know everyone, a client can ask where a particular pubkey writes, then fetch that person's events from better places. This is less glamorous than a new social feature, but it is central to making Nostr feel reliable. A timeline is only as good as the discovery path behind it. If that path is stale, hidden or poorly merged, the product feels broken even when the protocol is working.

Search relays and directories add another layer. They can make Nostr feel human because you can find posts, profiles, tags, relays, apps and public context. But search is never neutral proof of the whole network. It reflects which relays were crawled, which event kinds were indexed, which spam filters ran and how fresh the index is. Treat search as a lens, not as a court record.

Sync protocols such as Negentropy answer the cost problem. A client or relay cannot ask every peer to resend everything forever. Efficient reconciliation lets two sides compare sets and request what is missing. You may never see that in the interface, but you feel it when history loads quickly, when duplicates are avoided and when a relay can recover state without turning synchronization into brute force.

The relay market will not be one product category

Nostr needs many relay roles. Public relays help beginners and open conversation. Personal relays help identity and outbox reliability. Paid relays can fund storage and reduce spam. Search relays make discovery practical. Group relays can serve rooms with stricter rules. Wallet and commerce relays may carry more sensitive events. Local relays can anchor venues, conferences or communities. Treating all of those as one product category makes the market harder to understand.

Good hub pages should therefore teach the relay role before the relay brand. If you need a place to publish public notes, the criteria are different from choosing a relay for private groups, wallet events, long-form records or event search. Uptime matters, but so do deletion behavior, retention, moderation, rate limits, supported NIPs, software transparency and whether you can export or reproduce the setup somewhere else.

Relay decentralization is not the absence of rules. It is the ability to choose different rules without losing the identity. That is the practical freedom Nostr offers. A relay can reject spam, illegal content, abuse or traffic it cannot afford. Another relay can make a different choice. The user-facing win appears when your key, follows, public context and publishing path can survive those differences.

The failure mode is pretending relay choice is too technical to explain. If clients hide it completely, people blame Nostr when a product made a poor infrastructure choice. If clients expose it as a wall of URLs, people give up. The useful middle is a language of roles: where you write, where you read, where you search, where your group lives, where your media is pinned and where you pay for reliability.

Relay failure has a recognizable shape

Once you know what to look for, relay problems stop feeling mystical. A missing reply often means the client did not search the relay where the reply was written. A profile that looks empty may mean metadata is old or fetched from the wrong place. A timeline full of duplicates can mean the same event arrived from many relays without good deduplication. A group that disappears may depend on a relay with local policy the client never explained.

Relay errors also affect trust. If a relay silently rejects an event, the client should show the reason when the protocol provides one. If a relay asks for authentication, the client should show why. If a relay rate-limits you, the product should not present that as a mysterious network failure. The protocol gives room for clearer feedback; the interface has to respect it.

Retention is the quiet failure mode. A relay may carry an event today and forget it later. That is fine when the relay says so, dangerous when the product implies permanence. Long-form articles, creator archives, identity metadata, relay lists and payment receipts need different expectations than casual notes. If a feature needs durable memory, the page should say which relay strategy supports it.

The practical test is simple: publish something, find it from another client, find it from another relay path, wait, then find it again. If a product cannot explain the result, it has not made the relay layer understandable enough.

What a good relay product page should tell you

A useful relay page should start with purpose. Is this relay for public notes, paid storage, private communities, search, wallet flows, media-heavy clients, local events or developer testing? Without that first sentence, the relay is just another URL. You cannot judge reliability without knowing what reliability means for that role.

Then it should tell you the rules. What does it reject? Does it require authentication? Does it accept large events? Does it keep history? Does it support relay information, auth, relay lists, search, counts, Negentropy or management APIs? Does it publish contact details and software? Those details are not for server operators only. They decide whether your client can make honest promises.

A good page also tells you the price of trust. If the relay is free, who pays for storage and abuse handling? If it is paid, what does payment buy? If it is community-run, who moderates? If it is personal, how do you back it up? If it is search-focused, which sources does it index? The answer does not need to be perfect. It needs to be visible.

Finally, it should give you an exit habit. Add more than one relay where the use case needs resilience. Keep a personal or paid path for important publishing. Understand which relay list your profile advertises. Know how to test another client. Relay freedom becomes real only when moving is boring.

Relay work is where decentralization becomes maintenance

It is easy to say relays are replaceable. It is harder to operate as if that is true. Replaceability needs relay-list metadata, client UX, monitoring, backups, payment clarity, policy transparency and enough shared behavior that another relay can step in without breaking the story.

That maintenance burden is why relay standards deserve more attention than they usually get. A relay is where abuse costs money, storage becomes real, sync gets expensive and policy has to be written down. If the relay layer is treated as invisible plumbing, the social layer eventually inherits invisible failure.

For developers, the practical question is what assumptions the client makes. Does it assume events are permanent? Does it assume every relay supports the same filters? Does it assume search is complete? Does it assume relay lists are fresh? Does it merge results honestly? Each assumption becomes a user-facing bug when the relay world disagrees.

For non-developers, the practical question is simpler: can you understand where your account publishes, where it reads and what happens if one of those places changes? If the answer is no, the interface is still asking too much of you.

The simple relay checklist

Before you trust a relay setup, ask five plain questions. Where do I write? Where do I read? Where do others find me? What happens when this relay says no? What happens when it forgets? Those questions are more useful than memorizing every relay-related NIP at once.

The answer should be visible in the product. If it takes a developer console to discover your relay path, the interface is not mature enough for normal use. Relay sophistication should make Nostr feel calmer, not more mysterious.

That is the standard to hold the relay layer to: not zero complexity, but honest complexity. You can accept tradeoffs when you can see them.

The NIP pages in this topic

NIP-11

Relay Information Document

Relays may provide server metadata to clients to inform them of capabilities, administrative contacts, and various server attributes. This is made available as a JSON document over HTTP, on the same URI as the relay's websocket.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch relay, Access-Control-Allow-Methods, name, pubkey, max_subid_length, max_limit because these are the terms that usually surface as product behavior. Nearby standards: NIP-17, NIP-01, NIP-09, NIP-13, NIP-42.

NIP-65

Relay List Metadata

NIP-65 lets a key publish relay-list metadata so clients can find where a profile reads and writes instead of guessing from defaults.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch kind 10002, kind:10002 because these are the terms that usually surface as product behavior.

NIP-42

Authentication of clients to relays

Authentication of clients to relays -----------------------------------

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch kind 4, kind 22242, relay, kind: 4, AUTH, OK because these are the terms that usually surface as product behavior.

NIP-43

Relay Access Metadata and Requests

This NIP defines a way for relays to advertise membership lists, and for clients to request admission to relays on behalf of users.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch kind 13534, kind 10010, kind 8000, kind 8001, kind 28934, kind 28935 because these are the terms that usually surface as product behavior.

NIP-50

Search Capability

Many Nostr use cases require some form of general search feature, in addition to structured queries by tags or ids. Specifics of the search algorithms will differ between event kinds, this NIP only describes a general extensible framework for performing such queries.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch relay, REQ, content, .created_at, limit, kinds because these are the terms that usually surface as product behavior.

NIP-66

Relay Discovery and Liveness Monitoring

This NIP defines events for relay discovery and the announcement of relay monitors.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch kind 0, kind 10002, relay, content, loki, limitations because these are the terms that usually surface as product behavior. Nearby standards: NIP-11, NIP-52.

NIP-77

Negentropy Syncing

This document describes a protocol extension for syncing events. It works for both client-relay and relay-relay scenarios. If both sides of the sync have events in common, then this protocol will use less bandwidth than transferring the full set of events (or even just their IDs).

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch relay, NEG-CLOSE, EVENT, REQ, closed, closed: you took too long to respond! because these are the terms that usually surface as product behavior. Nearby standards: NIP-01.

NIP-86

Relay Management API

Relays may provide an API for performing management tasks. This is made available as a JSON-RPC-like request-response protocol over HTTP, on the same URI as the relay's websocket.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. Watch Content-Type, supportedmethods, ["<method-name>", "<method-name>", ...], banpubkey, unbanpubkey, listbannedpubkeys because these are the terms that usually surface as product behavior. Nearby standards: NIP-98.

Deep reading: where the details become product behavior

NIP-11: Relay Information Document

Relays may provide server metadata to clients to inform them of capabilities, administrative contacts, and various server attributes. This is made available as a JSON document over HTTP, on the same URI as the relay's websocket.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around relay, Access-Control-Allow-Methods, name, pubkey, max_subid_length, max_limit, limit, max_event_tags. It also touches NIP-17, NIP-01, NIP-09, NIP-13, NIP-42, so do not read it as an island.

The source structure points you toward Name, Description, Banner, Icon. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-65: Relay List Metadata

NIP-65 lets a key publish relay-list metadata so clients can find where a profile reads and writes instead of guessing from defaults.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around kind 10002, kind:10002.

The source structure points you toward Size, Discoverability. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-42: Authentication of clients to relays

Authentication of clients to relays -----------------------------------

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around kind 4, kind 22242, relay, kind: 4, AUTH, OK, EVENT, kind: 22242.

The source structure points you toward Motivation, Definitions, New client-relay protocol messages, Canonical authentication event. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-43: Relay Access Metadata and Requests

This NIP defines a way for relays to advertise membership lists, and for clients to request admission to relays on behalf of users.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around kind 13534, kind 10010, kind 8000, kind 8001, kind 28934, kind 28935, kind 28936, relay.

The source structure points you toward Membership Lists, Add User, Remove User, Join Request. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-50: Search Capability

Many Nostr use cases require some form of general search feature, in addition to structured queries by tags or ids. Specifics of the search algorithms will differ between event kinds, this NIP only describes a general extensible framework for performing such queries.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around relay, REQ, content, .created_at, limit, kinds, ids.

The source structure points you toward Abstract, search filter field, Extensions. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-66: Relay Discovery and Liveness Monitoring

This NIP defines events for relay discovery and the announcement of relay monitors.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around kind 0, kind 10002, relay, content, loki, limitations, auth, !auth. It also touches NIP-11, NIP-52, so do not read it as an island.

The source structure points you toward Relay Discovery Events, Relay Monitor Announcements. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-77: Negentropy Syncing

This document describes a protocol extension for syncing events. It works for both client-relay and relay-relay scenarios. If both sides of the sync have events in common, then this protocol will use less bandwidth than transferring the full set of events (or even just their IDs).

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around relay, NEG-CLOSE, EVENT, REQ, closed, closed: you took too long to respond!, Id, IdList. It also touches NIP-01, so do not read it as an island.

The source structure points you toward High-Level Protocol Description, Nostr Messages, Initial message (client to relay):, Error message (relay to client):. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

NIP-86: Relay Management API

Relays may provide an API for performing management tasks. This is made available as a JSON-RPC-like request-response protocol over HTTP, on the same URI as the relay's websocket.

Ask which relay is trusted, what it stores, how it authenticates, how clients discover it and what happens when it is missing. In the official file, slow down around Content-Type, supportedmethods, ["<method-name>", "<method-name>", ...], banpubkey, unbanpubkey, listbannedpubkeys, allowpubkey, unallowpubkey. It also touches NIP-98, so do not read it as an island.

The source structure points you toward Authorization. That is where the useful detail lives: not in the fact that the NIP exists, but in the exact behavior it asks independent software to share. When you test a product claim, open the official file, try another client or relay, and ask whether the visible feature still means the same thing outside the app that introduced it.

What to check before you trust a product claim

Start with the most concrete promise. Does the feature claim portable identity, encrypted messaging, relay discovery, zaps, wallet permissions, long-form publishing, moderation, search or application data? Name the promise before you open the source. Otherwise every NIP starts to look like background reading.

Open the official markdown next. Look for required fields, event kinds, tags, relay messages, status warnings and examples. Do not stop at the title. Many Nostr mistakes happen because a product advertises a NIP number while ignoring the boring edge case that actually protects the user.

Then test another implementation. If the event, payment, list, message, article, badge or relay behavior only works inside one product, the feature may still be useful, but it is not yet a strong portability claim. The second implementation is where the standard stops being a slogan.

Finally, check the risk class. Keys, private messages, money, storage, moderation and identity need more caution than a playful app format. A product can be young and promising, but the page should not ask you to trust it like a mature standard when the source trail is thin.

How this area usually fails

The first failure is overclaiming. A client says it supports a NIP, but it supports only the easiest happy path. That may be enough for a demo and not enough for real use.

The second failure is hidden custody. The app feels convenient because it quietly holds the key, routes the wallet, chooses relays or stores media in a way that makes leaving hard. Nostr is most interesting when those boundaries are visible.

The third failure is stale source material. A guide, blog post or old archive page may describe a version of the ecosystem that changed. The official repository and active implementations matter because Nostr standards are living documents.

The fourth failure is social flattening. Reports, badges, zaps, follows, labels and community events are not neutral numbers. They are signed social signals. You need to know who produced them, who displays them and what the product does with them.

The fifth failure is pretending the protocol solves product judgment. A NIP can define a format. It cannot force a client to explain it well, moderate fairly, store files forever or make a wallet prompt humane. Good pages keep that distinction clear.

Where to go next

The common thread is that a NIP is not a magic wand. It gives independent software a shared object, permission, message, tag, filter or social signal. The product still has to explain what it does with that shared shape.

If you are new to the topic, read the cards first and open only the NIP that matches your immediate question. If you are building, read the official markdown and test against more than one implementation. If you are evaluating a product, ask which parts travel with your key and which parts stay inside the product.

That is the difference between a useful NIP atlas and a numbered archive. The archive tells you that a document exists. The Wissenslexikon tells you why the document changes the way Nostr feels in your hands.

When a NIP touches keys, money, private messages, moderation or storage, slow down. Those are not decorative protocol topics. They decide who can sign, who can pay, who can read, who can hide, who can recover and who can leave.

The best Nostr product writing stays close to those consequences. It does not bury you in acronym soup, and it does not pretend every standard is equally mature. It tells you what you can do next, what you should verify, and where trust enters the room.

Direct sources

Use these sources to verify the text, not as decoration. The official repository is the canonical source; mirrors, guides and project pages help you see how the standard is explained or implemented elsewhere.

nostr-protocol/nipsOfficial NIPs repository and README status table. NIPs commit historyRecent changes, authorship trail and implementation corrections. nips.nostr.comReadable NIP mirror for quick source checks. Nostr.howSecondary education source for protocol orientation. The Nostr BookLong-form learning reference for Nostr concepts and event kinds. Official NIP-11: Relay Information DocumentCanonical GitHub markdown and commit history. Official NIP-42: Authentication of clients to relaysCanonical GitHub markdown and commit history. Official NIP-43: Relay Access Metadata and RequestsCanonical GitHub markdown and commit history. Official NIP-50: Search CapabilityCanonical GitHub markdown and commit history. Official NIP-65: Relay List MetadataCanonical GitHub markdown and commit history. Official NIP-66: Relay Discovery and Liveness MonitoringCanonical GitHub markdown and commit history. Official NIP-77: Negentropy SyncingCanonical GitHub markdown and commit history. Official NIP-86: Relay Management APICanonical GitHub markdown and commit history. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article. NIP-11: Relay Information DocumentSource used for this NIP Wissenslexikon article.
Back to the NIP hub