Puter
puter.com · Storage · 1 record · JSON
Puter (puter.com / Puter.js) — user-pays cloud storage Storage
fails: quotacardcardRper-object-cap
| Free tier | Free tier shown on puter.com as '25 MB Storage' (the 100 GB / 500 GB / 2 TB figures on that page are the paid tiers — verified by reading the raw HTML, not the rendered summary). Developer-side cost is $0: 'Puter doesn't charge developers for infrastructure. Storage, database, and AI usage are metered to each signed-in user's own Puter account.' unit TB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | per-object-cap: not documented, but the free allowance is 25 MB (25000000 bytes) |
| Retention | not stated |
| Egress | Not metered per-GB to the developer; metered to the end user's Puter allowance. No egress line found. |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: raw HTML, not the rendered summary). Developer-side cost is $0: 'Puter doesn't charge developers for infrastructure. Storage, database, and AI usage are metered to each signed-in use |
| Limits |
per-object-cap: not documented, but the free allowance is 25 MB total, which is the real cap. Request-rate: the vendor states that 'Anti-abuse, rate limiting, and fraud detection are also built into the Puter account layer, so bots and fake sign-ups are filtered before they reach your app'. In neutral terms, its signup layer screens for excess use and automated signups, so free identities are NOT unlimited here. Retention: not documented. |
| 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 | s3, rest, webdav, sftp rest |
| Tooling | Puter.js — a single <script> tag or the @heyputer/puter.js npm module, keyless. puter.fs.write / read / mkdir give a browser-side filesystem API; auth is 'sign in with Puter'. No S3/WebDAV/SFTP shim. |
| Composes with | The interesting multiplier is the opposite of the usual one: because storage is metered to each *signed-in user's* account, an app with N users gets N x (that user's allowance) and the developer pays nothing. But the free allowance per user is 25 MB, so the chain only works if the client also controls the user accounts — i.e. it is a way to make storage free for an app's users, not a way to get 10 TiB. |
| Reliability | Explicitly blocks the several-accounts route: Puter markets that 'usage is metered to each user's own account, so a bad actor has no free resources to farm', plus automated-signup filtering. That removes the second-account allowance this niche usually relies on. |
| Notes | Free tier shown on puter.com as '25 MB Storage' (the 100 GB / 500 GB / 2 TB figures on that page are the paid tiers — verified by reading the raw HTML, not the rendered summary). Developer-side cost is $0: 'Puter doesn't charge developers for infrastructure. Storage, database, and AI usage are metered to each signed-in user's own Puter account.' |
| 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 | puter.com/ | free tier '25 MB Storage'; paid tiers 100 GB / 500 GB / 2 TB |
| 2026-10-21 | developer.puter.com/pricing/ | 'Storage, database, and AI usage are metered to each signed-in user's own Puter account, so your costs don't grow with your user count' |
| 2026-10-21 | docs.puter.com/ | puter.fs.write / puter.fs.read / puter.fs.mkdir cloud storage API |
More fields (1)
{
"dead_end": {
"failure_class": "egress",
"why": "Free tier shown on puter.com as '25 MB Storage' (the 100 GB / 500 GB / 2 TB figures on that page are the paid tiers — verified by reading the raw HTML, not the rendered summary). Developer-side cost is $0: 'Puter doesn't charge developers for infrastructure. Storage, database, and AI usage are metered to each signed-in user's own Puter account.'",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted