Matrix media
matrix.org · Storage · 2 records · JSON
- Matrix media repository (matrix.org homeserver) Storagefails: quotainstitutionno cardRper-ip-shaping
- Matrix.org homeserver (media repository) Storagefails: quotainstitutionno cardR
Matrix media repository (matrix.org homeserver) Storage
fails: quotainstitutionno cardRper-ip-shaping
| Free tier | Free plan: 10 MB maximum per attachment, 100 MB of attachments per 24 hours, up to 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24h, 5 GB/28d. Accounts not on any plan get 500 MB/24h up to 2 GB/28d. So the total is a few GB per month — not a storage provider at all. unit MB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Egress itself is free ('the HTTPS data transfer to/from the matrix.org homeserver' does not count towards limits), but that is irrelevant at a 500 MB/28-day ingest rate. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: ee users 'may be changed to a free plan in the future'. Any federation of homeservers multiplies it, but you are then running the homeservers yourself, which is just 'buy a server'. On the p |
| Limits |
Unauthenticated media download is deprecated and already frozen: the spec says servers SHOULD 'freeze' the old /_matrix/media/* endpoints so post-freeze uploads are only reachable via authenticated endpoints. Probed: matrix.org /_matrix/client/v1/media/config -> 401 M_MISSING_TOKEN, unauthenticated /_matrix/media/v3/download/... -> 404. So no anonymous CDN reads. |
| Binding | per-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams |
| Interface | rest rest |
| Tooling | Excellent — the Content Repository API is a real spec, mxc:// URIs, every Matrix client library implements it. Self-hosted Synapse has no such caps (only max_upload_size, default 10M historically). |
| Composes with | Any federation of homeservers multiplies it, but you are then running the homeservers yourself, which is just 'buy a server'. On the public homeserver there is no chaining path: limits are per-account and the 28-day cap is the binding one. |
| Reliability | Stable, but the 28-day rolling cap means an upload-heavy workload simply stops. matrix.org also states pricing is not final and free users 'may be changed to a free plan in the future'. |
| Notes | Free plan: 10 MB maximum per attachment, 100 MB of attachments per 24 hours, up to 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24h, 5 GB/28d. Accounts not on any plan get 500 MB/24h up to 2 GB/28d. So the total is a few GB per month — not a storage provider at all. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | matrix.org/homeserver/pricing/ | 'Size of attachment that can be sent | 10MB maximum per attachment ... Total size of attachments | 100MB per 24 hours, up to 500MB per 28 days' |
| 2026-10-21 | spec.matrix.org/latest/client-server-api/#content-repository | 'The unauthenticated download endpoints have been deprecated ... servers SHOULD freeze' |
| 2026-10-21 | matrix.org/_matrix/client/v1/media/config | probe: GET -> 401 M_MISSING_TOKEN; unauth media download -> 404 |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Free plan: 10 MB maximum per attachment, 100 MB of attachments per 24 hours, up to 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24h, 5 GB/28d. Accounts not on any plan get 500 MB/24h up to 2 GB/28d. So the total is a few GB per month — not a storage provider at all.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (6)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Matrix.org homeserver (media repository) Storage
fails: quotainstitutionno cardR
| Free tier | Free plan: 10 MB max per attachment, 100 MB per 24 h, capped at 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24 h up to 5 GB/28 days. Accounts not yet on a plan get fair-use 500 MB/24 h and 2 GB/28 days. unit MB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Free, no metered egress, and media is served through the homeserver so you can front it with Cloudflare. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: n shrink under you. Synapse also purges unreferenced media. Federated: N accounts on N homeservers each get their own 500 MB/28-day allowance, and media federates across servers. But per-ac |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | rest rest |
| Tooling | Matrix client-server API /_matrix/media/v3/upload and /_matrix/client/v1/media/download. Every SDK supports it (matrix-nio, matrix-js-sdk, mautrix-*); Element is the reference client. |
| Composes with | Federated: N accounts on N homeservers each get their own 500 MB/28-day allowance, and media federates across servers. But per-account throughput is the binding constraint, not the divisor. |
| Reliability | matrix.org introduced paid plans in 2025 and explicitly reserves the right to move existing users onto the free plan's tighter limits, so quotas can shrink under you. Synapse also purges unreferenced media. |
| Notes | Free plan: 10 MB max per attachment, 100 MB per 24 h, capped at 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24 h up to 5 GB/28 days. Accounts not yet on a plan get fair-use 500 MB/24 h and 2 GB/28 days. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | matrix.org/homeserver/pricing/ | 'Size of attachment that can be sent: 10MB maximum per attachment (Free) / Total size of attachments and data usage: 100MB per 24 hours, up to 500MB per 28 days (Free)' |
| 2026-10-21 | matrix.org/homeserver/pricing/ | 'Data usage limit of 500MB per 24 hour period, up to a limit of 2GB per 28 days apply' (fair use, no plan) |
| 2026-10-21 | matrix.org/_matrix/media/v3/download/matrix.org/abc | probe: GET -> 404 M_NOT_FOUND; GET https://matrix.org/_matrix/client/v1/media/download/matrix.org/abc -> 401 M_MISSING_TOKEN (authenticated media enforced) |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Free plan: 10 MB max per attachment, 100 MB per 24 h, capped at 500 MB per 28 days. Premium: 100 MB per attachment, 1 GB/24 h up to 5 GB/28 days. Accounts not yet on a plan get fair-use 500 MB/24 h and 2 GB/28 days.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (6)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted