nips/88.md
2023-11-28 13:38:10 -05:00

91 lines
2.9 KiB
Markdown

NIP-88
======
NOTIFY Request
--------------
`draft` `optional`
At any point, the relay can send a `NOTIFY` request to a client with a user-readable description to be displayed as is. The description SHOULD be rendered as if it was a Kind 1 post in a visible part of the application to allow the user to quickly see and act if needed.
```js
[
"NOTIFY",
"<Description>"
]
```
Clients SHOULD expect the same request to be received multiple times. If the user dismisses it, the client SHOULD ignore new requests with the same description.
Supporting relays SHOULD keep the same description across subscriptions and minimize the number of times each request is sent to avoid annoying users with multiple interruptions.
## Examples of use
### Subscription Renewals
Paid relays often run into friction when renewing subscriptions. The API described here allows clients to ease the subscription payment process on an as-needed basis.
```js
[
"NOTIFY",
"""
Your subscription has expired. You can renew your access for the next 30 days by simply paying the invoice below. \n
lnbc... \n
By paying this invoice, you are accepting our terms and conditions. \n
You can read the terms and see additional subscription options on http://relay.com/plans \n
If you do not intend to use this relay anymore, please remove it from your relay list. \n
"""
]
```
### Upselling Plans
Relays can now progressively upgrade their user's subscriptions based on their use.
```js
[
"NOTIFY",
"""
You are out of space on relay.com. \n
You can add another GB of data storage to your account by simply paying the invoice below. \n
lnbc... \n
By paying this invoice, you are accepting our terms and conditions. \n
You can read the terms and see additional subscription options on http://relay.com/plans \n
Until you choose a new plan, we cannot accept new data from this client. \n
"""
]
```
### Unlock Closed Access
Relays can offer paid access to specific event kinds or add protections to the current use right when the user is trying to make use of them.
```js
[
"NOTIFY",
"""
Our public plan does not accept private messages and large files, but Gold members can store up to 10000 messages and 1GB of files. \n
You can join our Gold plan by simply paying the invoice below. \n
lnbc... \n
By paying this invoice, you are accepting our terms and conditions. \n
You can read the terms and see additional subscription options on http://relay.com/plans \n
Until you choose a new plan, we cannot accept new data from this client."
"""
]
```
### Request for Donations
If relays are fundraising, they can send a one-time message to their connected users.
```js
[
"NOTIFY",
"""
We hope you are enjoying your experience with relay.com. \n
This year, you used over 1GB of traffic and we store 10K of your events. \n
Please consider a donation in the link below: http://relay.com/fundraising
"""
]
```