NIP-C7: Chats
NIP-C7 defines kind 9 chat messages as a lightweight ordered chat stream, separate from NIP-28 public chat channels and from encrypted DMs, with replies represented by quoted parent messages.
A chat stream needs a smaller object than a channel system
Nostr has had public chat channels through NIP-28 and group/community work through NIP-29. NIP-C7 is much smaller: a chat message is kind 9, and a reply to a chat message is another kind 9 that quotes the parent with a q tag.
The goal is ordered chat display. A client rendering a chat view should fetch only kind 9 events, which prevents missing context when different clients mix other content types into the same view.
The simplicity is the appeal. NIP-C7 is not an encrypted messenger, not a server-managed chatroom and not a full group-governance model.
Kind 9 messages and q-tag replies
The base event is kind 9 with message text in content. A reply uses another kind 9 and quotes the parent using a q tag, following the quote pattern from NIP-18.
Other content types may be quoted inside a kind 9 event, but the actual chat stream should remain kind 9. That lets chat clients avoid loading a mixed feed and then discovering that half the context is missing.
The NIP is tiny, but the rule is important: keep the chat timeline made of chat messages.
hodlbod split chats and threads out from NIP-29
hodlbod broke chats and threads out from NIP-29 in November 2024 through PR #1591. In May 2026, hodlbod updated C7 so chat views only allow kind 9 messages, tightening the implementation guidance.
That origin explains the relationship with NIP-7D forum threads and group work. C7 is one discussion primitive extracted from a larger social system.
A reader should not confuse it with NIP-28, which is now unrecommended public chat channels using kinds 40-44. C7 is a later, smaller chat-message shape.
Chat clients should avoid mixed-kind timelines
A chat UI should query kind 9 events for the stream, render q-tag replies clearly and allow quoted external content without making that external content part of the chat timeline.
If a client wants encryption, membership, moderation or private groups, it needs other standards. C7 does not solve those problems.
The main product benefit is predictable rendering: several clients can show the same ordered chat without inventing channel semantics.
Small chat standards can look more complete than they are
Kind 9 messages are public unless another system wraps or restricts them. A chat-shaped interface can make public text feel more private than it is.
Spam and moderation also remain external. C7 gives the message object, not the community policy.
Direct sources
Use the official file first, then the commit history, implementation references and adjacent standards. NIPs move, and product guidance gets weaker when those source trails are hidden.





