PressStr
NIP-PressStr: Magazines, Magazine Issues & Ebooks
This document defines three new addressable event kinds for sharing digital publications—magazines (with recurring issues) and ebooks—on Nostr.
Motivation
There is no standard way to publish or discover digital periodicals (magazines, journals, newsletters) or ebooks on Nostr. This NIP defines a minimal, relay-friendly schema that:
- Groups magazine issues under a single addressable magazine identity.
- Lets readers follow a magazine by its
pubkey + kind + dcoordinate. - Supports arbitrary issue identifiers (e.g.
2024-01,Vol.3 No.12,Spring Edition). - Works for ebooks distributed as PDF or EPUB files.
- Is compatible with Blossom file hosting.
Kind Definitions
Kind 34609 — Magazine (Publication)
An addressable event that represents a magazine or periodical publication. It is the parent record that groups individual issues together. Publishers create one Magazine event per title.
Tags
| Tag | Req | Description |
|---|---|---|
d |
required | Unique slug identifier for this magazine (e.g. bitcoin-magazine, nostr-weekly) |
title |
required | Human-readable name of the magazine |
image |
optional | URL of the magazine logo / masthead image |
summary |
optional | Short description of the magazine |
t |
optional (multiple) | Category/topic tags (e.g. bitcoin, tech, art) |
l |
optional | Language code (e.g. en, de) |
url |
optional | External website URL for the magazine |
alt |
required | Human-readable fallback: "Magazine: <title>" |
Content
Empty string or an extended description / about text in Markdown.
Example
{
"kind": 34609,
"content": "The world's leading Bitcoin magazine, covering protocol, culture, and economy.",
"tags": [
["d", "bitcoin-magazine"],
["title", "Bitcoin Magazine"],
["image", "https://blossom.example.com/logo.webp"],
["summary", "Bitcoin protocol, culture, and economy."],
["t", "bitcoin"],
["t", "finance"],
["l", "en"],
["url", "https://bitcoinmagazine.com"],
["alt", "Magazine: Bitcoin Magazine"]
]
}
Kind 39731 — Magazine Issue
An addressable event representing a single issue of a magazine. Each issue references its parent magazine via an a tag.
Tags
| Tag | Req | Description |
|---|---|---|
d |
required | Unique slug for this issue within the magazine (e.g. 2024-01, vol3-no12, spring-2025) |
title |
required | Display title of this issue (e.g. "Vol. 3 No. 12 — Spring 2025") |
issue |
required | The issue identifier/number as a free-form string (e.g. 12, Spring 2025, 2024-Q1) |
a |
required | Reference to parent Magazine: "34609:<pubkey>:<magazine-d-tag>" |
image |
required | URL of the cover image for this issue |
url |
required | URL of the PDF file hosted on Blossom or another server |
m |
optional | MIME type of the file (default: application/pdf) |
size |
optional | File size in bytes |
x |
optional | SHA-256 hash of the file (hex) |
summary |
optional | Short description / editorial note for this issue |
published_at |
optional | Unix timestamp of the original publication date |
t |
optional (multiple) | Topic tags inherited or specific to this issue |
alt |
required | Human-readable fallback: "Magazine Issue: <title>, Issue <issue>" |
Content
Empty string or editorial notes / table of contents in Markdown.
Example
{
"kind": 39731,
"content": "This month: The Lightning Network turns 5, plus 20 pages on Nostr.",
"tags": [
["d", "2024-05"],
["title", "Bitcoin Magazine — May 2024"],
["issue", "May 2024"],
["a", "34609:ab12cd...:bitcoin-magazine"],
["image", "https://blossom.example.com/cover-2024-05.webp"],
["url", "https://blossom.example.com/btcmag-2024-05.pdf"],
["m", "application/pdf"],
["size", "14285714"],
["x", "deadbeef..."],
["summary", "Lightning Network 5th anniversary special issue."],
["published_at", "1714521600"],
["t", "bitcoin"],
["alt", "Magazine Issue: Bitcoin Magazine — May 2024, Issue May 2024"]
]
}
Kind 33953 — Ebook
An addressable event representing a standalone ebook (PDF or EPUB).
Tags
| Tag | Req | Description |
|---|---|---|
d |
required | Unique slug identifier (e.g. the-bitcoin-standard, sovereign-individual) |
title |
required | Title of the ebook |
image |
required | URL of the cover image |
url |
required | URL of the ebook file (PDF or EPUB) hosted on Blossom |
m |
required | MIME type: application/pdf or application/epub+zip |
author |
optional (multiple) | Author name(s) as plain strings |
summary |
optional | Short description / synopsis |
published_at |
optional | Unix timestamp of original publication date |
size |
optional | File size in bytes |
x |
optional | SHA-256 hash of the file (hex) |
t |
optional (multiple) | Genre/topic tags (e.g. fiction, economics, bitcoin) |
l |
optional | Language code (e.g. en, de) |
isbn |
optional | ISBN-13 as a plain string |
alt |
required | Human-readable fallback: "Ebook: <title>" |
Content
Empty string or a full book description / blurb in Markdown.
Example
{
"kind": 33953,
"content": "A look at the history of money and an argument for Bitcoin as the superior form of money.",
"tags": [
["d", "the-bitcoin-standard"],
["title", "The Bitcoin Standard"],
["image", "https://blossom.example.com/bitcoin-standard-cover.webp"],
["url", "https://blossom.example.com/bitcoin-standard.epub"],
["m", "application/epub+zip"],
["author", "Saifedean Ammous"],
["summary", "The decentralized alternative to central banking."],
["published_at", "1525132800"],
["t", "bitcoin"],
["t", "economics"],
["l", "en"],
["isbn", "978-1119473862"],
["alt", "Ebook: The Bitcoin Standard"]
]
}
Cross-Linking
Magazine issues reference their parent magazine via the a tag using the NIP-01 addressable coordinate format:
34609:<publisher-pubkey>:<magazine-d-tag>
Clients can query all issues of a magazine with:
{ "kinds": [39731], "#a": ["34609:<pubkey>:<d>"] }
And they can query all ebooks by a topic with:
{ "kinds": [33953], "#t": ["bitcoin"] }
File Hosting
All files (PDFs, EPUBs, cover images, logos) SHOULD be uploaded to Blossom servers and referenced by their canonical Blossom URL. The x tag (SHA-256) SHOULD be provided for integrity verification.
Cover images SHOULD be in image/webp or image/jpeg format, at a 2:3 aspect ratio (portrait), at least 400px wide.
If no cover image is provided by the publisher, clients SHOULD render the first page of the PDF as a cover image and upload it to Blossom before publishing the issue/ebook event.
Querying Summary
| Goal | Filter |
|---|---|
| All magazines | { kinds: [34609] } |
| Magazines by topic | { kinds: [34609], "#t": ["bitcoin"] } |
| Issues of a magazine | { kinds: [39731], "#a": ["34609:<pubkey>:<d>"] } |
| All ebooks | { kinds: [33953] } |
| Ebooks by author pubkey | { kinds: [33953], authors: ["<pubkey>"] } |
| Ebooks by topic | { kinds: [33953], "#t": ["fiction"] } |
Looking for comments…
Searching Nostr relays. This may take a moment the first time this article is opened.
Looking for comments…
Searching Nostr relays. This may take a moment the first time this article is opened.