---
title: "while.sh limits and quotas: services, databases, resources"
url: https://while.sh/en/docs/reference/limits/
updated: 2026-11-09
---

# Limits and quotas

while's limits, per project and per organization. Your agent knows them, and tells you when your app gets close.

## Per project

A project declares at most:

| What it declares | At most |
|---|---|
| Services | 10 |
| PostgreSQL databases | 4 |
| Caches | 4 |
| Buckets | 4 |
| Scheduled jobs | 10 |

## Your apps' resources

By default, a web service has 200 mCPU and 192 MiB of memory, and a worker 100 mCPU and 128 MiB; resources changes them.

- A container asks for 8 GiB of memory at most, and up to 16 GiB if the organization's memory quota allows it.
- An organization asks for at most 4 vCPU and 8 GiB of memory by default, all its projects and environments together; the `get_usage` tool (quotas view) gives its own.
- Each service counts in it for its maximum number of instances: `scale.max` (10 without a setting), without exceeding the "instances" limit (3 by default).
- A web service without `scale.max` therefore counts 3 times its resources, since it scales up to that with traffic.
- Tasks, caches and databases count too, a database for 100 mCPU and 256 MiB per instance.

## Disk

A worker and a task have a 1 GiB `/tmp`, which takes nothing from their memory, and `resources.disk` raises it up to 8 GiB. A web service's `/tmp`, on the other hand, takes from its memory: its large files go in a worker, a database or a bucket. A `/tmp` is emptied at each restart, so what must last goes in a database or a bucket.

## Scheduled jobs

A run lasts from 10 s to 6 h (`timeout_seconds`, 10 min by default), and is retried at most 5 times after a failure (`retries`).

## Internal access

A service restricted to your organization opens its access to:

| List | At most |
|---|---|
| Groups (`groups`) | 50 |
| Addresses (`emails`) | 200 |
| Email domains (`email_domains`) | 20 |

## Next steps

- [Try without an account](/en/docs/get-started/try-without-an-account/)
- [while.yaml, field by field](/en/docs/reference/while-yaml/)
- [Pricing](/en/pricing/)
