Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions 107.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
NIP-107
======

Wrapper Event
-------------------------

`draft` `optional` `author:ungigdu`

A wrapper event is a kind `1107` event that carries another vaild event in its `content` field. The content is encrypted using the same way that [NIP-04](https://github.com/nostr-protocol/nips/blob/master/04.md) specifies. The `tags` MUST contain an entry identifying the receiver of the message.

## Motivation

Sometimes a client may not want to publish an event by itself after signing it. In such cases, the client can "wrap" this event into a wrapper event and let a designated receiver publish it instead.



## Some use cases

- `Scheduled Event`: A scheduled event can be created by wrapping an event that has a future created_at timestamp. This wrapper event can then be sent to a publishing bot for later inner event publishing.
- `Burn after Reading`: A client can send a kind-4 DM (Direct Message) event along with a wrapper event that contains the kind-5 delete event for this DM. The delete event SHOULD be published by the receiver client after reading the DM.
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos

---

- [List](#list)
- [Event Kinds](#event-kinds)
- [Event Kind Ranges](#event-kind-ranges)
- [Message Types](#message-types)
- [Client to Relay](#client-to-relay)
- [Relay to Client](#relay-to-client)
- [Standardized Tags](#standardized-tags)
- [Criteria for acceptance of NIPs](#criteria-for-acceptance-of-nips)
- [License](#license)
- [NIPs](#nips)
- [List](#list)
- [Event Kinds](#event-kinds)
- [Message types](#message-types)
- [Client to Relay](#client-to-relay)
- [Relay to Client](#relay-to-client)
- [Standardized Tags](#standardized-tags)
- [Criteria for acceptance of NIPs](#criteria-for-acceptance-of-nips)
- [Mailing Lists](#mailing-lists)
- [License](#license)

---

Expand Down Expand Up @@ -67,6 +68,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
- [NIP-94: File Metadata](94.md)
- [NIP-98: HTTP Auth](98.md)
- [NIP-99: Classified Listings](99.md)
- [NIP-107: Wrapper Event](107.md)

## Event Kinds

Expand All @@ -88,6 +90,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
| `43` | Channel Hide Message | [28](28.md) |
| `44` | Channel Mute User | [28](28.md) |
| `1063` | File Metadata | [94](94.md) |
| `1107` | Wrapper Event | [107](107.md) |
| `1311` | Live Chat Message | [53](53.md) |
| `1984` | Reporting | [56](56.md) |
| `1985` | Label | [32](32.md) |
Expand Down