← All NIPs

NIP-A4

Public Messages

DraftEvents

Kind 24 is a short public message addressed to one or more people, shown in their notifications rather than in feeds, with no threads and no privacy.

At a glance

Status
In use and still allowed to change.
Kinds
Tags
  • p
Last changed
Jun 13, 2026

Try it

Edit the form or the JSON: both stay in sync, the badge says whether the result is valid, and tapping any field explains it.

Examples
Valid 1 note

Not signed yet · Demo keys only. These personas' secret keys are public on purpose.

Form
Jan 1, 2025, 12:00 AM UTC

Content

The message, in plain text.

Tags

  1. p Required

    A receiver of the message.

  2. expiration Recommended

    When relays and clients may drop the message (NIP-40).

    Jan 8, 2025, 12:00 AM UTC
Add tag

How this NIP works

Step 1 of 6

A message to someone, in public

Kind 24 holds a plain-text message in the content. It is signed and public, a bit like a postcard.

In the course

No course chapter covers this NIP yet. The editor above is the quickest way in.

Builds on

See also

Specification

Specification text is quoted in English from the nostr-protocol/nips repository. Our explanations and the interface are translated. Source on GitHub at commit 0046368

Read the spec317 words, quoted from the repository at commit 0046368.

This NIP defines kind 24 as a simple plaintext message to one or more Nostr users.

The .content contains the message. p tags identify one or more receivers.

{
  "pubkey": "<sender-pubkey>",
  "kind": 24,
  "tags": [
    ["p", "<receiver>", "<relay-url>"],
  ],
  "content": "<message-in-plain-text>",
}

Messages MUST be sent to the NIP-65 inbox relays of each receiver and the outbox relay of the sender.

Kind 24 is designed to be shown and replied to from notification screens. The goal is to allow clients to support this feature without having to worry about chat history. There are no message chains. The concept of a "thread", a "thread root", or a "chatroom" does not exist in this system, as messages can start and continue without any syntactic connection to each other. e tags must not be used.

This kind is not designed to be displayed on feeds, but anyone can see and reply to messages that may not be for them.

Advanced Support

NIP-40 expiration tags are recommended. Since there is no concept of a chatroom, it is unlikely that these messages will make sense as time goes on.

NIP-18 quote repost q tags MAY be used when citing events in the .content with NIP-21.

["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]

NIP-25 reactions MUST add a k tag to 24.

NIP-57 zaps MUST include the k tag to 24

NIP-21 links that use NIP-19's nevent1 MUST include a kind of 24. Links that are not kind:24 are not expected to be rendered natively by the client.

NIP-92 imeta tags SHOULD be added for image and video links.

Warnings

There MUST be no expectation of privacy in this kind. It is just a public reply, but without a root note.

Avoid confusing this kind with Kind 14 rumors in NIP-17 DMs. This kind is signed and designed for public consumption.