NIP-A4 defines public messages (kind 24) designed for notification screens, with broad client support as a goal.

How It Works

Kind 24 is a signed plaintext message to one or more recipients. The message body lives in content, and p tags identify the intended receivers. The spec says clients should send these events to the recipients’ NIP-65 inbox relays and to the sender’s outbox relay.

Unlike threaded conversations, these messages have no concept of chat history, room state, or thread roots. They are meant to appear in a notification surface and be understandable on their own.

Protocol Rules

  • Uses p tags to identify recipients
  • Must not use e tags for threading
  • May use q tags to quote another event
  • Works best with NIP-40 expiration tags so stale notification-style messages disappear over time

Why It Exists

NIP-A4 gives clients a simpler public-message primitive than a full threaded note. That is useful for mention-style messages, lightweight shoutouts, or one-off notifications where building a permanent conversation tree would add more complexity than value.

The tradeoff is that these messages are public. They are easy to show in a notification UI precisely because they do not create private session state. Anyone can read and reply to them if they see them.

Interop Notes

NIP-A4 is easy to confuse with direct-message protocols because it targets named recipients, but it is still a public event kind. Clients should not present kind 24 as private messaging or assume any confidentiality beyond relay placement.


Primary sources:

Mentioned in:

See also: