Preview
Sign inSign up
ConceptsLimits and billing

Concepts

Limits and billing

Requests are billed by the CPU time they use, and every program runs under limits on time, steps, memory and size.

How CPU is metered

  • What's measured is the CPU time of your program's process, not wall-clock time. Waiting for a free slot isn't charged.
  • Each request is charged max(1, ceil(cpu_ms)) milliseconds, so the smallest charge is 1 ms.
  • Failed programs (errors, timeouts, limits) are charged the CPU time they used. Requests turned away before running cost nothing.
  • The app's playground and the try-it box on this site aren't metered.

Monthly allowance

Every account gets 600 CPU-seconds a month, reset at the start of each UTC month. On the free plan, once it's used up, API calls get 429 cpu_quota_exceeded until the reset. On pay as you go, usage past the allowance is billed, up to a hard cap of 10 CPU-hours a month. See pricing.

Before a program runs, its timeout is reserved against what's left of the allowance. Afterwards the reservation is settled to what it actually used.

Limits

LimitFreePay as you goPlaygroundTry-it demo
Wall-clock timeout1 s default, 5 s max1 s default, 10 s max1 s500 ms
Steps60M120M2M1M
Memory64 MB128 MB32 MB16 MB
Integer size100k bits100k bits20k bits10k bits
Compound expressionsNo capNo cap20050
Source size64 KB64 KB16 KB4 KB
Output (stdout)64 KB64 KB16 KB4 KB
Printed value, per result16 KB16 KB8 KB2 KB
Rate limit60 / min per key300 / min per key20 runs / min10 / min, 100 / day per IP
Concurrent requests4 per account8 per account––
Monthly CPU600 s600 s included, 10 h capNot meteredNot metered

timeout_ms sets the wall-clock limit per request, up to your plan's maximum. Hitting a limit ends the program with status timeout or limit_exceeded; see program errors.

Rate limit headers

Evaluations carry the per-key rate limit in their headers. RateLimit-Reset is in seconds.

headers
RateLimit-Limit: 60
RateLimit-Remaining: 57
RateLimit-Reset: 41

Where you stand

GET /v1/limits returns your plan and current usage, and doesn't count against the rate limit.

200 OK · GET /v1/limits
{
  "plan": "free",
  "rate_limit": {"limit": 60, "remaining": 58, "used": 2, "reset_s": 41},
  "in_flight": {"limit": 4, "current": 0},
  "cpu": {
    "month": "2026-10",
    "quota_ms": 600000,
    "used_ms": 1290,
    "remaining_ms": 598710,
    "reset_s": 1036800
  },
  "max_timeout_ms": 5000,
  "request_id": "req_..."
}
FieldDescription
plan
string · required
The account's plan.
rate_limit
object · required
—
in_flight
object · required
—
cpu
object · required
—
max_timeout_ms
integer · required
—
request_id
string · required
—
esc