Learn

NIP: the spec documents that define Nostr

A NIP, short for Nostr Implementation Possibility, is one of the numbered specification documents that define Nostr's features and message formats. Each NIP describes one piece of the protocol, such as how zaps work or how to find a user's relays. They are the shared agreement that lets independently built clients and relays interoperate.

At a glance

What it stands for
Nostr Implementation Possibility
What it is
A numbered spec document for one Nostr feature or message format
Why it exists
So independently built clients and relays agree on how things work
How they are named
By number, like NIP-05 or NIP-57; the number is the reference
Flow

How a NIP makes two apps interoperate

A NIP is written once, then each client and relay implements it. Because both built to the same document, a note from one app is understood by the next. Green is the shared spec that makes the rest line up.

1
A NIP defines a feature one numbered document, one piece of the protocol
2
Clients and relays implement it each app built separately, to the same words
3
They interoperate a note from one app works in another

What is a NIP?

Nostr has no central server and no company that owns it, so there has to be some other way for independently built apps to agree on how things work. That way is the NIP, the Nostr Implementation Possibility. Each NIP is a short document describing one piece of the protocol: how a profile links a verifiable name, how a zap receipt is formed, how a client discovers which relays a user prefers. They are numbered, and the number is how people refer to them, so “NIP-57” points at exactly one spec without any ambiguity.

You will not install a NIP. It is a document, not a program. What you install is a client or a relay that implements some set of NIPs, and the set it supports is what decides which features actually work for you.

Why do NIPs matter to a user?

Because they are the reason two apps built by strangers can talk at all. When a note you sign in one client shows up correctly in another, it is because both read the same NIP and built to it. When a zap sent from one wallet lands and is counted by a different client, a NIP made that possible.

The flip side is honest: support is per feature, not all or nothing. A relay might carry your notes but not understand a newer NIP, and a client might implement the features its authors cared about and skip the rest. So when a feature works in one app and not another, the usual reason is plain. One of them implements that NIP, and the other has not got to it yet.

A NIP is

  • A spec for one feature, agreed across the network
  • Referenced by number, so NIP-57 names a precise thing
  • How clients know which features they share
  • Open: anyone can read them and propose new ones

A NIP is not

  • A piece of software you install
  • A company's product or a central authority's rule
  • Mandatory all at once; clients adopt the ones they need
  • A guarantee every relay supports every feature

Related terms

← All terms Reviewed: June 2026