# The free trial Every new account gets **20 hours of sandbox time** after a verified sign-in, with no card. - Up to **three sandboxes at once**, each up to **2 vCPU and 4 GiB of memory**, with up to 10 GiB of disk (4 GiB by default) and shared CPU. - The 20 hours are shared across all your trial sandboxes and sessions. Running time counts, idle or busy; time while a sandbox is paused or stopped does not. - Each session can last up to one hour; the server enforces `timeoutSeconds` of at most 3600. Extend a running sandbox or wake a paused one to keep going, within the time you have left. - Model calls, persistent storage and paid features are not included. Use a region listed for your account. Leave `region` out for the default. Tell your agent: > Read https://withruntime.com/docs/trial.md and https://withruntime.com/docs/start.md. > Try my workload with `funding: "trial"` (CLI: `--trial`), check its output > and exit code, and stop the sandbox even if it fails. Do not switch to paid > funding without asking me. You do not have to ask for the trial: `create()` with no `funding` uses it while you have trial time left, sized to fit. Name `funding: "trial"` to insist on it; a trial request never falls back to paid credit, even when the account has some. If you omit `funding` after the trial is exhausted, available prepaid credit can be used instead. ```ts import { Runtime } from "withruntime"; const runtime = new Runtime(); const sbx = await runtime.sandboxes.create({ funding: "trial", vcpu: 1, memoryMiB: 2048 }); try { console.log(sbx.info.funding, sbx.info.expiresAt); } finally { await sbx.stop(); } ``` Over HTTP, a trial create is `POST /v1/sandboxes`. This body names the defaults; only `funding` needs to be there: ```json { "funding": "trial", "vcpu": 2, "memoryMiB": 4096, "diskMiB": 4096, "cpu": "shared", "cpuFloorMillis": 50, "timeoutSeconds": 1800 } ``` Time is reserved when a sandbox starts and settled from its confirmed running time when it ends, so stopping early gives the unused part back. Read what is left with `npx withruntime usage` (or `GET /v1/usage`): `trial.totalMs`, `trial.usedMs`, `trial.reservedMs` and `trial.availableMs`, in milliseconds, apart from dollars. When three trial sandboxes are running or paused, a fourth is refused with `trial_busy`, naming the three. Stop one first. Requests sent at the same moment are admitted in no set order, so any one of them may be the one refused; retry it after stopping a sandbox or once one has ended. When the time is used up, new trial sandboxes are refused with `trial_exhausted`. Free time cannot be cashed out, refunded or replenished by signing in again. To continue with paid compute, an account owner can add prepaid credit at [Usage & billing](https://withruntime.com/account/billing), then explicitly choose paid funding. Read [pricing](./pricing) first. At the standard rates, 20 fully busy hours of a 2 vCPU, 4 GiB sandbox would cost $1.60 in compute. See [pricing](./pricing) and, for what the sandbox may reach, [security](./security).