Nostr Flash — Custom Event Kinds
Nostr Flash — Custom Event Kinds
Kind 7033 — Flash Post
Regular (non-replaceable) event representing an ephemeral photography post.
Tags
| Tag | Description |
|---|---|
url | Direct URL to the image file (Blossom CDN) |
m | MIME type of the image (image/webp, image/jpeg, etc.) |
x | SHA-256 hex hash of the image file |
dim | Image dimensions in WxH format |
lifetime | Survival timer in seconds (e.g. 3600 = 1 hour) |
alt | Accessibility caption (≤280 chars) |
t | Hashtag for categorisation |
imeta | Full Blossom image metadata (NIP-94 compatible) |
encrypted | Set to nip44 when content is NIP-44 encrypted |
p | Hex pubkey of the encrypted recipient (for private posts) |
Content
- Public posts: Human-readable caption text.
- Private posts: NIP-44 encrypted JSON payload containing
{ "caption": "...", "imageUrl": "..." }.
Kind 7034 — Flash Boost
Regular (non-replaceable) reaction event that extends the survival timer of a flash post.
Tags
| Tag | Description |
|---|---|
e | Hex event ID of the flash post being boosted |
p | Hex pubkey of the flash post author |
extension | Number of seconds to add to the post's survival timer |
rating | Optional score (1–5) for quality rating |
Content
Optional free-text comment (may be empty).
Expiration Logic
expiresAt = (event.created_at + parseInt(lifetime_tag) + sum(extension_tags_from_boosts)) * 1000
isExpired = Date.now() > expiresAtExpired events are hidden from the active feed and shown in the Archive (read-only).