Apr 16, 2026

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

FeatureDescription
Article FeedDisplays author, title, cover image, and estimated reading time for each article.
Reading InterfaceOpens a clean, attractive reader view when you tap an article.
BookmarksBookmark articles for later — kept in a separate list from short-note bookmarks.
Reactions & ZapsComment on or zap (tip via Bitcoin Lightning) any article directly within the app.
Mobile ComposingWriting long-form articles is not available on mobile; better suited to the Primal web client with a full text editor.
RepostingOn 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

ClientPlatformNotes
Habla.newsWebFully 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.
YakiHonneiOS / Android / WebOne 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.ioWebAn early dedicated long-form writing client for Nostr with a clean markdown editor.
ParetoWebOpen-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

TopicDetailNotes
NIP-23 Event Kindkind:30023Short notes use kind:1 — a completely separate type
Draftskind:30024Same structure as kind:30023
Content FormatMarkdownNo HTML allowed
EditabilityYesReplaceable/addressable events
Primal ReadsIntroduced in Primal 2.0Available on iOS, Android, and Web
Dedicated ClientsHabla, YakiHonne, Blogstack, ParetoPurpose-built for long-form Nostr content
Social + ReadsAmethyst, Primal, noStrudelSocial clients with NIP-23 support added
Unsupported ClientsContent is invisibleNo error shown; events simply not fetched