The single WebSocket channel exposed by a Nostr relay. All
client-to-relay and relay-to-client messages flow over this
connection as JSON arrays. From the client's perspective,
`publish` operations send messages to the relay and `subscribe`
operations receive messages from the relay.
Open or replace a subscription with one or more filters.
Content-Type: application/json
ClientClose
Terminate a previously opened subscription.
Content-Type: application/json
ClientAuth
Respond to a relay AUTH challenge with a signed kind 22242 event.
Content-Type: application/json
RelayEvent
Stream a stored or live event matching an open subscription.
Content-Type: application/json
RelayOk
Acknowledge a published EVENT or AUTH event.
Content-Type: application/json
RelayEose
Mark the end of stored events for a subscription.
Content-Type: application/json
RelayClosed
Indicate the relay has terminated a subscription.
Content-Type: application/json
RelayNotice
Surface a human readable message from the relay.
Content-Type: application/json
RelayAuthChallenge
Challenge the client to authenticate.
Content-Type: application/json
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.