fshy

Home / Storage

nostrmedia.com (NIP-96 file host)

nostrmedia.com/P2P blob storagestorage/nostrmedia-comJSONcomparereport an errorprovider JSON

Free allowance
Free plan max_byte_size 26,214,400 (25 MiB); paid 'purple'/'onyx' 104,857,600 (100 MiB). file_expiration: [0,0] on every plan = never expires.
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
anonymousno card, no phone
Binding limit
per-object-capper-object-cap 25 MiB
Evidence
reported3 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierfree plan max_byte_size 26,214,400 (25 MiB); paid 'purple'/'onyx' 104,857,600 (100 MiB). file_expiration: [0,0] on every plan = never expires.
unit mixed; metered on unstated
Pricenone stated
Limits
  • per-object-cap (binding) per-object-cap 25 MiB source
per-object-cap 25 MiB free. 125 MB on the direct /upload, 5 GB via /presigned (per llms.txt) — the /presigned path is the one that matters and it is far above the free plan's advertised 25 MiB.
Identityanonymous anonymous
Egressunmetered, Cloudflare-fronted (Server: cloudflare, Cache-Control public max-age=14400).
Per-object capper-object-cap 25 MiB (26214400 bytes)
Retentionnot stated
Interfaceunknown NIP-96 HTTP file storage. Discoverable at /.well-known/nostr/nip96.json; POST /upload; /presigned 'handles up to 5 GB'.
Toolingcurl; NIP-98 Authorization header (signed event). The llms.txt documents the /presigned path for large objects.
Composes withmachine-readable plan manifest means the cap is queryable rather than scraped — one GET tells you the size ceiling per plan.
Reliabilitytransforms media at ingest on some paths (resizing, format_conversion, compression, metadata_stripping are all listed in the manifest) — verify that originals come back byte-identical.
Parsed numbers
  • has-free-tier 1
  • per-object-cap 25 MiB
Evidence 3
datesourcewhat it proved
2026-10-21nostrmedia.com/.well-known/nostr/nip96.jsonliteral body: api_url https://nostrmedia.com/upload, download_url https://file.nostrmedia.com, supported_nips [94,96,98], plans.free.max_byte_size 26214400, file_expiration [0,0], media_transformations image [resizing, format_conversion, compression, metadata_stripping]
2026-10-21nostrmedia.com/llms.txt'A single POST to /upload accepts files up to 125 MB; /presigned handles up to 5 GB', 'Uploads never expire while the subscription is active'
2026-10-21nostrmedia.com/docs/api.md'/upload answers 413 above 125 MB because the request would outlive the worker'
More fields 1
unit notefree_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.
Unknown values 4
  • interface: the access interface was not established
  • per object cap notes: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read
  • retention stated: the field may be stated in a source that was not read