{"eid":"ditto","name":"blossom.ditto.pub","domain":"ditto.pub","resolved_by":"domain","topics":["storage"],"n_records":1,"best_vorder":1,"review":null,"aliases":["blossom.ditto.pub","blossom.ditto.pub (Ditto Blossom server)","ditto.pub"],"records":[{"rid":"storage/blossom-ditto-pub","card":{"rid":"storage/blossom-ditto-pub","eid":"ditto","topic":"storage","slug":"blossom-ditto-pub","provider":"blossom.ditto.pub (Ditto Blossom server)","url":"https://blossom.ditto.pub","domain":"ditto.pub","category":"content-addressed blob server","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":2000000000,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"No quota. Live server stats: 1,375,309 total blobs, 781.96 GB storage used, 8,684 uploads/24 h. Max upload size 2 GB, max media size 1 GB, accepted types `*`.","duplicate_of":null,"n_unknown":5},"record":{"topic":"storage","slug":"blossom-ditto-pub","provider":"blossom.ditto.pub (Ditto Blossom server)","url":"https://blossom.ditto.pub","category":"content-addressed blob server","free_tier":{"stated":"No quota. Live server stats: 1,375,309 total blobs, 781.96 GB storage used, 8,684 uploads/24 h. Max upload size 2 GB, max media size 1 GB, accepted types `*`.","unit":"GB","metered_on":"stored-bytes","source_url":"https://blossom.ditto.pub/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"2 GB/upload","bytes":2000000000,"source_url":"https://blossom.ditto.pub/","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://blossom.ditto.pub/","notes":"not stated"},"egress":{"terms":"free, unauthenticated GET by SHA-256","metered":false},"interface":["unknown"],"interface_detail":"Blossom / BUD-01 over HTTPS","tooling":"Blossom clients, nostr SDKs, curl","chaining":"2 GB per object makes it the best per-file ratio in the Blossom set; SHA-256 addressing composes directly with the chunk-and-replicate pattern.","limits":[{"kind":"per-object-cap","value":"2 GB/upload","source":"https://blossom.ditto.pub/"}],"limits_note":"2 GB/upload, 1 GB for /media; images re-encoded to webp @192 by the server's media optimisation (so /media is lossy, but /upload of a raw blob is not)","identity_cost":{"kind":"anonymous","detail":"anonymous — Nostr keypair (BUD-11 auth token). No email.","country":null},"reliability_note":"Operator-run hobby infrastructure with ~782 GB on disk; a 500 GB deposit would double the server. No published retention, unlike 24242.io.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://blossom.ditto.pub/","date":"2026-10-21","proved":"'1,375,309 Total Blobs / 781.96 GB Storage Used / 8,684 Uploads (24h)'; 'Max upload size 2 GB'; 'Authentication Required'; 'Accepted types *'"},{"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 quota. Live server stats: 1,375,309 total blobs, 781.96 GB storage used, 8,684 uploads/24 h. Max upload size 2 GB, max media size 1 GB, accepted types `*`.","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":781.96,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":2.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.free_tier.notes","process"],["$.interface","interface-unknown"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]}]}