fshy

fshy / Storage

Blossom server

24242.io · Storage · 2 records · JSON

Blossom server fleet (24242.io, blossom.oslim.dev / Lotus, blossom.nostr.build) Storage

★ qualifiesanonymousno cardRper-object-cap

24242.io/ · p2p-blob-storage · storage/blossom-server-fleet · JSON · compare

Free tier24242.io 100 MiB/file, deleted if not accessed for 60 days. blossom.oslim.dev (Lotus): 100 MB/file and 8 GB per pubkey, retention 'permanent', cost 'free'. blossom.nostr.build: 20 MiB/file free tier, 'no limit on how many files, and no expiry'.
unit mixed; metered on unstated
Pricenone stated
Per-object cap100 MiB/file (104857600 bytes)
Retention24242.io 100 MiB/file, deleted if not accessed for 60 days (60 days)
Egressunmetered / CDN-fronted. nostr.build advertises 'Global CDN delivery' on free uploads.
Identityanonymous anonymous
Limits
  • per-object-cap 100 MiB/file source
  • per-object-cap 100 MB/file source
  • retention-clamped deleted if not accessed for 60 days source
per-object-cap 100 MiB on most servers (20 MiB on nostr.build free). This is chunk-sized, not object-sized. 24242.io caps /list at the first 250 hits, so enumeration needs date ranges.
Bindingper-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota
Interfacecli Blossom BUD-01/02/04/05/06/10. GET /<sha256>, PUT /upload, PUT /mirror, GET /list/.
Toolingcurl; hzrd149/blossom CLI; any Blossom client. BUD-04 /mirror lets one server pull a blob from another given a URL, so replication is a server-side call, not a client re-upload.
Composes withaggregate GB is the sum over the fleet x number of keypairs (oslim's 8 GB is per-pubkey, and pubkeys cost nothing). 24242.io's 60-day access-based retention is defeated by any periodic HEAD.
Reliabilitysmall volunteer hosts, several with unstated total capacity. 24242.io states 'Free and unrestricted... for now'. Prefer BUD-04 mirroring to two servers per chunk.
Notes24242.io 100 MiB/file, deleted if not accessed for 60 days. blossom.oslim.dev (Lotus): 100 MB/file and 8 GB per pubkey, retention 'permanent', cost 'free'. blossom.nostr.build: 20 MiB/file free tier, 'no limit on how many files, and no expiry'.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 100.0 MiB
  • $.limits[1].value limit:per-object-cap 100.0 MB
Evidence (5)
datesourcewhat it proved
2026-10-2124242.io/'Free and unrestricted... with no warranties... for now.', 'Files are deleted if not accessed for 60 days', 'Max file size: 100MiB', 'BUD-06 /mirror will only accept a URL from another blossom server'
2026-10-21blossom.oslim.dev/'Max file size —, Storage per user —, Retention permanent, Cost free'; README of 0ceanSlim/lotus shows max_upload_size_bytes 104857600, max_storage_per_pubkey_bytes 8589934592
2026-10-21blossom.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'
2026-10-21oddbean.com/e/note17emh2aqsswd6fkzezpzykpus4226qkgu3z5gzqrc7agent report: nostr.download, 24242.io, files.sovbit.host and blossom.primal.net accepted BUD-06 checks at 5 MB AND 100 MB 'with a brand-new key that has never paid anywhere'
2026-10-21blossom.primal.net/uploadHTTP 400 (endpoint live, rejects unsigned body)
More fields (1)
{
 "unit_note": "free_tier.unit is 'mixed' because the headline is denominated in MiB or KiB, which the schema enum does not carry; the verbatim free_tier.stated keeps the true unit. See the storage-dossier handover."
}
Unknown or withheld values (3)
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.retention.notes not-extracted

24242.io — public Blossom blob server (Nostr) Storage

caveatanonymousno cardRper-object-cap

24242.io · content-addressed blob server (BUD-01/02/06) · storage/24242-io-public-blossom-blob-server · JSON · compare

Free tierNo account, no quota, no total cap stated — 'Free and unrestricted... with no warranties... for now.' Per-file 100 MiB. First person to upload an object owns it (SHA-256 addressed).
unit unlimited; metered on unstated
Pricenone stated
Per-object cap100 MiB/file (104857600 bytes)
Retention100 MiB/file; files deleted if not accessed for 60 days; /list returns only the first 250 hits; BUD-08 (NIP-94) not implemented (60 days)
Egressfree, unauthenticated GET by SHA-256; served from a public host with no metering published
Identityanonymous anonymous — a Nostr keypair is the credential; no email, no phone. Verified: HEAD /upload with a BUD-06 pre-flight but no auth header returns 401 'x-reason: Authorization header missing, when required'.
Limits
  • per-object-cap 100 MiB/file source
  • retention-clamped deleted if not accessed for 60 days source
100 MiB/file; files deleted if not accessed for 60 days; /list returns only the first 250 hits; BUD-08 (NIP-94) not implemented
Bindingper-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota
Interfaceunknown BUD-01 HTTP: PUT /upload (NIP-98 auth header), GET /<sha256>, HEAD /upload for BUD-06 pre-flight, /mirror for BUD-06
Toolingany Blossom client (nostr.build, ditto, Amethyst); nak for key generation; plain curl once you can sign a NIP-98 event
Composes withContent-addressed means a chunk map is trivial: (sha256 → server) is a complete locator, and BUD-06 /mirror lets one server pull a blob from another — so replication is a one-request operation per chunk.
Reliability60-day access-decay retention makes this an ephemeral tier, not an archive. 100 MiB/file means ~5,000 objects per 500 GB.
NotesNo account, no quota, no total cap stated — 'Free and unrestricted... with no warranties... for now.' Per-file 100 MiB. First person to upload an object owns it (SHA-256 addressed).
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 100.0 MiB
Evidence (4)
datesourcewhat it proved
2026-10-2124242.io/'Max file size: 100MiB'; 'Files are deleted if not accessed for 60 days'; 'First person to upload an object owns it'; BUD-06 /mirror accepts only another blossom URL
2026-10-2124242.io/uploadHEAD (BUD-06 headers) — 401, x-reason: 'Authorization header missing, when required'
2026-10-21files.sovbit.host/uploadHEAD — 401 (same BUD-06 shape)
2026-10-21blossom.ditto.pub/uploadHEAD — 401, X-Reason: 'This needs a Nostr auth token (BUD-11)'
Unknown or withheld values (4)
  • $.free_tier.notes process
  • $.interface interface-unknown
  • $.per_object_cap.notes not-extracted
  • $.retention.notes not-extracted