{"id":"d3b7c248b1a8e06bb523634b43946b5f06cf32f511886cef569c6d80a2d2f29c","pubkey":"2b39b4ffe62933df970e19366c22c1e092f953f83fcfed754e0f04d5a3b459f9","created_at":1755093171,"kind":30817,"tags":[["d","nip-38"],["title","NIP-38: User Statuses"],["summary","Kind 30315, a short-lived status: what someone is doing, or what they are listening to."],["s","draft"],["t","nostr"],["t","nip"],["k","30315","User Statuses"],["alt","A specification: NIP-38: User Statuses"],["client","openspecs-import"],["published_at","1692963618"],["proxy","https://github.com/nostr-protocol/nips/blob/656cecc7c0a815b6a2b218d3b5d6f078b3f4dbab/38.md","web"],["x","cf058d5313d2c86db7e11eab32c838171b25bca72605951397bee5d8b9c983e3"]],"content":"\nNIP-38\n======\n\nUser Statuses\n-------------\n\n`draft` `optional`\n\n## Abstract\n\nThis NIP enables a way for users to share live statuses such as what music they are listening to, as well as what they are currently doing: work, play, out of office, etc.\n\n## Live Statuses\n\nA special event with `kind:30315` \"User Status\" is defined as an *optionally expiring* _addressable event_, where the `d` tag represents the status type:\n\nFor example:\n\n```json\n{\n  \"kind\": 30315,\n  \"content\": \"Sign up for nostrasia!\",\n  \"tags\": [\n    [\"d\", \"general\"],\n    [\"r\", \"https://nostr.world\"]\n  ],\n}\n```\n\n```json\n{\n  \"kind\": 30315,\n  \"content\": \"Intergalatic - Beastie Boys\",\n  \"tags\": [\n    [\"d\", \"music\"],\n    [\"r\", \"spotify:search:Intergalatic%20-%20Beastie%20Boys\"],\n    [\"expiration\", \"1692845589\"]\n  ],\n}\n```\n\nTwo common status types are defined: `general` and `music`. `general` represent general statuses: \"Working\", \"Hiking\", etc.\n\n`music` status events are for live streaming what you are currently listening to. The expiry of the `music` status should be when the track will stop playing.\n\nAny other status types can be used but they are not defined by this NIP.\n\nThe status MAY include an `r`, `p`, `e` or `a` tag linking to a URL, profile, note, or addressable event.\n\nThe `content` MAY include emoji(s), or [NIP-30](nostr:naddr1qvzqqqrcvypzq2eeknl7v2fnm7tsuxfkds3vrcyjl9fls070a465urcy6k3mgk0eqqrxu6ts95enqrvuej9) custom emoji(s). If the `content` is an empty string then the client should clear the status.\n\n## Client behavior\n\nClients MAY display this next to the username on posts or profiles to provide live user status information.\n\n## Use Cases\n\n* Calendar nostr apps that update your general status when you're in a meeting\n* Nostr Nests that update your general status with a link to the nest when you join\n* Nostr music streaming services that update your music status when you're listening\n* Podcasting apps that update your music status when you're listening to a podcast, with a link for others to listen as well\n* Clients can use the system media player to update playing music status\n","sig":"41b8e96a31e2928dfc9132d500a0efe2c15a3ea90a44e7494dee0114a513028448e02090dae947f0a30a32d5a2086ccefe0db38c0e35c9e0a6ad8fe9da7a1584"}