{"id":"0ec49ff327f0648df16849cb8dd83b15ef27f0c51a01bad9c9b409514a8e3765","pubkey":"b22b06b051fd5232966a9344a634d956c3dc33a7f5ecdcad9ed11ddc4120a7f2","created_at":1772542284,"kind":30817,"tags":[["d","key-value-mappings"],["title","Key-Value Mappings"],["k","31994"],["client","nostrhub.io"]],"content":"# NIP-XX: Shortener\n\n`draft` `optional`\n\n## Abstract\n\nThis NIP defines a standard for mapping a short string to any string value.\n\n## Structure\n\n```json\n{\n  \"kind\": 31994,\n  \"tags\": [\n    [\"d\", \"<key>\"],\n    [\"type\", \"<type>\"]\n  ],\n  \"content\": \"<value>\"\n}\n```\n\n- `d`: the short key\n- `type`: how the value should be interpreted (`url`, `text`, `json`)\n- `content`: the value\n\n## URL Format\n\n```txt\n/{key}/{author}\n```\n\n### Author Formats\n\n`{author}` can be:\n- **Hex pubkey prefix** (recommended): first characters of the pubkey in hex (e.g. `a7b9c2df`, `a7b9c2dfb9`)\n- **NIP-05 identifier**: `name@domain` (must be URL-encoded, e.g. `alice%40nostr.com`)\n\n### Examples\n\n```txt\nhttps://r.so/promo                    → key only\nhttps://r.so/promo/a7b9c2df           → with hex prefix\nhttps://r.so/promo/a7b9c2dfb9         → with longer hex prefix\nhttps://r.so/promo/alice%40nostr.com  → with NIP-05\n```","sig":"daf9fda9784835690306ebc6da9247c3d436038567374ecd4e215b77f297793d5a5b17d6b9f5fb6a44d5c820c3ef402e5d67e4e5734d7edf416b19753b21a846"}