They are arbitrary but they are also between ranges of numbe...

OceanSlim

npub1zmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9sjv7f60

hex

9bd6da44e943acec532c8948da6c03876c90db5e7c46bd96cc71e951d03f6b1d

nevent

nevent1qqsfh4k6gn558t8v2vkgjjx6dspcwmysmd08c34ajmx8r6236qlkk8gprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgspdudqzqx5ellme3prp68qus5se3vynsddcexkv5la5p7qxxcswjc222c6z

Kind-1 (TextNote)

2026-05-31T11:27:18Z

↳ Reply to Ghost👻 (npub18dy8sffsw527dkgrwy90yw84y4nd7yq9cllmn6trje0kenp0lw9qpundjr)

Why are there such random numbers on NIPS🤔? Seriuos question, I find it hard to belive there have been over 35 thousand NIP's before this one. What's ...

They are arbitrary but they are also between ranges of numbers depending on the kind type.

From NIP-01:

kinds

...

And also a convention for kind ranges that allow for easier experimentation and flexibility of relay implementation:

  • for kind n such that 1000 <= n < 10000 || 4 <= n < 45 || n == 1 || n == 2, events are regular, which means they're all expected to be stored by relays.
  • for kind n such that 10000 <= n < 20000 || n == 0 || n == 3, events are replaceable, which means that, for each combination of pubkey and kind, only the latest event MUST be stored by relays, older versions MAY be discarded.
  • for kind n such that 20000 <= n < 30000, events are ephemeral, which means they are not expected to be stored by relays.
  • for kind n such that 30000 <= n < 40000, events are addressable by their kind, pubkey and d tag value -- which means that, for each combination of kind, pubkey and the d tag value, only the latest event MUST be stored by relays, older versions MAY be discarded. ...

Raw JSON

{
  "kind": 1,
  "id": "9bd6da44e943acec532c8948da6c03876c90db5e7c46bd96cc71e951d03f6b1d",
  "pubkey": "16f1a0100d4cfffbcc4230e8e0e4290cc5849c1adc64d6653fda07c031b1074b",
  "created_at": 1780226838,
  "tags": [
    [
      "alt",
      "A short note: They are arbitrary but they are also between range..."
    ],
    [
      "e",
      "0000e892dcf3a2a6846922fa90589523a32cf582528328058a3188f807e3bc72",
      "wss://relay.damus.io/",
      "root",
      "18905d0a5d623ab81a98ba98c582bd5f57f2506c6b808905fc599d5a0b229b08"
    ],
    [
      "e",
      "0000d76972300ed99ae10e54f66ce29a4a4b2b69e7c415965ba431afdb0f06a5",
      "wss://relay.damus.io/",
      "reply",
      "3b487825307515e6d903710af238f52566df1005c7ffb9e963965f6ccc2ffb8a"
    ],
    [
      "p",
      "18905d0a5d623ab81a98ba98c582bd5f57f2506c6b808905fc599d5a0b229b08",
      "wss://relay.damus.io/"
    ],
    [
      "p",
      "3b487825307515e6d903710af238f52566df1005c7ffb9e963965f6ccc2ffb8a",
      "wss://relay.damus.io/"
    ],
    [
      "client",
      "Amethyst"
    ]
  ],
  "content": "They are arbitrary but they are also between ranges of numbers depending on the kind type. \n\nFrom NIP-01:\n\n### kinds \n\n...\n\nAnd also a convention for kind ranges that allow for easier experimentation and flexibility of relay implementation:\n\n- for kind `n` such that `1000 \u003c= n \u003c 10000 || 4 \u003c= n \u003c 45 || n == 1 || n == 2`, events are **regular**, which means they're all expected to be stored by relays.\n- for kind `n` such that `10000 \u003c= n \u003c 20000 || n == 0 || n == 3`, events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event MUST be stored by relays, older versions MAY be discarded.\n- for kind `n` such that `20000 \u003c= n \u003c 30000`, events are **ephemeral**, which means they are not expected to be stored by relays.\n- for kind `n` such that `30000 \u003c= n \u003c 40000`, events are **addressable** by their `kind`, `pubkey` and `d` tag value -- which means that, for each combination of `kind`, `pubkey` and the `d` tag value, only the latest event MUST be stored by relays, older versions MAY be discarded.\n...",
  "sig": "615adf190b54daaf22a75792bac07b111ed221d1325b20f89fe740ec541e15967a0e1fcb3d9da618fbd3e91a57fd59a50226abcf2393059f2893c6c8bc460992"
}