---
title: "Sandbox"
description: "A machine of its own for each AI agent, user or job, made from any OCI image in milliseconds. Run commands, read and write files, open a terminal; it sleeps when idle and wakes with its processes running."
---

> Documentation Index
> Fetch the complete documentation index at: https://glac.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox

A sandbox is a virtual machine of its own: a [Firecracker](https://firecracker-microvm.github.io/) microVM that runs an OCI image, the kind `docker` builds and registries serve. You make one with an API call. Then you run commands in it, read and write its files, open a terminal or a link to one of its ports. Commands and files reach it through an agent inside the machine, not through its network.

When nothing happens in it, a sandbox sleeps. It keeps its memory, its processes and its disk, and the next call wakes it where it was, in milliseconds. It stays until you delete it.

## When to use Sandbox

- **An AI agent's computer**: a coding agent, a browser agent or a code interpreter that runs commands, installs packages and keeps its work between turns.
- **Code you did not write**: what users or models send you, kept away from your own machines and from each other, with network rules and secrets the code never sees.
- **A job per request**: `glac run` makes a sandbox, runs one command and deletes it.
- **Environments that branch**: a snapshot of a running sandbox, and copies (forks) that each go on from that moment.
- **A server of its own**: with `init: "systemd"` the image's own systemd is its PID 1, for packages, services, cron and SSH as on any server ([a whole system](/docs/sandbox/commands/#a-whole-system-systemd)).

To serve an image at an address, with instances that start for requests, use [Cube](/docs/cube/). Both run on the same machines, at the same prices.

## How it works

1. **Make.** `POST /v1/sandboxes` (`glac sandboxes create`) with an image, or with none for the platform's default image. The first sandbox of an image waits while the platform pulls it and saves a template. Later ones are copies of that template, from a pool that is already running.
2. **Use.** Run commands (`exec`), read and write files, open a terminal, give out links to ports. Calls wait for a sandbox that is starting or asleep: none fails for that.
3. **Sleep.** After `sleep_after_seconds` idle (30 unless you say), it sleeps. Whatever needs it wakes it: a command, a file, a request on a link, a timer.

## What it costs

A sandbox pays for the CPU it uses and the memory it holds while it is awake. Asleep, it pays for what it keeps: its memory and the part of its disk that is its own. One held paused in the machine's memory pays for that memory as if awake, and no CPU.

| Meter | Price | Free, each day | Paid includes a month |
|---|---|---|---|
| CPU, while it computes | $0.01 a million CPU-ms | 1M CPU-ms | 60M CPU-ms |
| Memory, while awake or paused in memory | $0.008 a GiB-hour | 6 GiB-hours | 250 GiB-hours |
| Requests, into Cubes and through sandbox links | $0.30 a million | 100,000 | 10 million |
| What a sleeping instance keeps (its memory and its own disk) | $0.02 a GB-month | 15 GB of data in all, with snapshots and Drives | 20 GB-months of data, with snapshots and Drives |
| What snapshots keep | $0.02 a GB-month | The same data | The same data |
| Traffic out to the internet, from North America | $0.004 a GB | 3 GB, from any region | 1 TB, from any region |
| Traffic out to the internet, from Europe | $0.004 a GB |  |  |
| Traffic out to the internet, from Asia-Pacific | $0.01 a GB |  |  |

A paid plan includes no quantity of a meter: its fee comes back as the same amount of credit, which pays for any meter at these prices. See [pricing and plans](/docs/platform/pricing/).

## Limits of each plan

|  | Free | Paid |
|---|---|---|
| Largest instance | 2 vCPUs, 4 GiB | 8 vCPUs, 16 GiB |
| Instances awake at once | 5 | 500 |
| Their vCPUs together | 10 | 500 |
| Their memory together | 10 GiB | 1,000 GiB |
| Sleeping instances kept | 20 | 10,000 |
| Sandboxes made a minute | 10 | 600 |
| Sandboxes one project makes an hour | 200 | 10,000 |

The sandboxes awake, their vCPUs and their memory are counted for the whole account: sandboxes and Cubes' instances of every project together. Every limit is on the [limits page](/docs/platform/limits/).

## Next

- [Quickstart](/docs/sandbox/quickstart/): make a sandbox, run a command, copy files, open a port, with the command line, Python or the console.
- [Commands, files and terminals](/docs/sandbox/commands/): running commands, their output, files, terminals, images.
- [Sleep and wake](/docs/sandbox/sleep/): what puts a sandbox to sleep, what wakes it, keeping it awake from inside.
- [Snapshots and forks](/docs/sandbox/snapshots/): saving a sandbox as it is, going back, copies that go on, templates.
- [Links, tokens and SSH](/docs/sandbox/access/): links to ports, tokens for one sandbox, SSH.
- [Network rules and secrets](/docs/sandbox/network/): what a sandbox may reach, and secrets it uses without holding them.

Source: https://glac.ai/docs/sandbox/index.mdx
