upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/A4.md
diff options
context:
space:
mode:
authorVitor Pamplona <vitor@vitorpamplona.com>2025-12-18 21:30:04 -0500
committerGitHub <noreply@github.com>2025-12-18 23:30:04 -0300
commit65a827dab317181760f6d1812b0cc17020b8c97b (patch)
treed7142df8b9d50829b5068fb9ad29746dba95385a /A4.md
parent7cafdbb0cf115db81c6edd5a4846921085108ff7 (diff)
Public Messages (#1988)
Diffstat (limited to 'A4.md')
-rw-r--r--A4.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/A4.md b/A4.md
new file mode 100644
index 0000000..36751c1
--- /dev/null
+++ b/A4.md
@@ -0,0 +1,56 @@
1NIP-A4
2======
3
4Public Messages
5---------------
6
7`draft` `optional`
8
9This NIP defines kind `24` as a simple plaintext message to one or more Nostr users.
10
11The `.content` contains the message. `p` tags identify one or more receivers.
12
13```jsonc
14{
15 "pubkey": "<sender-pubkey>",
16 "kind": 24,
17 "tags": [
18 ["p", "<receiver>", "<relay-url>"],
19 ],
20 "content": "<message-in-plain-text>",
21}
22```
23
24Messages MUST be sent to the [NIP-65](65.md) inbox relays of each receiver and the outbox relay of the sender.
25
26Kind `24` is designed to be shown and replied to from notification screens. The goal is to allow clients to
27support this feature without having to worry about chat history. There are no message chains. The concept of a
28"thread", a "thread root", or a "chatroom" does not exist in this system, as messages can start and continue
29without any syntactic connection to each other. `e` tags must not be used.
30
31This kind is not designed to be displayed on feeds, but anyone can see and reply to messages that may not be for them.
32
33## Advanced Support
34
35[NIP-40](40.md) `expiration` tags are recommended. Since there is no concept of a chatroom, it is unlikely that these messages will
36make sense as time goes on.
37
38[NIP-18](18.md) quote repost `q` tags MAY be used when citing events in the `.content` with [NIP-21](21.md).
39
40```json
41["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]
42```
43
44[NIP-25](25.md) reactions MUST add a `k` tag to `24`.
45
46[NIP-57](57.md) zaps MUST include the `k` tag to `24`
47
48[NIP-21](21.md) links that use [NIP-19](19.md)'s `nevent1` MUST include a `kind` of `24`. Links that are not `kind:24` are not expected to be rendered natively by the client.
49
50[NIP-92](92.md) `imeta` tags SHOULD be added for image and video links.
51
52## Warnings
53
54There MUST be no expectation of privacy in this kind. It is just a public reply, but without a root note.
55
56Avoid confusing this kind with Kind `14` rumors in [NIP-17](17.md) DMs. This kind is signed and designed for public consumption.