Nostr website screenshot

Nostr

Nostr (Notes and Other Stuff Transmitted by Relays) is an open, permissionless protocol for censorship-resistant social and messaging applications. Identity is a public/private keypair; content is a signed JSON event; transport is a WebSocket connection to one or more relays. There is no central server, no canonical API, and no organization that owns the protocol — only a set of community-defined NIPs (Nostr Implementation Possibilities) describing event kinds, relay behavior, and client conventions. A large ecosystem of clients (Damus, Amethyst, Coracle, Yakihonne, Nostur, Iris), relay implementations (strfry, nostream, khatru), and language libraries (nostr-tools for JS, python-nostr, go-nostr, rust-nostr, NDK) has formed around the protocol. Nostr is profiled here through its specifications and reference implementations rather than a vendor API.

4 APIs 0 Features
NostrDecentralized SocialOpen ProtocolRelaysWebSocketSigned EventsNIPCensorship ResistantSelf-Sovereign Identity

APIs

Nostr Protocol (NIP-01)

NIP-01 defines the core Nostr protocol: event format (id, pubkey, created_at, kind, tags, content, sig), client-to-relay messages (EVENT, REQ, CLOSE), and relay-to-client messag...

Nostr Implementation Possibilities (NIPs)

NIPs are the standards documents that extend Nostr beyond the core protocol. They define event kinds (text notes, reactions, zaps, long-form articles, DMs, calendar events, mark...

Nostr Relay WebSocket Interface

A Nostr relay is a WebSocket server that accepts signed events, stores them subject to its own policy, and responds to subscription filters from clients. The relay surface is in...

nostr-tools JavaScript Library

nostr-tools is the de-facto JavaScript/TypeScript library for Nostr clients and bots. It implements event creation, signing, relay connections, subscription filters, and many co...

Pricing Plans

Nostr Plans Pricing

1 plans

PLANS

Rate Limits

Nostr Rate Limits

2 limits

RATE LIMITS

FinOps

Nostr Finops

FINOPS

Event Specifications

Nostr Relay Protocol

AsyncAPI definition of the canonical Nostr relay-client protocol as specified by NIP-01 (basic protocol) and NIP-42 (authentication). Nostr relays expose a single WebSocket endp...

ASYNCAPI

Resources

🔗
Website
Website
👥
GitHubOrganization
GitHubOrganization
🔗
Specification
Specification
🔗
ProtocolReference
ProtocolReference
🔗
AppDirectory
AppDirectory
🔗
SoftwareDirectory
SoftwareDirectory
🚀
GettingStarted
GettingStarted
🔗
NetworkExplorer
NetworkExplorer
🔗
OriginalEssay
OriginalEssay
🔗
LlmsText
LlmsText

Sources

Raw ↑
aid: nostr
name: Nostr
description: 'Nostr (Notes and Other Stuff Transmitted by Relays) is an open,

  permissionless protocol for censorship-resistant social and messaging

  applications. Identity is a public/private keypair; content is a signed

  JSON event; transport is a WebSocket connection to one or more relays.

  There is no central server, no canonical API, and no organization that

  owns the protocol — only a set of community-defined NIPs (Nostr

  Implementation Possibilities) describing event kinds, relay behavior,

  and client conventions. A large ecosystem of clients (Damus, Amethyst,

  Coracle, Yakihonne, Nostur, Iris), relay implementations (strfry,

  nostream, khatru), and language libraries (nostr-tools for JS,

  python-nostr, go-nostr, rust-nostr, NDK) has formed around the protocol.

  Nostr is profiled here through its specifications and reference

  implementations rather than a vendor API.

  '
type: Index
position: Protocol
access: Public
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Nostr
- Decentralized Social
- Open Protocol
- Relays
- WebSocket
- Signed Events
- NIP
- Censorship Resistant
- Self-Sovereign Identity
url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/apis.yml
created: '2026-05-23'
modified: '2026-05-29'
specificationVersion: '0.20'
apis:
- aid: nostr:nostr-protocol
  name: Nostr Protocol (NIP-01)
  description: 'NIP-01 defines the core Nostr protocol: event format (id, pubkey,

    created_at, kind, tags, content, sig), client-to-relay messages

    (EVENT, REQ, CLOSE), and relay-to-client messages (EVENT, OK, EOSE,

    CLOSED, NOTICE) exchanged over a single WebSocket connection. This

    is the minimum surface every client and relay must implement.

    '
  humanURL: https://github.com/nostr-protocol/nips/blob/master/01.md
  baseURL: wss://relay.example
  tags:
  - NIP-01
  - Event
  - WebSocket
  - Subscription
  - Signature
  properties:
  - type: Specification
    url: https://github.com/nostr-protocol/nips/blob/master/01.md
  - type: SpecificationIndex
    url: https://github.com/nostr-protocol/nips
  - type: AsyncAPI
    url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/asyncapi/nostr-asyncapi.yml
  - type: Repository
    url: https://github.com/nostr-protocol
- aid: nostr:nostr-nips
  name: Nostr Implementation Possibilities (NIPs)
  description: 'NIPs are the standards documents that extend Nostr beyond the core

    protocol. They define event kinds (text notes, reactions, zaps,

    long-form articles, DMs, calendar events, marketplaces), client

    behaviors (NIP-05 verified handles, NIP-07 browser signers, NIP-46

    remote signers), and relay capabilities (NIP-11 relay information,

    NIP-42 authentication). Conformance is informal — clients and relays

    pick the NIPs they support.

    '
  humanURL: https://github.com/nostr-protocol/nips
  baseURL: https://github.com/nostr-protocol/nips
  tags:
  - NIPs
  - Event Kinds
  - Extensions
  - Standards
  properties:
  - type: SpecificationIndex
    url: https://github.com/nostr-protocol/nips
  - type: Repository
    url: https://github.com/nostr-protocol
- aid: nostr:relay-interface
  name: Nostr Relay WebSocket Interface
  description: 'A Nostr relay is a WebSocket server that accepts signed events,

    stores them subject to its own policy, and responds to subscription

    filters from clients. The relay surface is intentionally minimal:

    no accounts, no shared state, no canonical ordering. Operators

    choose retention, content policy, paid-access, and authentication

    (NIP-42) independently. Reference implementations include strfry

    (C++), nostream (TypeScript), and khatru (Go).

    '
  humanURL: https://github.com/nostr-protocol/nips/blob/master/11.md
  baseURL: wss://relay.example
  tags:
  - Relay
  - WebSocket
  - strfry
  - khatru
  - nostream
  properties:
  - type: Specification
    url: https://github.com/nostr-protocol/nips/blob/master/01.md
  - type: RelayInfo
    url: https://github.com/nostr-protocol/nips/blob/master/11.md
  - type: AsyncAPI
    url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/asyncapi/nostr-asyncapi.yml
  - type: ReferenceImplementation
    url: https://github.com/hoytech/strfry
  - type: ReferenceImplementation
    url: https://github.com/Cameri/nostream
  - type: ReferenceImplementation
    url: https://github.com/fiatjaf/khatru
- aid: nostr:nostr-tools
  name: nostr-tools JavaScript Library
  description: 'nostr-tools is the de-facto JavaScript/TypeScript library for Nostr

    clients and bots. It implements event creation, signing, relay

    connections, subscription filters, and many common NIPs, and is

    used by a large portion of the Nostr web ecosystem.

    '
  humanURL: https://github.com/nbd-wtf/nostr-tools
  baseURL: https://www.npmjs.com/package/nostr-tools
  tags:
  - SDK
  - JavaScript
  - TypeScript
  - Client Library
  properties:
  - type: Repository
    url: https://github.com/nbd-wtf/nostr-tools
  - type: Package
    url: https://www.npmjs.com/package/nostr-tools
features:
- name: Cryptographic Identity
  description: Each user is a secp256k1 keypair; no account creation, no central registry.
- name: Signed Events
  description: Every event carries a Schnorr signature over a deterministic JSON serialization, allowing any relay to verify
    authenticity.
- name: Multi-Relay Publishing
  description: Clients publish to and read from many relays in parallel, with no single point of failure.
- name: Extensible Event Kinds
  description: New event kinds and NIPs can be proposed and adopted without coordination from a central authority.
- name: Censorship Resistance
  description: Relays can refuse content, but they cannot prevent it from existing elsewhere on the network.
- name: Lightweight Relay Surface
  description: A minimal WebSocket interface keeps the cost of running a relay low enough for hobbyists.
useCases:
- name: Social Clients
  description: Build mobile, web, or desktop social clients (Damus, Amethyst, Coracle, Yakihonne).
- name: Long-Form Publishing
  description: Use NIP-23 long-form events for blog-style content and newsletter distribution.
- name: Private Messaging
  description: Implement encrypted direct messages and group chat using NIP-04, NIP-17, and NIP-44 kinds.
- name: Lightning Zaps
  description: Layer Lightning Network micropayments on top of Nostr events using NIP-57 zaps.
- name: Relay Operation
  description: Run a public, private, or paid relay to serve specific communities or content policies.
- name: Bots and Automation
  description: Build read-only bots, scrapers, and event mirrors with minimal infrastructure.
integrations:
- name: Damus
- name: Amethyst
- name: Coracle
- name: Yakihonne
- name: Nostur
- name: Iris
- name: strfry
- name: khatru
- name: nostream
- name: Lightning Network
common:
- type: Website
  url: https://nostr.com/
- type: GitHubOrganization
  url: https://github.com/nostr-protocol
- type: Specification
  url: https://github.com/nostr-protocol/nips
- type: ProtocolReference
  url: https://github.com/nostr-protocol/nostr
- type: AppDirectory
  url: https://nostrapps.com/
- type: SoftwareDirectory
  url: https://nostr.net/
- type: GettingStarted
  url: https://start.njump.me/
- type: NetworkExplorer
  url: https://nostr.band/
- type: OriginalEssay
  url: https://fiatjaf.com/nostr.html
- type: LlmsText
  url: https://nostr.com/llms.txt
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com