{"rid":"storage/upstash-redis","card":{"rid":"storage/upstash-redis","eid":"upstash","topic":"storage","slug":"upstash-redis","provider":"Upstash Redis","url":"https://upstash.com/redis","domain":"upstash.com","category":"paas","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"retention-clamped","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,cli","egress_metered":0,"per_object_bytes":null,"retention_days":3,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month","duplicate_of":null,"n_unknown":8},"record":{"topic":"storage","slug":"upstash-redis","provider":"Upstash Redis","url":"https://upstash.com/redis","category":"paas","free_tier":{"stated":"250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month","unit":"MB","metered_on":"unstated","source_url":"https://upstash.com/pricing/redis","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://upstash.com/pricing/redis","notes":"not stated"},"retention":{"stated":"Free DBs minted anonymously are DELETED after 3 days unless claimed.","days":3,"source_url":"https://upstash.com/pricing/redis","notes":"not stated"},"egress":{"terms":"Free up to 10 GB/month on the Free plan (then metered on paid). 10 GB/month = ~333 MB/day vs a 500 GB/day target — 1,500x short.","metered":false,"free_allowance":"10 GB per month"},"interface":["rest","cli"],"interface_detail":"rest","tooling":"redis-cli over TLS, any Redis client, plus a body-style REST API (`POST` a JSON array command). Verified live: a free database can be minted with no signup via `POST https://upstash.com/start-redis` with an `Idempotency-Key` header.","chaining":"Free tier is 1 database per account (pricing table: 'Max databases | 1'). 250 MB x N accounts. The command quota, not storage, is the wall: 500K commands/month = 16,667/day, and each GET returns at most 10 MB (verified), so max read throughput is 16,667 x 10 MB = 167 GB/day — 3x short of 500 GB/day even with a mythical 250 MB dataset read 667 times a day.","limits":[{"kind":"retention-clamped","value":"DELETED after 3 days","source":"https://upstash.com/pricing/redis"}],"limits_note":"250 MB data; 10 MB max request size (LIVE-VERIFIED: a 20 MB SET returned 'ERR max request size exceeded. Limit: 10485760 bytes'); 100 MB max record size listed but the 10 MB request cap binds first; 10,000 max cmd/sec; 500K commands/month; 1 database","identity_cost":{"kind":"anonymous","detail":"derived from the record's prose, not from an identity field, and no signup was executed: D, RESET, QUIT) are explicitly not charged. Free DBs minted anonymously are DELETED after 3 days unless claimed. Free tier is 1 database per account (pricing table: 'Max databases | 1'). 25","country":null},"reliability_note":"Works and is fast; the killer is the command meter. Every GET, SET, EXISTS, and even pipelined command counts. Operational commands (PING, AUTH, INFO, CONFIG, SELECT, COMMAND, RESET, QUIT) are explicitly not charged. Free DBs minted anonymously are DELETED after 3 days unless claimed.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://upstash.com/pricing/redis","date":"2026-10-21","proved":"'Free | $0/month | 250 MB | 10 GB' (Max Data / Max Bandwidth); FAQ: 'Free tier includes 250MB data size and 500K commands per month.'; 'Max databases | 1'"},{"url":"https://upstash.com/start-redis","date":"2026-10-21","proved":"probe: POST (Idempotency-Key header) -> 200, credentials returned, 'Expires: 2026-10-24 (3 days from creation)'"},{"url":null,"date":"2026-10-21","proved":"probe: SET of a 1,000,000-byte value -> {\"result\":\"OK\"}; GET -> 1,000,013 bytes returned; STRLEN -> 1000000; 9 MB and 10,000,000-byte SETs also OK; a 20 MB SET -> {\"error\":\"ERR max request size exceeded. Limit: 10485760 bytes\"}"},{"url":null,"date":"2026-10-21","proved":"probe: INFO memory on the freshly minted free DB -> maxmemory:67108864 (64 MB), maxmemory_policy:noeviction — i.e. the anonymous/agent database is provisioned at 64 MB, well under the advertised 250 MB"},{"url":null,"date":"2026-10-21","proved":"arithmetic: 500,000 commands/month / 30 = 16,667 commands/day; x 10 MB max request = 167 GB/day ceiling. At a realistic 1 KB per command it is 16.7 MB/day — 30,000x short of 500 GB/day."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month","extras":{"dead_end":{"failure_class":"egress","why":"250 MB max data size on Free; 500K commands per month; 10 GB bandwidth/month","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"retention-clamped","binding_note":"a clock, not a quota: bytes leave whether or not the client is finished with them"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":250,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.evidence[2].url","private-url"],["$.evidence[3].url","private-url"],["$.evidence[4].url","private-url"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]}