# NIPs over Nostr `draft` `optional` `author:Semisol` This NIP defines a method to do NIPs over Nostr. ## NIP event A NIP event is an event with kind 9777. The content is in Markdown and is the NIP text. A NIP event can be identified in multiple ways: - `50001::`: Represents the NIP. - `!50001::@:`: Represents a specific version of this NIP. The ID may be omitted. The following tags may be in a NIP event (bold ones are mandatory, and underlined ones may be used more than once): - **`d`**: A distinguishing tag for this NIP. A NIP event is identified by the author's public key and this d tag. - **`v`**: The version for this NIP, as a limited subset of SemVer in the format `major.minor.patch`. - More than one event can exist for the same version of a NIP. This is intended for minor edits, and if this is encountered, the event with the higher created_at is used, and this SHOULD be avoided when possible. - **__`p`__**: An author or contributor of this NIP. The parameter after the public key can be specified the type of contribution (more may be added): - `author`: An author of this NIP. - `contrib`: Someone that contributed to this NIP. - __`D`__: Depends on tag, in the format `["D", "50001::", "@"]`. The ID may not be omitted. - __`E`__: Extends tag, in the same format as the `D` tag. - __`K`__: A kind or kind range this NIP uses, such as `0` or `10000-19999`. - __**`license`**__: A license for this NIP as an SPDX license identifier. Multiple tags mean any can be chosen by the user.