# Nostr Services — Full Site Text > Nostr Services (operated by 21 Million LLC) builds open, decentralized infrastructure for the > Nostr protocol: private messaging, relays, media hosting and portable identity. This file > contains the complete documentation for https://nostrservices.com in one plain-text document, > for AI agents and other automated readers. A shorter index is at https://nostrservices.com/llms.txt Site: https://nostrservices.com Contact: contact@nostrservices.com Last updated: 2026-08-28 Services at a glance: 1. Nymchat — https://nymchat.app — ephemeral, anonymous, decentralized chat bridged with Bitchat 2. Nosflare — https://nosflare.com — edge-optimized Nostr relay infrastructure powered by Cloudflare 3. NostrMedia.com — https://nostrmedia.com — NIP-96 and Blossom powered image and video hosting 4. NostrAddress.com — https://nostraddress.com — NIP-05 verification for human-readable addresses ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/about.md # About Nostr Services Nostr Services builds open infrastructure for the [Nostr protocol](./nostr-protocol.md): private messaging, edge relays, media hosting and portable identity — the pieces a decentralized social network needs but that individual users should not have to operate. - Website: https://nostrservices.com - Operator: 21 Million LLC - Contact: contact@nostrservices.com ## What we run | Service | Description | | --- | --- | | [Nymchat](./nymchat.md) | Ephemeral, anonymous, decentralized chat bridged with Bitchat | | [Nosflare](./nosflare.md) | Edge-optimized Nostr relay infrastructure powered by Cloudflare | | [NostrMedia.com](./nostrmedia.md) | NIP-96 and Blossom powered image and video hosting | | [NostrAddress.com](./nostraddress.md) | NIP-05 verification for human-readable Nostr addresses | ## How we think about it Nostr's core promise is that no operator is load-bearing — users hold their own keys and can move between relays, clients and hosts at will. That constrains what good infrastructure looks like: it should speak standard protocols, interoperate with everyone else's, and be replaceable without a user losing anything. Each of our services is usable from any compliant Nostr client, and none of them require an account with us to use the protocol. ## For AI agents and crawlers - [/llms.txt](https://nostrservices.com/llms.txt) — structured index of this site - [/llms-full.txt](https://nostrservices.com/llms-full.txt) — the full text in one file - [/sitemap.xml](https://nostrservices.com/sitemap.xml) — canonical URL list ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/services.md # Services Overview Nostr Services operates four production services for the [Nostr protocol](./nostr-protocol.md). They are independent of each other: you can use any one of them with any Nostr client, and none of them require an account with Nostr Services to use the protocol itself. | Service | What it does | Where | | --- | --- | --- | | Nymchat | Ephemeral, anonymous, decentralized chat bridged with Bitchat | https://nymchat.app | | Nosflare | Edge-optimized Nostr relay infrastructure powered by Cloudflare | https://nosflare.com | | NostrMedia.com | NIP-96 and Blossom powered image and video hosting for Nostr clients | https://nostrmedia.com | | NostrAddress.com | NIP-05 verification service for human-readable Nostr addresses | https://nostraddress.com | ## Which service solves which problem - **"I want to talk to someone without leaving a trail."** → [Nymchat](./nymchat.md). Ephemeral, anonymous chat that bridges with Bitchat. - **"My client needs a fast relay to read from and write to."** → [Nosflare](./nosflare.md). A Nostr relay running on Cloudflare's edge network. - **"My users need to upload images and video."** → [NostrMedia](./nostrmedia.md). Implements NIP-96 and the Blossom media protocol, so any client supporting either can use it. - **"I want a readable name instead of a raw public key."** → [NostrAddress](./nostraddress.md). NIP-05 verification maps `name@domain` to a Nostr public key. ## How these fit together A typical Nostr client needs three things beyond the user's keypair: somewhere to publish and read events (a relay), somewhere to put files that are too large to be events (a media host), and a human-readable identifier (NIP-05). Nostr Services runs one of each, plus a messaging app built on top. Because Nostr is an open protocol, mixing and matching is expected. A client can read from Nosflare and a dozen other relays at once, upload media to NostrMedia and to a self-hosted Blossom server, and verify a NIP-05 address hosted anywhere. ## Contact - Email: contact@nostrservices.com - Operator: 21 Million LLC ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/nymchat.md # Nymchat **Ephemeral, anonymous, decentralized chat bridged with Bitchat.** - Website: https://nymchat.app - Category: messaging / privacy - Operator: Nostr Services (21 Million LLC) ## What it is Nymchat is a chat application built on the [Nostr protocol](./nostr-protocol.md). Conversations are ephemeral rather than archived, participants are pseudonymous, and message transport is decentralized across Nostr relays instead of a single company's servers. Nymchat is bridged with Bitchat, so conversations reach people on that network too. ## What it is for - Talking to people without creating a durable, searchable social profile. - Conversations you do not want persisted indefinitely. - Reaching Bitchat users from a Nostr-native client, and the other way around. ## Key ideas - **Ephemeral.** Messages are meant to be transient, not a permanent archive. - **Anonymous.** Identity is a keypair, not a phone number or email address. - **Decentralized.** Messages travel over Nostr relays; there is no single chokepoint that can silently drop a conversation. - **Bridged.** Interoperates with Bitchat instead of forming another isolated island. ## Related - [All Nostr Services services](./services.md) - [How the Nostr protocol works](./nostr-protocol.md) - [Nosflare](./nosflare.md), the relay infrastructure operated alongside it ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/nosflare.md # Nosflare **Edge-optimized Nostr relay infrastructure powered by Cloudflare.** - Website: https://nosflare.com - Category: relay / infrastructure - Operator: Nostr Services (21 Million LLC) ## What it is A [Nostr relay](./nostr-protocol.md#relays) is the piece of the network that accepts signed events from clients, stores them, and serves them back in response to subscriptions. Nosflare runs that role on Cloudflare's edge network, so a client connects to a nearby point of presence rather than to a single origin server in one region. ## What it is for - Clients that need a dependable relay to publish to and subscribe from. - Users who want lower round-trip latency than a single-region relay can offer. - Developers who want relay infrastructure without operating servers themselves. ## Key ideas - **Edge computing.** Relay logic runs close to the user instead of in one datacenter. - **Performance.** Optimized for the read/subscribe patterns real Nostr clients generate. - **Standard protocol.** Speaks the ordinary Nostr relay WebSocket protocol, so any compliant client can use it without special support. ## Using a relay Nostr clients accept a relay list. Adding a relay is normally a matter of entering its `wss://` URL in the client's relay settings; clients read from and write to several relays at once, and adding one does not mean dropping the others. ## Related - [All Nostr Services services](./services.md) - [How the Nostr protocol works](./nostr-protocol.md) ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/nostrmedia.md # NostrMedia.com **NIP-96 and Blossom powered image and video hosting for Nostr clients.** - Website: https://nostrmedia.com - Category: media hosting / CDN - Operator: Nostr Services (21 Million LLC) ## What it is Nostr events are small signed JSON objects — they are not the right place for a 40 MB video. The convention is to upload the file to a media host and publish the resulting URL in the event. NostrMedia is such a host, and it implements two standard upload protocols so clients do not need custom integration code: - **NIP-96**, the Nostr specification for HTTP file storage, where the server publishes a well-known JSON document describing its upload endpoint and the client authorizes uploads with a signed Nostr event. - **Blossom**, a content-addressed media protocol in which files are identified by the SHA-256 hash of their contents, so the same file can be mirrored across several servers and still be addressed identically. ## What it is for - Clients that need image and video uploads without running storage themselves. - Users who want their media served from a CDN rather than a single host. - Content that should stay retrievable even if one host disappears — Blossom's hash addressing means a mirror serves the identical file. ## Key ideas - **Media storage.** Images and video for Nostr clients. - **CDN.** Files are served for distribution, not from a single origin box. - **Streaming.** Video is served for playback, not only download. ## Related - [All Nostr Services services](./services.md) - [How the Nostr protocol works](./nostr-protocol.md) - [NIP-96 specification](https://github.com/nostr-protocol/nips/blob/master/96.md) ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/nostraddress.md # NostrAddress.com **NIP-05 verification service for human-readable Nostr addresses.** - Website: https://nostraddress.com - Category: identity / verification - Operator: Nostr Services (21 Million LLC) ## What it is A Nostr identity is a public key — a 64-character hex string, or an `npub1…` encoding of it. That is precise but unreadable. NIP-05 solves the readability problem: an address that looks like an email, `name@domain`, resolves to a public key through a JSON document the domain serves at `/.well-known/nostr.json`. Clients fetch that document and show the address as verified when the key matches. NostrAddress hosts that mapping so you do not have to operate a web server to hold one JSON file. ## What it is for - Being findable as `you@example.com` instead of `npub1…`. - Giving followers a way to check that a profile really belongs to the key they expect. - Clients that use NIP-05 addresses for discovery and search. ## What NIP-05 does and does not mean NIP-05 proves that whoever controls the domain vouches for the pairing of that name and that public key. It is a statement by a domain about a key. It is not an identity check on the person behind the key, and it is not a blue-check-style endorsement. ## Related - [All Nostr Services services](./services.md) - [How the Nostr protocol works](./nostr-protocol.md) - [NIP-05 specification](https://github.com/nostr-protocol/nips/blob/master/05.md) ------------------------------------------------------------------------------ Source: https://nostrservices.com/docs/nostr-protocol.md # The Nostr Protocol Nostr — "Notes and Other Stuff Transmitted by Relays" — is a simple, open protocol for a decentralized, censorship-resistant global social network. It is deliberately small: there is no consensus mechanism, no blockchain and no central server. ## The three moving parts ### Keys An identity is a secp256k1 keypair. The public key *is* the account; the private key signs everything published under it. There is no registration, no password reset and no company that can take the account away — which also means losing the private key means losing the identity. Keys are usually shown in the bech32 forms `npub1…` (public) and `nsec1…` (private). ### Events Everything published on Nostr is an *event*: a small JSON object with a kind number, a timestamp, tags, content and a signature over its contents. A short post, a profile update, a reaction, a relay list and a direct message are all events with different kind numbers. Because each event is signed, any relay or client can verify authorship without trusting whoever handed it over. ### Relays Relays are dumb servers that accept events over a WebSocket, store them, and send them to clients that subscribe with filters. Relays do not talk to each other. Redundancy comes from clients publishing to several relays at once, so no single relay's disappearance or refusal removes a user from the network. [Nosflare](./nosflare.md) is a relay built for edge delivery. ## NIPs Protocol extensions are specified as *NIPs* (Nostr Implementation Possibilities), numbered documents in the [nostr-protocol/nips](https://github.com/nostr-protocol/nips) repository. Clients and relays implement the subset they need. NIPs referenced by Nostr Services: - **NIP-01** — the base protocol: event format, relay messages, subscription filters. - **NIP-05** — mapping `name@domain` addresses to public keys. See [NostrAddress](./nostraddress.md). - **NIP-96** — HTTP file storage integration for media uploads. See [NostrMedia](./nostrmedia.md). Blossom, used alongside NIP-96 by [NostrMedia](./nostrmedia.md), is a related specification for content-addressed media servers where files are identified by the SHA-256 hash of their bytes. ## Why it matters Because identity lives in a keypair rather than in a provider's database, users can move between clients and relays without asking permission and without losing their audience. That property is the reason Nostr Services builds infrastructure here: the pieces are replaceable by design, including ours. ## Further reading - https://nostr.com — an introduction to the protocol - https://github.com/nostr-protocol/nips — the specifications