Early access

Give every agent its own Linux VM.

Start a fresh Linux machine from your code in a few hundred milliseconds. Run commands, write files and stream output, then delete it when the work is done.

import { Sandbox } from "northvm-sdk";

const sandbox = await Sandbox.create();
await sandbox.files.write("/app/main.py", "print(2 ** 10)");

const result = await sandbox.commands.run("python3 /app/main.py");
console.log(result.stdout, result.exitCode);

await sandbox.kill();
$ node run.ts
1024
 0

Every sandbox is its own island

Its own VM and kernel. Nothing leaks between them.

Or open a shell in the browser

See every sandbox and open a terminal in any of them.

Questions

Anything else, ask when you join the waitlist.

Is it safe to run code I don't trust?

Yes. Each sandbox runs in its own virtual machine with its own kernel, so a bad package or a broken script can't see your other sandboxes or anyone else's.

What can code inside a sandbox reach?

The public internet, so pip install and git clone work. It can't reach other sandboxes, the machine it runs on, private networks or outbound mail on port 25.

How long can a sandbox run?

Five minutes by default and up to 24 hours. Call setTimeout to give it more time while it runs. When the time is up, it's deleted with its files.

Which languages can I use?

Anything that runs on Linux can run inside a sandbox. To control sandboxes there is a TypeScript SDK today, plus a REST API for creating and deleting them.

Try it early

NorthVM is in active development. Leave your email and we'll write when it's ready for you.