{"eid":"val","name":"Val Town","domain":"val.town","resolved_by":"domain","topics":["compute","dev-services","storage"],"n_records":4,"best_vorder":1,"review":null,"aliases":["Val Town","val town — blob storage","val.town"],"records":[{"rid":"compute/val-town","card":{"rid":"compute/val-town","eid":"val","topic":"compute","slug":"val-town","provider":"Val Town","url":"https://www.val.town/limits","domain":"val.town","category":"serverless runtime","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","self_hosted":0,"confidence":"documented","binding":"retention-clamped","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-31T06:50:59.432Z","verified_basis":"live","checked_on":"2026-10-31","stale_on":"2026-12-01","n_evidence":7,"usd_month":null,"usd_per_tb_month":null,"summary":"A free plan whose crons run every 15 minutes at minimum and whose workers are killed after 10 seconds idle, with a hard 6-hour ceiling on any worker: quoted ...","duplicate_of":"dev-services/val-town","n_unknown":7,"free_unit":"hours"},"record":{"topic":"compute","slug":"val-town","provider":"Val Town","url":"https://www.val.town/limits","category":"serverless runtime","free_tier":{"stated":"A free plan whose crons run every 15 minutes at minimum and whose workers are killed after 10 seconds idle, with a hard 6-hour ceiling on any worker: quoted 'Worker idle timeout | 10 sec' and 'Worker runtime | 6 hrs Absolute ceiling on a single worker's lifetime, regardless of plan'.","unit":"hours","metered_on":"wall-clock","source_url":"https://www.val.town/limits","read_on":"2026-10-22","notes":"perpetual"},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://www.val.town/limits","notes":null},"retention":{"stated":"The 10-second idle timeout ends any process that is not answering requests, so the host is a scheduler and not a machine: what survives is the cron every 15 minutes, not a daemon.","days":null,"source_url":"https://www.val.town/limits","notes":null},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://www.val.town/limits"},"interface":["rest"],"interface_detail":"inferred from the tooling the provider documents; not probed","tooling":"not stated","chaining":"A 15-minute cron with 100,000 runs a day for nothing is the cheapest scheduler in this class, and 'Email yourself' makes it a free alerting path for a box that is expected to die.","limits":[{"kind":"retention-clamped","value":"worker idle timeout 10 sec; worker runtime at most 6 hrs on any plan; execution timeout 1 min per run on the Free plan","source":"https://www.val.town/limits"}],"limits_note":"Free plan: minimum cron interval 15 min, execution timeout 1 min per run, 1,000 authenticated API requests per minute and 0 private vals; a worker has 4 GiB of memory.","binding":"retention-clamped","binding_note":"The 10-second idle timeout ends any process that is not answering requests, so the host is a scheduler and not a machine: what survives is the cron every 15 minutes, not a daemon.","identity_cost":{"kind":"email","detail":"The sign-up page offers GitHub, Google or email and shows no card field.","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://www.val.town/limits","date":"2026-10-22","proved":"'Worker idle timeout | 10 sec How long a worker waits for more requests before shutting down' and 'Worker runtime | 6 hrs Absolute ceiling on a single worker's lifetime, regardless of plan' and 'Worker memory | 4 GiB', quoted"},{"url":"https://www.val.town/limits","date":"2026-10-22","proved":"'Minimum cron interval | 15 min' on Free, 'Execution timeout | 1 min' on Free, 'API requests per minute | 1,000' on Free, 'Crons per val | 10', quoted"},{"url":"https://www.val.town/pricing","date":"2026-10-22","proved":"the Free column: '$0', '15 min cron intervals', '1 min wall clock time / run', 'Unlimited public vals', '100,000 runs / day', 'Email yourself', quoted"},{"url":"https://www.val.town/auth/signup","date":"2026-10-31","proved":"the sign-up page offers email, beside GitHub and Google","capture":"sha256:5500f1e84e1296210098ae8ad59089cdd6ab74121449b2b2ae379e482842f57f","quote":"Continue with email"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"a worker shuts down 10 seconds after its last request","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Worker idle timeout | 10 sec How long a worker waits for more requests before shutting down. |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"the minimum cron interval on the Free plan is 15 minutes","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Minimum cron interval Shortest delay between scheduled runs of a single val. | 15 min | 1 min | 1 min |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"a worker lives at most 6 hours on any plan","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Worker runtime | 6 hrs Absolute ceiling on a single worker's lifetime, regardless of plan. |"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-31T06:50:59.432Z","notes":"The home record of this offer is dev-services/val-town; its blob storage is storage/val-town. A worker lives 10 sec past its last request and at most 6 hrs on any plan, so nothing daemon-shaped runs here. The Free plan has 0 private vals.","extras":{"facets":{"class":"paas-never-sleep","free_tier_kind":"perpetual","shape":{"vcpu":null,"ram_gib":4,"gpu_class":null,"gpu_count":0}}}},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":15.0,"unit":"minutes","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:retention-clamped","num":6.0,"unit":"hrs","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"],["$.retention.notes","process"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"dev-services/val-town","card":{"rid":"dev-services/val-town","eid":"val","topic":"dev-services","slug":"val-town","provider":"Val Town","url":"https://www.val.town/pricing","domain":"val.town","category":"hosted serverless TypeScript runtime with crons and HTTP endpoints","tier":"free","verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","self_hosted":0,"confidence":"documented","binding":"request-rate","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":null,"per_object_bytes":null,"retention_days":3,"verified_at":"2026-10-31T00:43:09.670Z","verified_basis":"live","checked_on":"2026-10-31","stale_on":"2026-12-01","n_evidence":14,"usd_month":null,"usd_per_tb_month":null,"summary":"Free plan at USD 0: 100,000 runs / day, 15 min cron intervals, 1 min wall clock time / run, unlimited public vals, 3 days log retention, email to the account...","duplicate_of":null,"n_unknown":1,"free_unit":"requests"},"record":{"topic":"dev-services","slug":"val-town","provider":"Val Town","url":"https://www.val.town/pricing","category":"hosted serverless TypeScript runtime with crons and HTTP endpoints","tier":"free","free_tier":{"stated":"Free plan at USD 0: 100,000 runs / day, 15 min cron intervals, 1 min wall clock time / run, unlimited public vals, 3 days log retention, email to the account's own address and MCP integration","unit":"requests","metered_on":"request-count","source_url":"https://www.val.town/pricing","read_on":"2026-10-31","notes":"Free accounts have 0 private vals and 2,500 vals in all; the Val Town API takes 1,000 authenticated calls a minute; a worker has 4 GiB of memory."},"per_object_cap":{"stated":"80,000 characters per source file in a val; 30 MiB per incoming email","bytes":null,"source_url":"https://www.val.town/limits"},"retention":{"stated":"3 days of logs on the Free plan","days":3,"source_url":"https://www.val.town/limits"},"egress":{"terms":"not stated: the pricing and limits pages name no charge or cap on traffic out of a val","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://www.val.town/limits"},"interface":["rest"],"interface_detail":"The REST API manages vals, blob storage, sqlite databases and other account resources, with a TypeScript SDK over it; vals also serve their own HTTP endpoints","tooling":"the Val Town web editor, the REST API and its TypeScript SDK, and MCP integration","chaining":"A cron every 15 minutes with up to one minute per run, free, serves as a heartbeat and poller for jobs on other hosts, with mail to the account owner as the alert path.","limits":[{"kind":"request-rate","value":"100,000 runs per day","source":"https://www.val.town/pricing"},{"kind":"request-rate","value":"minimum cron interval of 15 min per val","source":"https://www.val.town/limits"},{"kind":"request-rate","value":"1,000 authenticated API requests per minute","source":"https://www.val.town/limits"}],"limits_note":"Each run stops at 1 min of wall-clock time on the Free plan; a worker shuts down 10 seconds after its last request and lives at most 6 hours on any plan.","binding":"request-rate","binding_note":"The 15-minute minimum cron interval decides what can be scheduled; the 1-minute cap per run, in limits_note, decides what fits in one run.","identity_cost":{"kind":"email","detail":"The sign-up page offers GitHub, Google or email; the form has no card field.","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://www.val.town/pricing","date":"2026-10-31","proved":"the Free plan allows 100,000 runs a day","capture":"sha256:765ff78f8deea0e778f1e1e7749dcfb829e0f9e351736151b22f0e8af2fc5e75","quote":"100,000 runs / day"},{"url":"https://www.val.town/pricing","date":"2026-10-31","proved":"the Free plan keeps logs 3 days","capture":"sha256:765ff78f8deea0e778f1e1e7749dcfb829e0f9e351736151b22f0e8af2fc5e75","quote":"3 days log retention"},{"url":"https://www.val.town/pricing","date":"2026-10-31","proved":"the Free plan sends email only to the account's own address","capture":"sha256:765ff78f8deea0e778f1e1e7749dcfb829e0f9e351736151b22f0e8af2fc5e75","quote":"Email yourself"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"logs are kept 3 days on Free against 10 on paid plans","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Log retention | 3 days | 10 days | 10 days |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"the minimum cron interval on Free is 15 minutes","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Minimum cron interval Shortest delay between scheduled runs of a single val. | 15 min | 1 min | 1 min |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"a single run on Free stops at 1 minute of wall-clock time","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Execution timeout Maximum wall-clock time for a single val run. | 1 min | 10 min | 10 min |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"the API takes 1,000 authenticated requests a minute on Free","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| API requests per minute Authenticated Val Town API calls. | 1,000 | 10,000 | 10,000 |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"the Free plan has no private vals","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Private vals | 0 | 2,000 | 2,000 |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"a source file in a val is capped at 80,000 characters","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| File size | 80,000 characters Per-file limit. Applies to source files in a val. |"},{"url":"https://www.val.town/limits","date":"2026-10-31","proved":"a worker has 4 GiB of memory","capture":"sha256:a3c8c1f3ee5a35323ce06b1923b32119b8c0c5c8afe6585d1352043ae369fda2","quote":"| Worker memory | 4 GiB |"},{"url":"https://www.val.town/auth/signup","date":"2026-10-31","proved":"the sign-up page offers GitHub","capture":"sha256:78f7bba2e90f3175e9ee2160142a8cf7d7bc65bcd66799148d4b9ca26fbeca80","quote":"Continue with GitHub"},{"url":"https://www.val.town/auth/signup","date":"2026-10-31","proved":"the sign-up page offers Google","capture":"sha256:78f7bba2e90f3175e9ee2160142a8cf7d7bc65bcd66799148d4b9ca26fbeca80","quote":"Continue with Google"},{"url":"https://www.val.town/auth/signup","date":"2026-10-31","proved":"the sign-up page offers email","capture":"sha256:78f7bba2e90f3175e9ee2160142a8cf7d7bc65bcd66799148d4b9ca26fbeca80","quote":"Continue with email"},{"url":"https://docs.val.town/reference/api/","date":"2026-10-31","proved":"a REST API manages vals, blob storage, sqlite databases and other resources","capture":"sha256:ac7ea44775b486772a948241eae82bbc4d98150f1b9b880eccb5255d96256632","quote":"Val Town's REST API allows you to programmatically manage your account and its resources: vals, blob storage, sqlite databases, likes, comments, and more."}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-31T00:43:09.670Z","notes":"The same offer is also recorded as compute/val-town; its blob storage is storage/val-town."},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[2].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"]],"history":[],"drift":[]},{"rid":"storage/val-town","card":{"rid":"storage/val-town","eid":"val","topic":"storage","slug":"val-town","provider":"Val Town","url":"https://val.town","domain":"val.town","category":"serverless","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","self_hosted":0,"confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":"s3,rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-05","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Free plan blob storage: '10mb on the free plan and 1gb on pro'. Pro is the ceiling, so there is no free path to bulk.","duplicate_of":null,"n_unknown":10,"free_unit":"none"},"record":{"topic":"storage","slug":"val-town","provider":"Val Town","url":"https://val.town","category":"serverless","free_tier":{"stated":"Free plan blob storage: '10mb on the free plan and 1gb on pro'. Pro is the ceiling, so there is no free path to bulk.","unit":"none","metered_on":"stored-bytes","source_url":"https://docs.val.town/std/blob/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://docs.val.town/std/blob/","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.val.town/std/blob/","notes":"not stated"},"egress":{"terms":"Vals serve HTTP by default with no transfer meter — the serving side is genuinely free.","metered":false},"interface":["s3","rest"],"interface_detail":"rest","tooling":"`std/blob` TypeScript API (scoped blobs on S3, global blobs on Cloudflare R2); vals themselves are HTTP endpoints at `<val>.web.val.run`.","chaining":"Val creation is capped at 2,500 vals on Free with a 10 MB account-wide blob pool — the pool is per account, not per val, so it does not multiply.","limits":[],"limits_note":"10 MB total blob storage on Free; 1 min execution timeout; 100,000 runs/day; 80,000 character per-file source limit.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"The R2/S3 backing is real and fast; the quota is the blocker, not the tech.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.val.town/std/blob/","date":"2026-10-21","proved":"'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro' (page last updated September 10, 2026)"},{"url":"https://www.val.town/limits","date":"2026-10-21","proved":"Free: 2,500 vals, 1 min execution timeout, 100,000 runs/day"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Free plan blob storage: '10mb on the free plan and 1gb on pro'. Pro is the ceiling, so there is no free path to bulk.","extras":{"dead_end":{"failure_class":"paid","why":"Free plan blob storage: '10mb on the free plan and 1gb on pro'. Pro is the ceiling, so there is no free path to bulk.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":null},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":10.0,"unit":"mb","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.binding_note","boilerplate"],["$.confidence_note","withheld"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/val-town-blob-storage","card":{"rid":"storage/val-town-blob-storage","eid":"val","topic":"storage","slug":"val-town-blob-storage","provider":"val town — blob storage","url":"https://docs.val.town/std/blob/","domain":"val.town","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","self_hosted":0,"confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-05","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1...","duplicate_of":null,"n_unknown":16,"free_unit":"none"},"record":{"topic":"storage","slug":"val-town-blob-storage","provider":"val town — blob storage","url":"https://docs.val.town/std/blob/","category":"rejected-provider","free_tier":{"stated":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of…","unit":"none","metered_on":"none","source_url":"https://docs.val.town/std/blob/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.val.town/std/blob/","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.val.town/std/blob/","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of…","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.val.town/std/blob/","date":"2026-10-21","proved":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of…"},{"url":"https://www.val.town/pricing","date":"2026-10-21","proved":"cited as the basis of the rejection: Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of magni"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of…","extras":{"dead_end":{"failure_class":"quota","why":"Blob storage counts against total Val Town storage, which is tiny: 'Blob-stored data counts towards your total Val Town storage – 10mb on the free plan and 1gb on pro.' Three orders of…","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":null},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":10.0,"unit":"mb","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.binding_note","boilerplate"],["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]}]}