# Frequently asked questions

## How many files can I upload, and what file types are supported?

Storage is capped by total size rather than by file count: **100 GB** on Purple,
**210 GB** on Onyx and **2.1 TB** on Gold. How many files that holds depends on how big
each one is. A single file can be up to 5 GB.

Supported types: `.jpeg` `.jpg` `.png` `.gif` `.webp` `.bmp` `.tiff` `.heic` `.ico`
`.svg` `.mp4` `.webm` `.ogg` `.mov` `.avi` `.wmv` `.mkv` `.flv` `.mpeg` `.mpg` `.3gp`
`.m4v` `.mp3` `.wav` `.flac` `.aac` `.m4a` `.wma` `.pdf` `.docx` `.xlsx` `.pptx` `.txt`
`.rtf` `.odt` `.ods` `.csv` `.zip` `.rar` `.7z` `.tar.gz` `.psd` `.stl`.

Purple covers the image and video types; audio, documents and archives need Onyx or Gold.
A paid plan is required to upload anything at all.

## Which Nostr clients work with Nostr Media?

Any client that supports [Blossom](https://github.com/hzrd149/blossom) or
[NIP-96](https://github.com/nostr-protocol/nips/blob/master/96.md) — including Primal,
Amethyst, Nostur, YakiHonne, Snort, noStrudel and 0xchat. Enter
`https://nostrmedia.com` as the media server address in the client's settings and save.
See [clients.md](https://nostrmedia.com/docs/clients.md).

Only the upload and mirroring parts of Blossom and NIP-96 are implemented so far. Listing
and deleting go through the [file manager](https://nostrmedia.com/manage) or the
[API](https://nostrmedia.com/docs/api.md).

## Do uploaded files expire?

No. Uploads never expire for as long as the subscription stays active. They are removed
only after a subscription is cancelled or lapses — immediately at the end of the paid
period for card subscriptions, or 14 days after expiry for Bitcoin zap subscriptions.

## Can I manage my uploaded files?

Yes. Every subscriber gets the web file manager at <https://nostrmedia.com/manage>: search
and filter by type, rename, copy URLs, add or remove a Zapwall, and delete. It also shows
how much of your storage quota is used.

## I lost my private key (nsec). Do you have it?

No, and it cannot be recovered. Uploading never requires your private key to leave your
signer — Nostr Media only ever sees signed events, never the key itself. A lost or
compromised key means creating a new Nostr account and subscribing again; the old key's
files are not transferable.

## What is Zapwall?

Zapwall is a paywall unlocked by a Nostr zap rather than a card. A subscriber sets a price
in satoshis on any of their files; a viewer unlocks it by zapping that amount. The
Lightning payment goes **directly to the file owner** — Nostr Media takes no cut.

Turning it on moves the file from `file.nostrmedia.com/p/<pubkey>/...` to
`file.nostrmedia.com/zapwall/<pubkey>/...`, so share the new URL. Anyone can check the
price on a file without authenticating: `GET /zapwall?fileUrl=<encoded url>`.

## How do I manage my subscription?

Card subscriptions are managed in the Stripe billing portal at
<https://billing.stripe.com/p/login/7sI17t96H88Z9KU3cc>. Bitcoin subscriptions are
checked and renewed at <https://lightning.nostrmedia.com/subscribe> — the "Check Time
Remaining" button shows what is left, and a new zap for the same plan and term extends it
automatically.

## What happens to my files if I downgrade or cancel?

Cancelling a card subscription deletes the files at the end of the billing period. A
lapsed Bitcoin subscription keeps them online for 14 more days. Upgrading or downgrading
never deletes anything, but if you are over the 100 GB Purple limit and downgrade from
Onyx, you cannot upload again until you are back under it.

## Is there restricted content?

Nostr Media does not moderate uploads. It is, however, bound by the laws of its
applicable jurisdiction, and will act on valid DMCA, abuse or illegal-content complaints,
removing material where necessary. See the
[Terms of Service](https://nostrmedia.com/docs/terms.md) and the
[Acceptable Use Policy](https://nostrmedia.com/docs/aup.md).

## Is there an API?

Yes — see the full [API reference](https://nostrmedia.com/docs/api.md). In brief: hash the
file, sign a kind `24242` Nostr event carrying `["t","upload"]` and `["x","<sha256>"]`
tags, base64-encode it into an `Authorization: Nostr <event>` header, and `POST` the file
to `https://nostrmedia.com/upload`. `PUT` and `OPTIONS` are also accepted. Files over
125 MB go through `https://nostrmedia.com/presigned`, which returns presigned URLs for
direct upload, up to 5 GB per file.

## Is Nostr Media part of the Nostr project?

No. It is an independent service run by 21 Million LLC dba Nostr Services, offered as-is
without warranty of any kind.

## Is there a free tier?

No. Uploading and storing files requires an active Purple, Onyx or Gold subscription.
