Primal Reads Feature

Just learning about nostr and Primal and discovering Primal "reads" feature. BTW, this text was written in Markdown syntax.

Nostr & Primal Reads

A Guide to Long-Form Content on Nostr


1. What Is Primal Reads?

Primal Reads is a dedicated tab within the Primal Nostr client, introduced in Primal 2.0, that allows users to browse and read long-form articles published to the Nostr network — without needing to use a separate app or client.

Before Primal 2.0, users who wanted to read long-form content had to switch to specialist clients like Habla.news or YakiHonne. Primal Reads consolidates this functionality into one app.

Key Features of Primal Reads

Feature Description
Article Feed Displays author, title, cover image, and estimated reading time for each article.
Reading Interface Opens a clean, attractive reader view when you tap an article.
Bookmarks Bookmark articles for later — kept in a separate list from short-note bookmarks.
Reactions & Zaps Comment on or zap (tip via Bitcoin Lightning) any article directly within the app.
Mobile Composing Writing long-form articles is not available on mobile; better suited to the Primal web client with a full text editor.
Reposting On Android, reposting or quote-posting long-form articles is not yet supported.

2. The Underlying Standard: NIP-23

Primal Reads is built on NIP-23, a Nostr protocol standard that defines a special event type for long-form articles. Understanding NIP-23 explains why some clients can display this content and others cannot.

How It Works

Nostr events are identified by a kind number. Regular short notes (tweets) use kind:1. Long-form articles defined by NIP-23 use kind:30023 — a completely separate event type.

Key properties of NIP-23 articles:

  • Content is written in Markdown format.

  • Articles are editable — they are addressable, replaceable events (unlike immutable kind:1 notes).

  • Each article can include a title, summary, banner image, tags, and publication timestamp.

  • Articles are stored on Nostr relays just like any other event.

  • kind:30024 is used to save drafts of long-form content.

  • The NIP specification explicitly notes that social clients focused on kind:1 notes are not expected to implement it.


3. Other Nostr Clients That Support Long-Form Content

Primal is not alone. Several other Nostr clients support NIP-23, each with a different focus.

Dedicated Long-Form Clients

Client Platform Notes
Habla.news Web Fully dedicated to NIP-23 long-form content. Often described as a decentralised Medium or Substack. Includes a markdown editor, title, slug, banner image, tags, and summary.
YakiHonne iOS / Android / Web One of the first Nostr clients with full mobile article editing. Supports NIP-23 with drafts, tagging, and multi-relay publishing. Also includes Flash News and video.
Blogstack.io Web An early dedicated long-form writing client for Nostr with a clean markdown editor.
Pareto Web Open-source publishing platform specialising in long-form Nostr articles, aimed at citizen journalism.

Social Clients With Built-In NIP-23 Support

These are primarily short-note social clients that have added NIP-23 support alongside their main feed:

  • Amethyst (Android) — Fetches kind:30023 events and displays articles alongside regular notes in your feed.

  • Primal (iOS / Android / Web) — The Reads tab provides a dedicated long-form reading experience separate from the social feed.

  • noStrudel (Web) — A feature-rich power-user web client that renders NIP-23 articles.


4. What Happens on Clients That Don’t Support NIP-23?

Because long-form articles use a completely different event kind (kind:30023) from regular short notes (kind:1), clients that don’t implement NIP-23 have no knowledge of them.

Note: Articles published via Primal Reads, Habla, or any NIP-23 client are simply invisible on non-supporting clients. They are not shown as broken or garbled — they just don’t appear at all.

This applies to clients such as older versions of Damus (iOS) and Snort, which focus primarily on kind:1 short notes.

The Upside: Content Is Never Lost

Because Nostr is an open protocol with content stored on relays (not inside any app), articles are never locked into a single client. An article written on Primal can be read on Habla, YakiHonne, Amethyst, or any other NIP-23-compatible client — with no migration, export, or copy-paste required.

This interoperability is one of Nostr’s core design principles: your content and identity are portable across all clients that support the relevant NIPs.


5. Quick Reference Summary

Topic Detail Notes
NIP-23 Event Kind kind:30023 Short notes use kind:1 — a completely separate type
Drafts kind:30024 Same structure as kind:30023
Content Format Markdown No HTML allowed
Editability Yes Replaceable/addressable events
Primal Reads Introduced in Primal 2.0 Available on iOS, Android, and Web
Dedicated Clients Habla, YakiHonne, Blogstack, Pareto Purpose-built for long-form Nostr content
Social + Reads Amethyst, Primal, noStrudel Social clients with NIP-23 support added
Unsupported Clients Content is invisible No error shown; events simply not fetched


No comments yet.