Origrid
origrid.io · Storage · 1 record · JSON
Origrid Storage
caveatanonymousno cardRper-object-cap
| Free tier | 25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean record) gives 100 GB storage, 50 GB/file and links that never expire; Verified Uploader = 100 GB/file + 5 TB storage + links that never expire. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 25 GB per file (25000000000 bytes) |
| Retention | Retention: 15 days anonymous, 90 days from last download for a free account, never for Contributor/Plus (15 days) |
| Egress | No ads, no wait, no cap, full speed on every plan; no per-download bandwidth meter stated. Bytes are served from R2/B2 origins via short-lived signed URLs. |
| Identity | anonymous derived from the record's prose, not from an identity field, and no signup was executed: 25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean re |
| Limits |
per-object-cap: 25 GB/file anonymous, 50 GB/file free account. Retention: 15 days anonymous, 90 days from last download for a free account, never for Contributor/Plus. Storage cap is the real bind: 50 GB free account, 100 GB Contributor, 5 TB only on the invite-only Verified tier. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest rest |
| Tooling | Own REST API, documented and keyless for the anonymous path. /api/upload/create, /api/upload/part, /api/upload/complete. Remote-upload endpoint POST /api/upload/remote pulls a URL server-side (no local bandwidth). |
| Composes with | Anonymous upload needs no key at all, so per-identity multiplication is free; but each anon file lives only 15 days from last download. The interesting route is the automatic Contributor tier: park 25 GB, wait 30 days, and links stop expiring (100 GB) — a slow-burn archive, not a hot tier. |
| Reliability | READ PATH IS GATED BY A MINTED TOKEN, not a static URL: /d/<id> is HTML whose Download button is a signed /dl/<JWT> that 302s to an R2 presigned URL with X-Amz-Expires=21600. The token is re-minted on every page view, so the file is durable but the *link* is not shareable as a bytes URL — you must re-scrape /d/<id> to fetch. Retains originals byte-exact. |
| Notes | 25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean record) gives 100 GB storage, 50 GB/file and links that never expire; Verified Uploader = 100 GB/file + 5 TB storage + links that never expire. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | withheld | probe: POST /api/upload/create (no auth) -> 200 {fileId, key, uploadId, partSize 67108864, claimToken} |
| 2026-10-21 | withheld | probe: PUT presigned part -> 200; POST /api/upload/complete -> {"id":"BbSXVbzMZ","status":"processing","url":"/d/BbSXVbzMZ"} |
| 2026-10-21 | withheld | probe: GET /d/BbSXVbzMZ -> 200 text/html; GET signed /dl/... -> 302 -> R2 presigned (X-Amz-Expires=21600); final GET 200 1048576 bytes, sha256 MATCH a60c67af...69a3a |
| 2026-10-21 | withheld | probe: GET /api/v1/files without key -> 401 {"message":"Invalid API key."} |
Unknown or withheld values (7)
$.evidence[0].urlprivate-url$.evidence[1].urlprivate-url$.evidence[2].urlprivate-url$.evidence[3].urlprivate-url$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted