{"id":"d45cb7183e53d6aa656138f18a5b3d3100033b94bb63f671c6e1fb9a74a5dbd4","pubkey":"b22b06b051fd5232966a9344a634d956c3dc33a7f5ecdcad9ed11ddc4120a7f2","created_at":1776344555,"kind":30817,"tags":[["d","fallback-display-name"],["title","Fallback Display Name"],["k","0"],["client","nostrhub.io"]],"content":"Fallback Display Name\n---------------------\n\n`draft` `optional`\n\nWhen a user has no `name` or `display_name` in their kind 0 metadata, clients SHOULD display:\n\n1. The local part of `nip05` (the part before `@`) if available and non-empty\n2. `anon_<first 8 characters after \"npub1\">` if no nip05 is present\n\n### Examples\n\n| npub | nip05 | Fallback name |\n|------|-------|---------------|\n| `npub1qrzc3xegzwtc7jnx5snq2hr8j34ph2lp3gz3pqu549d2g04pv0pqa4n5g0` | `alice@example.com` | `alice` |\n| `npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m` | (none) | `anon_sg6plzpt` |\n| `npub1xyklvwq3s0e5v7r0v8w9x0y1z2a3b4c5d6e7f8g9h0i1j2k3l4m5n6o7p8q9r0s` | `bob@nostr.com` | `bob` |\n\n### Rules\n\n- **nip05 fallback**: Extract the local part (before `@`) from the nip05 identifier\n- **anon fallback**: Prefix `anon_` + exactly 8 characters after `npub1`\n\n### Display Name Resolution Order\n\n1. `display_name` from kind 0\n2. `name` from kind 0\n3. Local part of `nip05`\n4. `anon_xxxxxxxx` as defined above","sig":"cadd270a5d7986150d702610c28c3f06571cc35acc3463641f040476e192efaf805674fbf368284cb779d763b7c72b9eabcfbc7aabe3253369e89503b5459998"}