Ein Relay akzeptiert signierte Events über WebSocket, speichert sie und sendet sie an jeden weiter, der passende Filter abonniert hat. Es gibt keine Koordination zwischen Relays. Jeder hat seinen eigenen Speicher, seine eigenen Richtlinien darüber, was akzeptiert wird, und seine eigenen Leistungsmerkmale. Clients verbinden sich gleichzeitig mit mehreren, sodass der Ausfall eines einzelnen Relays den Benutzer nicht offline nimmt.
Du kannst deinen eigenen mit einem einzigen Befehl ausführen. Du kannst auch Speicherplatz auf einem bezahlten Relay mieten, das schnellere Antworten und längere Datenspeicherung verspricht. Die meisten Benutzer müssen sich nie Gedanken darüber machen, welche Relays sie verwenden, aber die Option ist immer vorhanden.