> ## Documentation Index
> Fetch the complete documentation index at: https://86d.store/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Digital downloads

> Sell digital files in 86d: ebooks, audio, video, software. Time-limited signed URLs and per-order download caps.

<Warning>
  **Experimental.** This Module has no test or production evidence recorded yet. Read it, run it locally, and hold off on real Orders. See [maturity levels](/docs/resources/versioning).
</Warning>

The Digital Downloads [Module](/docs/concepts/modules) turns any file into a sellable digital good. After purchase, the [Customer](/docs/resources/glossary#customer) receives a download link backed by a time-limited signed URL, and the Module enforces per-order download caps to prevent unlimited sharing. Your configured [storage adapter](/docs/configuration/storage) (`local`, `vercel`, or `s3`) serves the files.

**Source:** [`modules/digital-downloads`](https://github.com/86d-store/86d/tree/main/modules/digital-downloads) · **npm:** [`@86d-store/digital-downloads`](https://www.npmjs.com/package/@86d-store/digital-downloads)

## Installation

```sh theme={null}
86d module add digital-downloads
```

## Configuration

```ts theme={null}
digitalDownloads({
  signedUrlTtlSeconds: "86400",   // 24h
  maxDownloadsPerPurchase: "5",
});
```

## Store endpoints

| Method | Path                | Description                             |
| ------ | ------------------- | --------------------------------------- |
| `GET`  | `/downloads/me`     | List the customer's purchased downloads |
| `GET`  | `/downloads/me/:id` | Get a fresh signed URL                  |

## Related pages

* [Products](/docs/modules/products) to mark a product as digital
* [Orders](/docs/modules/orders)
* [Storage configuration](/docs/configuration/storage)
* [Glossary](/docs/resources/glossary)
* [Versioning and maturity](/docs/resources/versioning)
