Skip to content

ETL to QE, Update 78, Nostr Profile Debugger

Date: 2025-06-02

For those that don't know what Nostr is check out the Nostr ELI5.

For those that don't know a NIP stands for Nostr Implementation Possibility, which is one of the many features a developer can built into their Nostr client or relay. Some features, "Implementation Possibilities" are nearly universally adopted while others have next to none, and as we will discuss below some are implemented differently in different places.

I hate the current UX when trying to set and update Nostr Profile's, NIP-05 DNS Identities, and NIP-65 Relay List Metadata.

Nostr Refresher

As a refresher of how Nostr works, nostr does not have messages or API endpoints, it has events with different kinds, kinds are numbers. Different "kinds" are treated differently by clients, some are encrypted, some are really long, some require special tags, and some use JSON or Emoji's rather than raw text.

Nostr Event's have 7 elements, * content - Text or Whatever * created_at - Number * kind - Number * tags - List of Text * pubkey - Public Key * id - hash of Previous Data * sig (Cryptographic Signature)

The State of Nostr Profile

A nostr profile has two major parts, the JSON in the content of a Nostr event and the tags outlined in NIP-35 External Identities in Profiles. I wish there was some special tag to help with key rotation but there is no NIP for that yet.

My gripes are, * Can't easily broadcast profile events to a specific list of relays * Can't validate what relays one profile events are currently hosted on * Can't look for discrepancies between your profile across different relays * Can't easily download and rebroadcast profiles to new relays * No client allows you to scan relays for profiles * Different clients support different keys in the JSON content * Clients don't allow you to set custom attributes within the Profile JSON * I have yet to find a nostr client that supports NIP-39 External Identities in Profiles * Can't easily get a NIP-05 DNS Identity within any Nostr client * Can't set a NIP-05 DNS Identity without it being validated client side

The State of NIP-05 DNS Identities

  • I just want to say that none of the NIP-05 sites work, it was so bad I wrote my own

The State of NIP-65 Relay List Metadata