Build and deploy
Serverless
A serverless service stops when nobody uses it and starts again on the next request. While it sleeps it uses no CPU or memory, so you pay nothing for compute.
Sleep when idle
Sleep when idle is on for new services. Find it in Settings → Scale. Like every setting, a change takes effect on the next release.
A service sleeps after a period with no network activity, ten minutes by default. Activity means traffic to or from the service: public requests, private requests from other services, and outbound connections. Health checks and platform traffic do not count.
Wake
A sleeping service wakes when:
- a request arrives at one of its domains;
- another service in the environment connects to it over the private network;
- you deploy, restart, scale, or turn sleep off.
The first public request is held while the service starts, then answered as
soon as one replica is ready. If waking takes longer than the wake deadline,
90 seconds by default, the request receives 503 with Retry-After: 5 and
the service keeps starting.
Private connections behave like a slow network: the first packets are dropped while the service wakes, and TCP retries them. Use connect timeouts longer than your app's start time. UDP payloads sent during a wake are lost.
What stays the same
Sleeping keeps everything you configured: replica count, domains, variables,
volumes, and private addresses. A sleeping service is not crashed, and its
deployment stays active. The console, the API, and the MCP server report its
state as awake, asleep, or waking.
Billing
A sleeping service accrues no CPU, memory, or egress usage. Attached volumes still accrue storage, and your plan's monthly minimum still applies.
On the trial plan every service must sleep when idle. Paid plans can turn it off. See Plans and billing.