NIP-CL ====== Channel Identity and Discovery ------------------------------ `draft` `optional` `relay` This NIP adds identity facts to the relay-signed NIP-29 channel-state events (kinds 39000–39002). With these facts, a client can find channels with ordinary NIP-01 filters. It needs no new filter key and no relay-specific API. ## Motivation Plugins and agents often create a channel for their own use and must find it again later, for example "the config channel that this agent created". With plain NIP-29, a client cannot: - tell who created a channel; - read the channel type from any event except kind:39000; or - tell which of two channels is older. The `created_at` of a kind:39000 event is the time of the last edit, not the time of creation. A client also cannot mark its own channels so that it can find them again. Channel labels (below) do this. Also, every channel that a person belongs to shows in their client as a chat. So a group that exists only to control who can read some data appears in sidebars, search results and unread counts. System channels (below) fix this. ## Channel identity tags On every channel-state event that the relay signs, the relay MUST put these tags in this order, before any other `t` or `P` tag: 1. `["t", ]`, for example `stream`, `forum`, `dm`, `workflow`, `system`. 2. `["t",