Skip to content

Instantly share code, notes, and snippets.

@Hakkadaikon
Last active March 14, 2026 09:55
Show Gist options
  • Select an option

  • Save Hakkadaikon/085bbcebec5ed6d95d1668cb3b2adb38 to your computer and use it in GitHub Desktop.

Select an option

Save Hakkadaikon/085bbcebec5ed6d95d1668cb3b2adb38 to your computer and use it in GitHub Desktop.
relay-tester_result_20260314
# Tester link
https://github.com/mikedilger/relay-tester
# Result
NIP-11 document is provided: YES
Claims support for NIP-04 (old DMs): NO
Claims support for NIP-09 (Deletion): NO
Claims support for NIP-11 (Relay Information Document): YES
Claims support for NIP-26 (Delegated Event Signing): NO
Claims support for NIP-29 (Relay-based Groups): NO
Claims support for NIP-40 (Expiration Timestamp): NO
Claims support for NIP-42 (AUTH): NO
Claims support for NIP-45 (COUNT): NO
Claims support for NIP-50 (SEARCH): NO
Claims support for NIP-59 (Giftwrap): NO
Claims support for NIP-65 (Relay Lists): NO
Claims support for NIP-94 (File Metadata): NO
Claims support for NIP-96 (HTTP file storage): NO
Prompts for AUTH when client connects: NO (Did not prompt us for AUTH)
Auth event kind is verified: UNTESTED (Cannot test AUTH, was not challenged)
Auth event relay is verified: UNTESTED (Cannot test AUTH, was not challenged)
Auth event challenge is verified: UNTESTED (Cannot test AUTH, was not challenged)
Auth event time is verified: UNTESTED (Cannot test AUTH, was not challenged)
Supports EOSE: [sub0]: PASS (Timed out after EOSE)
Closes complete subscriptions after EOSE: [sub1]: NO (Did not close after EOSE)
Keeps open incomplete subscriptions after EOSE: [sub2]: PASS (Did not close after EOSE)
Public can write: YES
Accepts relay lists from the public: YES
Accepts DM relay lists from the public: YES
Accepts ephemeral events from the public: YES
Sends OK after EVENT: PASS
Verifies event signatures: FAIL (Accepted event with a bad sig)
Verifies event ID hashes: FAIL (Accepted event with a bad id hash)
Accepts NIP-01 JSON escape sequences: PASS
Accepts unlisted JSON escape sequences: YES
Accepts literals for JSON escape sequences: NO (Timed out)
Accepts UTF-8 non-characters: PASS
Accepts event.created_at one week old: PASS
Accepts event.created_at one month old: YES
Accepts event.created_at one year old: YES
Accepts event.created_at from before nostr: YES
Accepts event.created_at from before 2000: YES
Accepts event.created_at from 1970: YES
Accepts event.created_at from before 1970: YES
Accepts event.created_at one year into the future: YES
Accepts event.created_at in the distant future: YES
Accepts event.created_at greater than signed 32-bit: YES
Accepts event.created_at greater than unsigned 32-bit: YES
Accepts event.created_at in scientific notation: YES
Accepts events with empty tags: YES
Events are ordered from newest to oldest: [sub3]: PASS
Newest events are returned when filter is limited: [sub4]: PASS
Finds by id: [sub5]: PASS (matched 9 events, as expected)
Finds by pubkey and kind: [sub6]: PASS
Finds by pubkey and tags: [sub7]: PASS
Finds by kind and tags: [sub8]: PASS
Finds by tags: [sub9]: PASS
Finds by multiple tags: [sub10]: PASS
Finds by pubkey: [sub11]: PASS
Finds by scrape: [sub12]: PASS
Since and until filters are inclusive: [sub13 sub14]: PASS
Limit zero works: [sub15]: PASS
Ephemeral subscriptions work: [sub16]: YES
Persists ephemeral events: [sub17]: YES
Accepts metadata: [sub18]: PASS
Replaces metadata: [sub19]: PASS
Accepts Contactlists: [sub20]: PASS
Replaces Contactlists: [sub21]: PASS
Replaced events are still available by ID: [sub22]: NO
Replaceable events replace older ones: [sub23]: PASS
Replaceable events rejected if a newer one exists: PASS (Refused submission of older replaceable event)
Addressable events replace older ones: [sub24]: PASS
Addressable events rejected if a newer one exists: PASS (Refused submission of older addressable event)
Finds replaceable events: [sub25]: PASS
Finds addressable events: [sub26]: PASS
Deletes by id: [sub27]: PASS
Deletes by a-tag address: [sub28]: PASS
Delete by a-tag deletes older but not newer: [sub29]: PASS
Delete by a-tag is bound by a-tag: [sub30]: PASS
Cannot delete by id of other people's events: PASS (blocked: cannot delete other's events)
Cannot delete by a-tag of other people's events: PASS (blocked: cannot delete other's events)
Resubmission of deleted-by-id event is rejected: PASS (deleted: event was previously deleted)
Rejects submission of event before address is deleted: PASS (deleted: event was previously deleted)
Accepts submission of event after address is deleted: PASS
Can AUTH as unknown: UNTESTED (Unexpected auth state)
FAIL: 2, UNTESTED: 5, NOT_IMPLEMENTED: 26, TOTAL: 107
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment