The outbox model, for normal Nostr users

Why some clients miss your friends' notes: NIP-65 read/write relays and how outbox-aware clients find people. What to set up.

The outbox model, for normal Nostr users

Ever wondered why some clients show a friend’s notes and others don’t? Usually it’s about where the client looks. The “outbox model” (also called the gossip model) is the fix, and it’s built on NIP-65.

The old way

Early clients used one fixed relay list for everything: post to your relays, read from your relays. If your friend posts only to relays you don’t use, you never see them. Everyone ended up crowding onto the same few big relays to avoid this, which isn’t great for decentralization.

The outbox way

Everyone publishes a relay list (kind 10002) with two kinds of entries:

  • write (outbox): “I post here. Read my notes from these.”
  • read (inbox): “Send me mentions and replies here.”

An outbox-aware client then:

  1. reads each person you follow from their write relays,
  2. sends your reply or mention to the other person’s read relays (plus your own write relays),
  3. so you can see people on relays you never added yourself.

Clients and libraries that use outbox include Gossip, Coracle, Amethyst and others built on NDK or similar. Support differs, and some do only part of it.

What you should do

  • Publish a good kind 10002 list: 2-4 write relays and 2-4 read relays that are reliable. Too many slows everyone down.
  • Put that list on the big relays (damus, nos.lol, primal and similar) so people can find it. The list itself has to be findable.
  • Don’t let one client overwrite it with junk. Some clients replace your list when you change relay settings. Check it after you switch clients.
  • Paid or private relays as write relays: fine for privacy, but people can only read you there if the relay lets them.

My NIP-65 guide shows how to check your list. Both guides are in my index (see profile).

Questions? Reply and I’ll add them. Zaps keep these coming.


Write a comment