Nostr logo

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...

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
🔗
Specifications
Specifications
🔗
ProtocolReference
ProtocolReference
🔗
AppDirectory
AppDirectory
🔗
SoftwareDirectory
SoftwareDirectory
🚀
GettingStarted
GettingStarted
🔗
NetworkExplorer
NetworkExplorer
🔗
OriginalEssay
OriginalEssay
🔗
LLMsTxt
LLMsTxt

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: Specifications
    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: LLMsTxt
    url: https://nostr.com/llms.txt
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com