This NIP defines a common API to register push notification tokens into one or more event watch servers, which constantly query several relays to notify users on new events.
The goal is to allow users to choose their event watch servers by simply adding an http address to their account.
After receiving a `token` from the push system (Google Services, Unified Push, Apple Push Notification), clients should upload a list of signed [NIP-98](98.md) events, one for each account in the device, in a `POST` to `/register` with the following body:
The event MUST be [NIP-59 GiftWrapped](59.md) to the receiver. But since it already goes to the destination via the token, no `p`-tag is added to the wrap event. In this way, the chosen system cannot know which key is receiving a notification.
Clients SHOULD decrypt the GiftWrap with all logged-in accounts to find the user this event is for.
An Event Watcher list is a kind 10097 replaceable event meant to select one or more servers the user wants to register for push notifications. Servers are listed as `server` tags: