What Are Nostr Event Kinds? A Non-Technical Guide to Those That Matter

Every piece of content on Nostr is considered an “event.” Every post, like, zap, and profile update is called an event. The “kind” number associated with each event is the single field that tells every app what type of content it is and how to handle it. Kind 1 is a short text note. Kind 7 is a reaction. Kind 9735 is a zap receipt. This guide explains what this system means for non-technical users why it matters when interacting with signers.

Quick Nostr Kind Reference Table

This table covers every kind that directly affects your experience as a Nostr user. Kinds that exist purely for infrastructure, deprecated kinds, and kinds with no end-user-facing function are excluded. NIPs define the rules and event kinds are the manifestation of the rule in practice. For example, NIP-57 describes how zaps work, and kind 9735 is the actual event that gets created every time a zap is sent.

Kind No.Name*NIPWhat It Does
0Profile / User Metadata01Stores your name, bio, profile picture, and other profile fields. Replaceable: Only your latest version is kept.
1Short Text Note10The standard post. Everything you write in a social feed goes out as kind 1.
3Follow List02Your list of followed accounts. Replaceable: Apps read the latest version to build your feed.
5Event Deletion Request09A signed request to relays to delete a specific post you published.
6Repost18Boosts a kind-1 short text note to your followers, with full attribution.
7Reaction25A like, dislike, or emoji reaction to any post.
8Badge Award58Awards a defined badge to a specific account.
9Chat MessageC7A message in a group chat thread.
11Thread7DA threaded conversation root, separate from short text notes.
14Direct Message17An end-to-end encrypted private message.
16Generic Repost18Boosts any event type (not just kind 1) to your followers.
20Picture68An image-first post for apps building photo feed experiences.
21Video71A video post for apps building video feed experiences.
22Short-form Portrait Video71A short vertical video post, equivalent to a Reel or TikTok format.
40Channel Creation28Creates a public group chat channel.
41Channel Metadata28Updates the name, description, or picture of a public channel.
42Channel Message28A single message posted inside a public channel.
62Request to Vanish62A signed request for all relays to delete every event tied to your public key.
818Merge Request54A merge request for a wiki article, for collaborative editing.
1018Poll Response88A vote cast in response to a poll.
1063File Metadata94Metadata record for a file shared on Nostr, including hash, type, and URL.
1068Poll88A standardised poll that any compatible app can display and tally.
1111Comment22A comment on any event type, including articles, pictures, and external content.
1222Voice MessageA0A short audio message, equivalent to a voice note.
1311Live Chat Message53A message inside the live chat attached to a live stream.
1617Git Patch34A code patch submitted against a git repository hosted on Nostr.
1621Git Issue34An issue filed against a git repository hosted on Nostr.
1984Report56A public flag on a post or account for spam, impersonation, or explicit content.
1985Label32A label attached to any event or profile, used for moderation and categorisation.
4550Community Post Approval72A moderator’s signed approval of a post for display in a community feed.
9041Zap Goal75A public fundraising goal with a target amount that shows live zap progress.
9321Nutzap61A tip sent as redeemable Cashu tokens the recipient claims at any time.
9734Zap Request57A request sent to a Lightning wallet to initiate a zap payment.
9735Zap Receipt57The publicly visible confirmation that a zap was sent, including the amount.
9802Highlight84A highlighted excerpt from any article or web page, published as its own post.
10000Mute List51Your private list of muted accounts. Replaceable.
10001Pin List51Your list of pinned notes. Replaceable.
10002Relay List65Your published list of preferred relays so other apps know where to find your content.
10003Bookmark List51Your private bookmarked posts. Replaceable.
10011External Identities39Links to verified external accounts attached to your profile.
10019Nutzap Mint Recommendation61Announces which Cashu mint you prefer for receiving nutzaps.
10050DM Relay List17Publishes which relays should receive your private direct messages.
13194Wallet Info47Announces that a wallet is available for connection via Nostr Wallet Connect.
17375Cashu Wallet Event60Stores your Cashu wallet state on the Nostr network.
22242Client Authentication42A signed challenge response used to authenticate your client to a relay.
23194Wallet Request47A payment request sent to a connected Lightning wallet.
23195Wallet Response47The wallet’s response confirming or declining a payment request.
24133Nostr Connect46A message between a signing app and another Nostr app during remote signing.
30000Follow Sets51Named, curated lists of accounts you follow. Addressable.
30002Relay Sets51Named collections of relays saved as lists. Addressable.
30003Bookmark Sets51Named bookmark collections. Addressable.
30004Curation Sets51Named curated content collections. Addressable.
30009Badge Definition58Defines a badge: its name, description, and image. Addressable.
30023Long-form Article23A full blog post or article published on Nostr. Addressable.
30030Emoji Sets51A named collection of custom emoji. Addressable.
30078App-specific Data78Arbitrary per-app settings stored on Nostr so they follow you between devices.
30311Live Event53A live audio or video stream, including metadata and status. Addressable.
30315User Status38A short status message on your profile with an optional link and expiry. Addressable.
30402Classified Listing99A buy-or-sell listing with price, description, and location. Addressable.
34550Community Definition72Defines a moderated community: its name, description, and moderator rules. Addressable.
31922Date-Based Calendar Event52A calendar event with a specific date, time, and location. Addressable.
31923Time-Based Calendar Event52A calendar event defined by a time range rather than a single date. Addressable.
31925Calendar Event RSVP52An RSVP response to a calendar event. Addressable.
31989App Handler Recommendation89Recommends a specific app for handling a given content type. Addressable.
31990App Handler Info89An app’s announcement of which content types it supports. Addressable.
34235Addressable Video71A long-form video with a permanent, updateable address. Addressable.
38172Cashu Mint Announcement87An announcement of a Cashu mint for discovery by wallets. Addressable.
39701Web BookmarksB0A collection of saved web URLs stored on Nostr. Addressable.

*Names simplified for clarity. Official titles may differ.

Understanding Kind Ranges

Nostr apps need to know what to do with an event the moment they receive it. A social app seeing kind 1 knows to display it as a post, seeing kind 9735 knows to display it as a zap receipt, seeing kind 30023 knows to render it as an article. Without the kind number, every app would have to guess what each event is, and nothing would interoperate. There are different types of kinds:

  • Regular events (kinds 1-45 and 1000-9999) are stored as-is. Every event is kept.
  • Replaceable events (kind 0, kind 3, and kinds 10000-19999) work differently. For each combination of your public key and that kind number, only the most recent event is kept. Older versions are discarded. Updating your name does not stack ten name-change records on the relay. The new profile replaces the old one.
  • Ephemeral events (kinds 20000-29999) are not stored at all. They are sent, received, and gone. For example typing indicators and real-time presence signals.
  • bAddressable events (kinds 30000-39999) work like replaceable events but with an extra identifier, the “d” tag, so you can have multiple addressable records of the same kind without them overwriting each other. For example, long-form articles have their own unique address, so publishing a new article does not erase the previous ones.

Storing everything permanently would be wasteful and in some cases actually break how the feature is supposed to work. Typing indicators are a great example; if someone types and stops typing 50 times in a conversation, you don’t want 50 permanent records of that on every relay in the network. Ephemeral events are designed to be seen once and discarded, so relays never store them at all.

Identity and Profile

The sections below expand on each kind in the table, grouped by how they function in your daily experience. Identity and profile kinds control how your account is represented and discovered across the Nostr network.

Kind 0: What Is Your Nostr Profile?

Kind 0 is the event that holds your profile information: Your display name, bio, profile picture URL, website, and any other metadata fields apps choose to support. Every time you update your profile in any Nostr app, that app publishes a new kind 0 event signed by your private key. Because kind 0 is a replaceable event, relays only keep the most recent version. Your profile follows you to any app you log into because every app reads the same kind 0 event from your preferred relays.

Kind 10002: How Does Nostr Know Which Servers to Find You On?

Kind 10002 stores your relay list: The list of servers where you publish and read content. Other users’ apps check this list to know where to look for your posts. Without it, apps would have no reliable way to locate your content across the hundreds of available relays. Defined by NIP-65, this is a replaceable event, so your latest relay preferences always win.

Kind 10011: How Do You Link Other Online Accounts to Nostr?

Kind 10011 stores verified links to external platforms on your profile. You can attach a GitHub username, a personal website, or other accounts, with cryptographic proof that the same person controls both. Defined by NIP-39.

Social Feed

These are the kinds that power the core social experience: Posting, following, reacting, and interacting with other users.

Kind 1: What Is a Standard Nostr Post?

Kind 1 is the short text note: the Nostr equivalent of a tweet. Everything you type into the main compose box of any standard Nostr social app becomes a kind 1 event. It is the most common event on the network. Defined by NIP-10.

Kind 3: How Does Your Follow List Work?

Kind 3 stores your complete list of followed public keys. Because it is a replaceable event published to the network, it is not locked inside any single app. Follow someone on one client, open a different client, and your follow list is already there. Defined by NIP-02.

Kind 5: Can You Delete a Nostr Post?

Kind 5 is an event deletion request. When you delete a post in a Nostr app, the app publishes a kind 5 event signed with your private key, referencing the event you want removed. Well-behaved relays honor these requests. Because Nostr has no central server, deletion is a request rather than a guarantee, but mainstream relays respect it. Defined by NIP-09.

Kind 6: How Do Reposts Work?

Kind 6 is a standard repost of a kind-1 short text note, the Nostr equivalent of a retweet. It carries the original event inside it, so any app can display the original content in full with attribution. Defined by NIP-18.

Kind 16: What Is a Generic Repost?

Kind 16 extends the repost concept to any event type, not just kind-1 notes. If you want to boost a long-form article, a picture post, or any other event type to your followers, the app uses kind 16 instead of kind 6. Defined by NIP-18.

Kind 7: How Do Reactions Work?

Kind 7 is a reaction to any post. A “+” is a like. A “-” is a dislike. Any emoji is a custom reaction. Every app that implements NIP-25 reads and counts the same reactions, regardless of which app they were sent from, so reaction counts are consistent across the network.

Kind 1068 and 1018: How Do Polls Work?

Kind 1068 defines a poll. Kind 1018 is a vote in response to a poll. Because both are standard events on the network, any app that implements NIP-88 can display the same poll and tally votes sent from any other compatible app. Vote counts are aggregated across the entire network, not just inside one app.

Kind 62: How Do You Delete Your Entire Nostr Account?

Kind 62 is a “request to vanish.” It is a single signed event asking every relay to delete all events associated with your public key. Because it is signed by your private key, relays can verify the request is genuine. Well-behaved relays will comply. It is the closest thing Nostr has to a full account deletion. Defined by NIP-62.

Messaging

These kinds handle private and direct communication between Nostr users.

Kind 14: How Are Private Messages Kept Private?

Kind 14 is the current standard for end-to-end encrypted direct messages on Nostr, defined by NIP-17. Messages are encrypted using your private key before leaving your device. No relay or third party can read the content in transit or storage. NIP-17 wraps messages in additional layers (using kind 13 seal and kind 1059 gift wrap events) to protect not just the content but also the metadata of who is communicating with whom, unlike the now depreciated NIP-04.

Kind 10050: Where Do Your Private Messages Go?

Kind 10050 is a relay list specifically for receiving direct messages. It tells other users’ apps which relays to use when sending you a private message. Without it, senders would have to guess which of your relays accepts incoming DMs.

Content

These kinds define dedicated formats for rich content beyond short text notes, including articles, images, video, and audio.

Kind 30023: Can You Publish Long Articles on Nostr?

Kind 30023 defines long-form content: Full blog posts and articles published on Nostr. Because it is an addressable event, each article has a unique, permanent address that can be shared and linked. Apps like Habla and Yakihonne are built on this standard. Articles are stored on relays like any other event and are readable from any compatible client. Defined by NIP-23.

Kind 20: What Is a Picture Post?

Kind 20 defines an image-first post, separate from a text note with an attached image. Apps use it to build feeds where the image is the primary content, displayed in a grid or gallery. A kind-20 post signals to apps that the image is the content, not an attachment to text. Defined by NIP-68.

Kind 21 and 22: What Are Video Posts?

Kind 21 is a standard video post for apps building video feed experiences. Kind 22 is a short-form portrait video, equivalent to a Reel or TikTok. Both are defined by NIP-71. A kind-34235 addressable video is a long-form video with a permanent address that can be updated.

Kind 9802: What Are Highlights?

Kind 9802 lets you publish a highlighted excerpt from any article or web page as its own Nostr post, with a reference to the source. The highlight travels through the network as a standard event and can be reacted to, quoted, and shared. Apps that support NIP-84 render highlights as pull quotes with attribution.

Kind 1111: What Is a Comment?

Kind 1111 is a general-purpose comment that can attach to any event type on Nostr, including articles, pictures, videos, and external web content. It is more flexible than a kind-1 reply, which is designed specifically for text note threads. Defined by NIP-22.

Kind 1063: What Is File Metadata?

Kind 1063 is a metadata record for a file shared on Nostr. It includes the file’s hash, MIME type, size, and URL, so any app can verify the file has not been tampered with and display it correctly. Defined by NIP-94.

Kind 1222: What Is a Voice Message?

Kind 1222 is a short audio message, equivalent to a voice note in a messaging app. Any Nostr app that implements NIP-A0 can play it.

Kind 30315: What Is a User Status?

Kind 30315 lets you publish a short status on your profile with an optional link and expiry time, similar to a status message in a messaging app. Apps that support NIP-38 display this status alongside your name.

Community

These kinds support group spaces, shared conversations, live events, and community-driven content on Nostr.

Kind 40, 41, 42: How Do Public Chat Channels Work?

Kind 40 creates a public chat channel. Kind 41 updates its metadata (name, description, image). Kind 42 is a message posted inside it. Together, these three kinds make up the NIP-28 public channel system: a persistent group conversation that anyone can join and read from any compatible Nostr client.

Kind 9: What Is a Chat Message in NIP-C7?

Kind 9 is a chat message in the NIP-C7 group chat system, a newer and more flexible standard than NIP-28 channels. It is designed for apps building group messaging experiences with threading support.

Kind 30311: How Does Live Streaming Work?

Kind 30311 is a live event record: it announces a live audio or video stream, including the stream URL, title, description, and whether the stream is active. Any NIP-53-compatible app can discover and display it. Live chat messages sent during the stream are kind-1311 events. Apps like Zap.stream are built on this standard.

Kind 31922, 31923, 31925: How Do Calendar Events Work?

Kind 31922 is a date-based calendar event (a specific day or range of days). Kind 31923 is a time-based calendar event (a specific time range). Kind 31925 is an RSVP. Together, defined by NIP-52, these let anyone publish and discover events with dates, times, and locations on Nostr. The event record is decentralised: no single platform controls or can remove it.

Kind 34550: What Are Nostr Communities?

Kind 34550 defines a moderated community: a topic-focused space where a designated moderator approves posts before they appear in the community feed. Kind 4550 is a moderator’s signed approval of a submitted post. Communities can be created by anyone, and moderation authority belongs to whoever holds the community’s key. Defined by NIP-72.

Kind 30402: What Are Classified Listings?

Kind 30402 defines a buy-or-sell listing with a title, description, price, currency, and location. Any Nostr marketplace app that implements NIP-99 can display listings published by any other compatible app. It is a decentralised classifieds system with no central platform and no commission layer.

Money

These kinds handle Bitcoin Lightning payments, Cashu electronic cash, and wallet connectivity on Nostr.

Kind 9734 and 9735: What Are Zaps?

Kind 9734 is a zap request: The event your app sends to your Lightning wallet to initiate a Bitcoin Lightning payment to a post or person. Kind 9735 is the zap receipt: The publicly visible confirmation published once the payment completes. The receipt includes the amount, the sender, and a reference to what was zapped, so any app can display it. Defined by NIP-57.

Kind 9041: What Are Zap Goals?

Kind 9041 defines a public fundraising goal. You publish a target amount and description; others zap toward it, and any compatible app displays live progress. It functions as a lightweight crowdfunding mechanism built directly into the Nostr feed. Defined by NIP-75.

Kind 23194 and 23195: How Does Nostr Wallet Connect Work?

Kind 23194 is a payment request sent by a Nostr app to a connected Lightning wallet. Kind 23195 is the wallet’s response. Together with kind 13194 (wallet info), these make up the NIP-47 Nostr Wallet Connect system, which lets you grant a Nostr app permission to send zaps up to a limit you set, without the app ever seeing your private key.

Kind 17375 and 7375: What Is a Cashu Wallet on Nostr?

Kind 17375 stores your Cashu wallet state encrypted on the Nostr network. Kind 7375 stores the actual Cashu token proofs. Together, defined by NIP-60, they make it possible to hold and spend Cashu electronic cash from within Nostr apps without needing a separate standalone wallet app.

Identity and Signing

These kinds handle how your private key authorises actions across apps without being exposed.

Kind 24133: What Is Remote Signing?

Kind 24133 is the message type used between a signing app and a Nostr app during remote signing (NIP-46, also called Nostr Connect). When you use a dedicated signing app like Nsec.app to keep your private key separate from the apps you log into, kind-24133 events carry the signature requests and approvals back and forth. The apps you log into never see your private key.

Kind 22242: What Is Client Authentication?

Kind 22242 is a signed challenge response used to prove to a relay that you control a given public key. Some relays require this before allowing you to write events or access restricted content. Defined by NIP-42.

Lists and Discovery

These kinds store your personal lists and help apps find the right content and tools for you.

Kind 10000-10030 Range: How Do Your Lists and Bookmarks Work?

NIP-51 defines a family of replaceable list events in the 10000-range. Each kind stores a specific type of list: Kind 10000 is your mute list, kind 10001 is your pin list, kind 10003 is your bookmark list, kind 10005 is your list of public chats, kind 10030 is your custom emoji list, and so on. Because these are replaceable events published to the network, they follow you to any Nostr app you log into. Your muted accounts are muted everywhere. Your bookmarks are available everywhere.

Kind 30000-30030 Range: What Are Named Sets?

The 30000-range kinds are addressable versions of lists, meaning you can have multiple named collections of the same type without them overwriting each other. Kind 30000 is a named follow set (a curated list of accounts around a theme). Kind 30002 is a named relay set. Kind 30003 is a named bookmark set. Kind 30004 is a curation set. Kind 30030 is a named emoji set. All are defined by NIP-51.

Kind 31989 and 31990: How Does Nostr Know Which App to Open a Post In?

Kind 31990 is an app’s announcement of which event kinds and content types it supports. Kind 31989 is a recommendation pointing to a specific app for a specific content type. Together, defined by NIP-89, they create a protocol-level open-with system. When you encounter a post type your current app cannot handle, it can suggest another app that can.

Safety and Moderation

These kinds give users and relays tools to flag, label, and manage harmful or unwanted content.

Kind 1984: How Do You Report Someone on Nostr?

Kind 1984 is a public report event defined by NIP-56. You can flag a post or account for spam, impersonation, illegal content, or explicit material. Reports are public events on the network. Individual relays and apps decide independently what action to take. There is no central moderation authority on Nostr.

Kind 1985: What Are Labels?

Kind 1985 lets you attach a label to any event or profile, using a defined namespace. Labels are used by apps and moderation tools to categorise content, flag it, or build reputation systems. Defined by NIP-32.

Badges

These kinds define how digital badges are created and awarded on Nostr.

Kind 30009 and 8: How Do Badges Work?

Kind 30009 defines a badge: its name, description, and image. Kind 8 awards that badge to a specific account. Recipients can choose to display earned badges on their profiles. Because the system is on-protocol, any Nostr app can render them. Defined by NIP-58.

Frequently Asked Questions

The most common questions about Nostr event kinds, answered in plain English.

What Is a Nostr Event Kind?

A kind is a number assigned to every Nostr event that tells apps what type of content the event contains. Kind 1 is a short text note. Kind 7 is a reaction. Kind 9735 is a zap receipt. Apps read the kind number first and then decide how to display or process the event. Without kinds, apps would have no way to distinguish a post from a payment notification from a profile update.

Why Are There So Many Kind Numbers?

The Nostr protocol assigns different numbers to different features so apps can support exactly the features they choose, without breaking anything else. A simple social app might only need to handle kinds 0, 1, 3, 6, and 7. A live streaming app needs kinds 30311 and 1311. A Bitcoin wallet app needs kinds 9734 and 9735. Each app picks the kinds relevant to its purpose. The full list exists so everything can eventually interoperate.

What Is the Difference Between Regular, Replaceable, and Addressable Events?

Regular events accumulate. Every post you make is stored separately. Replaceable events overwrite themselves: only your latest profile (kind 0) or follow list (kind 3) is kept. Addressable events can have multiple versions that coexist because each one has a unique identifier, the “d” tag. Your articles are addressable: you can have ten different articles without any of them overwriting the others.

Do I Need to Know Kind Numbers to Use Nostr?

No. Apps handle all of this invisibly. You press the heart button and the app sends a kind-7 event. You zap someone and the app handles kind-9734 and kind-9735. The kind numbers exist for developers building apps and for understanding why the protocol behaves the way it does. Knowing what they mean helps you understand why, for example, your profile syncs across apps, or why a deleted post might still appear on some relays.

Are All Kinds Supported in Every App?

No. App developers choose which kinds to implement. This is why some apps support zaps and others do not, why some have long-form article feeds and others only show short notes, and why feature sets differ across the Nostr ecosystem. An app that has not implemented a given kind simply ignores events of that type.

Sources

nostr-protocol. (2024). Nostr implementation possibilities (NIPs) [Software repository]. GitHub. https://github.com/nostr-protocol/nips

nostr-protocol. (2024). NIP-01: Basic protocol flow description. In Nostr implementation possibilities [Software repository]. GitHub. https://github.com/nostr-protocol/nips/blob/master/01.md

nostr-protocol. (2024). NIP-10: Text notes and threads. In Nostr implementation possibilities [Software repository]. GitHub. https://github.com/nostr-protocol/nips/blob/master/10.md

nostr-protocol. (2024). NIP-17: Private direct messages. In Nostr implementation possibilities [Software repository]. GitHub. https://github.com/nostr-protocol/nips/blob/master/17.md

nostr-protocol. (2024). NIP-57: Lightning zaps. In Nostr implementation possibilities [Software repository]. GitHub. https://github.com/nostr-protocol/nips/blob/master/57.md

Daniella Liberati is the author of Beyond Money: Regaining Sovereignty, Rediscovering Humanity (foreword by Jeff Booth). She holds degrees in Economics, Corporate Law, English, and Teaching, and has spent over fifteen years working across technology and digital marketing. She is Bitcoin only with no sponsors or advertisers. You can find her work on this website as well as YouTube and Nostr.

Value For Value

The New Economy

I’ve never had sponsors and I don’t run ads. My content is fully self-funded and supported by readers like you.

This is value for value in practice; the peer-to-peer, no-middleman principle I write about in my book.

If you find value in the Bitcoin education I share, consider helping me scale my work by zapping me some sats ⚡️

⚡ Support this work via Lightning: daniella@coinos.io