Blossom blob servers
nostr.build · Storage · 1 record · JSON
Blossom blob servers (nostr.download, blossom.nostr.build, 24242.io) Storage
fails: quotaanonymousno cardRretention-clamped
| Free tier | Per-object caps only, and small: nostr.build free uploads 20 MiB, hard cap 100 MiB, then storage plans 5 GB / $18/yr up to 500 GB / $240/yr. 24242.io: 100 MiB max file, files deleted after 60 days unaccessed. blossom.psbt.me: 1 month hosting, files under 1 MB. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | 24242.io: 100 MiB max file, files deleted after 60 days unaccessed (60 days) |
| Egress | Free CDN, global. |
| Identity | anonymous anonymous |
| Limits |
20 MiB free / 100 MiB absolute on nostr.build; 100 MiB on 24242.io; 1 MB on psbt.me. Auth is a signed event, so 'no account' is real: 401 with x-reason 'Missing Blossom Authorization header'. |
| Binding | retention-clamped a clock, not a quota: bytes leave whether or not the client is finished with them |
| Interface | rest BUD-01/BUD-06 HTTP API: PUT /upload, HEAD /upload, DELETE; auth is a signed Nostr event in the Authorization header, not an account. |
| Tooling | any Blossom client; curl with a signed event. |
| Composes with | Content-addressed by sha256, so it chunks naturally into the hoangvu12/free-s3 pattern — but 20 MiB chunks would need ~50,000 objects per TiB. |
| Reliability | Pure per-object-cap failure. Included because the auth model (keypair, zero registration) is the most open I found anywhere, and because the 60-day idle deletion on 24242.io is a textbook retention-clamp. |
| Notes | Per-object caps only, and small: nostr.build free uploads 20 MiB, hard cap 100 MiB, then storage plans 5 GB / $18/yr up to 500 GB / $240/yr. 24242.io: 100 MiB max file, files deleted after 60 days unaccessed. blossom.psbt.me: 1 month hosting, files under 1 MB. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (5)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | blossom.nostr.build/ | 'A hard cap of 100 MiB per upload (20 MiB for free uploads), with no limit on the number of uploads or retention'; plans $18/yr 5GB … $240/yr 500GB |
| 2026-10-21 | blossom.nostr.build/upload | HEAD returns 401, x-reason: 'Missing Blossom Authorization header, authorization required' (i.e. keypair auth, no signup) |
| 2026-10-21 | nostr.download/upload | 401, x-reason: 'Auth header not found' |
| 2026-10-21 | 24242.io/ | 'Max file size: 100MiB. Files are deleted if not accessed for 60 days.' |
| 2026-10-21 | blossom.psbt.me/ | 'Free Tier: 1-month hosting for files under 1 MB' |
More fields (1)
{
"dead_end": {
"failure_class": "retention",
"why": "Per-object caps only, and small: nostr.build free uploads 20 MiB, hard cap 100 MiB, then storage plans 5 GB / $18/yr up to 500 GB / $240/yr. 24242.io: 100 MiB max file, files deleted after 60 days unaccessed. blossom.psbt.me: 1 month hosting, files under 1 MB.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted