Give every agent its own island.

Atoll runs AI-generated code in isolated microVMs that boot in milliseconds. Your agents can install packages, write files and open a browser, while your infrastructure stays out of reach.

pip install atoll
reef · egress: pypi.org, github.com
sbx_7f3a · running · 2 vCPU
fork sbx_7f3a → sbx_91c0
~150 mscold start to a ready shell
1 VMper sandbox, never a shared kernel
24 hmaximum session, billed per second
0open ports until you allow one
How it works

Three rings between your agent and the open sea.

An atoll is a lagoon protected by land and reef. Each Atoll sandbox is built the same way, with a separate boundary for the network, the machine and the workspace.

reef / network

Nothing leaves without a route

Outbound traffic is denied by default. Allow the domains a task needs, like a package index or one API, and every other request is dropped and logged.

shore / machine

A whole VM for each sandbox

Every sandbox gets its own lightweight virtual machine with fixed CPU, memory and disk. A runaway loop or a rm -rf / stays on its island.

lagoon / workspace

A real computer for the agent

A full Linux filesystem, a shell, a headless browser and root inside the VM. Agents work the way a developer would, with no tool wrappers to learn.

SDK

Five lines from prompt to running code.

TemplatesStart from Python, Node, or your own image with dependencies preinstalled.
Streaming outputstdout, stderr and file changes stream back while the command runs.
Cleans up after itselfThe sandbox is destroyed when the block exits, or on timeout, whichever comes first.
from atoll import Sandbox

with Sandbox(template="python-3.12",
             egress=["pypi.org"]) as sbx:
    sbx.files.write("agent.py", code_from_llm)
    sbx.run("pip install pandas")
    result = sbx.run("python agent.py", timeout=30)

# the VM is gone once the block exits
print(result.stdout)
sbx_7f3a · python-3.12 · 2 vCPU / 4 GBexit 0 · 1.84 s
Use cases

Built for code nobody has read yet.

If a model wrote it, a user pasted it, or a test generated it, run it in Atoll first.

>_

Code interpreters

Let your assistant analyse uploaded CSVs, draw charts and return files, with a fresh sandbox for each conversation.

files in · charts and files out
www

Browsing agents

A headless browser inside the VM, so logins, downloads and pop-ups never touch your own network.

chromium · egress allowlist per task
RL

Evals and RL environments

Snapshot a prepared environment once, then fork hundreds of identical copies for rollouts and grading.

snapshot → fork × 500
CI

Coding agents

Clone the repo, install dependencies and run the test suite before a generated patch ever reaches a pull request.

git · docker-in-vm · test runners
Lifecycle

From create to gone, in the order it happens.

create()BootA VM starts from a template in about 150 ms.
run()WorkThe agent runs commands, edits files and browses.
snapshot()FreezeMemory and disk are saved at any moment.
fork()BranchCopies resume from the snapshot to try other paths.
kill()SinkThe VM and its disk are wiped. Logs are kept.

Your agents need somewhere safe to work.

Atoll is in private beta. We are onboarding teams that run agent-written code in production.