{"eid":"24242","name":"Blossom server","domain":"24242.io","resolved_by":"domain","topics":["storage"],"n_records":2,"best_vorder":0,"review":null,"aliases":["24242.io","24242.io — public Blossom blob server (Nostr)","Blossom server","Blossom server fleet (24242.io, blossom.oslim.dev / Lotus, blossom.nostr.build)"],"records":[{"rid":"storage/blossom-server-fleet","card":{"rid":"storage/blossom-server-fleet","eid":"24242","topic":"storage","slug":"blossom-server-fleet","provider":"Blossom server fleet (24242.io, blossom.oslim.dev / Lotus, blossom.nostr.build)","url":"https://24242.io/","domain":"24242.io","category":"p2p-blob-storage","tier":null,"verdict":"qualifies","vorder":0,"grp":"usable","confidence":"reported","binding":"per-object-cap","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"cli","egress_metered":0,"per_object_bytes":104857600,"retention_days":60,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"24242.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'. b...","duplicate_of":null,"n_unknown":3},"record":{"topic":"storage","slug":"blossom-server-fleet","provider":"Blossom server fleet (24242.io, blossom.oslim.dev / Lotus, blossom.nostr.build)","url":"https://24242.io/","category":"p2p-blob-storage","free_tier":{"stated":"24242.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","source_url":"https://24242.io/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"100 MiB/file","bytes":104857600,"source_url":"https://24242.io/","notes":"not stated"},"retention":{"stated":"24242.io 100 MiB/file, deleted if not accessed for 60 days","days":60,"source_url":"https://24242.io/","notes":"not stated"},"egress":{"terms":"unmetered / CDN-fronted. nostr.build advertises 'Global CDN delivery' on free uploads.","metered":false},"interface":["cli"],"interface_detail":"Blossom BUD-01/02/04/05/06/10. `GET /<sha256>`, `PUT /upload`, `PUT /mirror`, `GET /list/`.","tooling":"curl; 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.","chaining":"aggregate 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.","limits":[{"kind":"per-object-cap","value":"100 MiB/file","source":"https://24242.io/"},{"kind":"per-object-cap","value":"100 MB/file","source":"https://24242.io/"},{"kind":"retention-clamped","value":"deleted if not accessed for 60 days","source":"https://24242.io/"}],"limits_note":"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.","identity_cost":{"kind":"anonymous","detail":"anonymous","country":null},"reliability_note":"small volunteer hosts, several with unstated total capacity. 24242.io states 'Free and unrestricted... for now'. Prefer BUD-04 mirroring to two servers per chunk.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://24242.io/","date":"2026-10-21","proved":"'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'"},{"url":"https://blossom.oslim.dev/","date":"2026-10-21","proved":"'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"},{"url":"https://blossom.nostr.build/","date":"2026-10-21","proved":"'A hard cap of 100 MiB per upload (20 MiB for free uploads), with no limit on the number of uploads or retention'"},{"url":"https://oddbean.com/e/note17emh2aqsswd6fkzezpzykpus4226qkgu3z5gzqrc7p5cpslkeckq9e6882","date":"2026-10-21","proved":"agent 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'"},{"url":"https://blossom.primal.net/upload","date":"2026-10-21","proved":"HTTP 400 (endpoint live, rejects unsigned body)"}],"verdict":"qualifies","verified_at":"2026-10-21T00:00:00.000Z","notes":"24242.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'.","extras":{"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."},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":100.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/24242-io-public-blossom-blob-server","card":{"rid":"storage/24242-io-public-blossom-blob-server","eid":"24242","topic":"storage","slug":"24242-io-public-blossom-blob-server","provider":"24242.io — public Blossom blob server (Nostr)","url":"https://24242.io","domain":"24242.io","category":"content-addressed blob server (BUD-01/02/06)","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"reported","binding":"per-object-cap","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":104857600,"retention_days":60,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"No 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...","duplicate_of":null,"n_unknown":4},"record":{"topic":"storage","slug":"24242-io-public-blossom-blob-server","provider":"24242.io — public Blossom blob server (Nostr)","url":"https://24242.io","category":"content-addressed blob server (BUD-01/02/06)","free_tier":{"stated":"No 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","source_url":"https://24242.io/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"100 MiB/file","bytes":104857600,"source_url":"https://24242.io/","notes":"not stated"},"retention":{"stated":"100 MiB/file; files deleted if not accessed for 60 days; /list returns only the first 250 hits; BUD-08 (NIP-94) not implemented","days":60,"source_url":"https://24242.io/","notes":"not stated"},"egress":{"terms":"free, unauthenticated GET by SHA-256; served from a public host with no metering published","metered":false},"interface":["unknown"],"interface_detail":"BUD-01 HTTP: PUT /upload (NIP-98 auth header), GET /<sha256>, HEAD /upload for BUD-06 pre-flight, /mirror for BUD-06","tooling":"any Blossom client (nostr.build, ditto, Amethyst); `nak` for key generation; plain curl once you can sign a NIP-98 event","chaining":"Content-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.","limits":[{"kind":"per-object-cap","value":"100 MiB/file","source":"https://24242.io/"},{"kind":"retention-clamped","value":"deleted if not accessed for 60 days","source":"https://24242.io/"}],"limits_note":"100 MiB/file; files deleted if not accessed for 60 days; /list returns only the first 250 hits; BUD-08 (NIP-94) not implemented","identity_cost":{"kind":"anonymous","detail":"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'.","country":null},"reliability_note":"60-day access-decay retention makes this an ephemeral tier, not an archive. 100 MiB/file means ~5,000 objects per 500 GB.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://24242.io/","date":"2026-10-21","proved":"'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"},{"url":"https://24242.io/upload","date":"2026-10-21","proved":"HEAD (BUD-06 headers) — 401, x-reason: 'Authorization header missing, when required'"},{"url":"https://files.sovbit.host/upload","date":"2026-10-21","proved":"HEAD — 401 (same BUD-06 shape)"},{"url":"https://blossom.ditto.pub/upload","date":"2026-10-21","proved":"HEAD — 401, X-Reason: 'This needs a Nostr auth token (BUD-11)'"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"No 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).","extras":{},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.free_tier.notes","process"],["$.interface","interface-unknown"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]}]}