Blossom Protocol Reference: The BUD Registry (Nostr Blob Storage)
Quick answer
Blossom is a Nostr-native protocol for storing binary blobs (images, files, media) on public HTTP servers, addressed by their SHA-256 hash and authenticated with your Nostr keys — so your media is content-addressed and portable across servers instead of locked to one host. Its features are defined in numbered specs called BUDs (Blossom Upgrade Documents), BUD-00 through BUD-12. The registry below is sourced from the Blossom repository (public domain).
Sourced from github.com/hzrd149/blossom (Unlicense / public domain), as of 2026-07-21. Blossom is young and evolving — confirm the current wording of any BUD at the repo before you build against it.
| BUD | Title | What it defines |
|---|---|---|
BUD-00 |
Blossom Upgrade Documents | The meta-spec: how BUDs are numbered and how servers advertise the additional features they implement. |
BUD-01 |
Server requirements & blob retrieval | The core: fetch a blob by its SHA-256 hash over HTTP (GET /<sha256>), and the baseline server behaviour. |
BUD-02 |
Blob upload & management | The upload mechanism (PUT /upload) and the blob descriptor a server returns for a stored blob. |
BUD-03 |
User Server List | How a user publishes the list of Blossom servers they prefer, so clients know where to store and find their blobs. |
BUD-04 |
Mirroring blobs | Replicating a blob from one server to another (PUT /mirror) so it is not tied to a single host. |
BUD-05 |
Media optimization | Endpoints for server-side media processing / optimization of uploaded content. |
BUD-06 |
Upload requirements | Pre-flight validation of an upload before the bytes are sent. |
BUD-07 |
Payment required | How a server operator can require payment for storage (monetization). |
BUD-08 |
Nostr File Metadata Tags | Standardized Nostr tags for describing a stored file’s metadata. |
BUD-09 |
Blob Report | A protocol for reporting problematic or abusive blobs to a server. |
BUD-10 |
Blossom URI schema | A URI format for referencing a Blossom blob. |
BUD-11 |
Nostr Authorization | Authenticating requests using Nostr keys (signed authorization events). |
BUD-12 |
Blob management endpoints | Listing and deleting the blobs a user has stored on a server. |
Why it matters for a sovereign stack
Nostr handles the notes; Blossom handles the blobs those notes point at. Because a blob is addressed by its hash and your server list is your own Nostr event, you can mirror your media across several servers and move hosts without breaking links — the same content-addressed, host-independent idea that makes the rest of the sovereign stack resilient.
Related
Nostr key management · Nostr event-kinds reference · Nostr relay directory · Meshtastic PortNum registry (the mesh analogue) · the sovereignty hub.
Credit: Blossom is designed and maintained by hzrd149 and the Nostr community; this page is a dated, human-readable index of the project’s BUD specs.
Related products, repair, and setup paths
- immersion cooling hub
- home immersion cooling guide
- ASIC miners for immersion planning
- ASIC cooling parts
- airflow shroud before immersion
- compare miner specs in the database
- ASIC repair support
Last reviewed July 21, 2026.
