# Getting started

Sandbox Router runs your code in sandboxes: isolated, persistent virtual machines that deploy like containers. Give a coding agent its own machine, or put an MCP server online behind an authenticated endpoint. You pay for what they use from a prepaid balance.

This guide takes you from a new account to your first running sandbox, all in the console.

## Sign in

1. Go to [console.sandboxrouter.io](https://console.sandboxrouter.io/) and choose **Sign up**.
2. Enter your email address and a password, and choose **Create account**. If the page offers **Continue with GitHub** or **Continue with Google**, you can use that instead.
3. If you signed up with email, open the link in the verification email. It verifies your address and signs you in.

You start with a personal workspace, and you are its owner. Sandboxes, MCP servers, API keys and the balance all belong to a workspace. To create another workspace or invite people to one, open **Settings**.

## Add funds

Sandbox Router is prepaid: usage draws down the workspace's balance, and sandboxes run only while the balance is above $0 and a card is on file.

1. Open **Usage & billing**.
2. In the **Auto-recharge** section, enter an **Amount** of credits from $5 to $2,000, and choose **Add funds**.
3. The first time, Stripe Checkout opens to take the payment and save your card. Later top-ups charge the saved card.

To keep the balance from running out, turn on **Auto-recharge** in the same section: when the balance falls below the amount you set, your card is charged to bring it back up to your target.

A sandbox on Native bills for its vCPU, memory and disk while it runs. See [pricing](/pricing) for the rates, and [Billing and usage](/docs/billing) for how the balance works.

## Create your first sandbox

1. Open **Sandboxes** and choose **New sandbox**.
2. Under **1. Choose a provider**, keep **Auto**: Sandbox Router picks where the sandbox runs.
3. Under **2. Choose an image**, keep **Default**: Alpine Linux with bash, coreutils, Node and Docker. Leave **Command** empty: the sandbox then waits for the commands you run in it.
4. Under **3. Configure**, keep the **Size** at **M** (1/2 vCPU, 4 GiB of memory, 8 GB of disk). The estimate beside the form shows what the size costs. Optionally add a label such as `name = first-sandbox`: a name is a label.
5. Under **4. Network**, leave **Allowed outbound hosts** empty to let the sandbox reach every host, or list the hosts it may reach, one per line. [Connectors](/docs/connectors) shows how a sandbox gets your API keys and tools without ever holding the keys.
6. Choose **Create sandbox**.

The create holds until the sandbox runs, and its page opens.

## Use the sandbox

On the sandbox's page:

- **Run a command** runs a command, such as `node --version`, with a time limit. It runs one executable with its arguments, without a shell, so quote arguments that contain spaces. Its output shows below it.
- **Runtime output** shows the sandbox's log: each state it reached, and why.
- **Get URL** shows a port's URL, its provider's own, where the provider gives one (see [Port URLs](/docs/sandboxes#port-urls)). The **Network** card lists the hosts it may reach, and **Edit** changes them.
- **Take snapshot** has its provider take a snapshot, where the provider keeps them. The **Snapshots** card lists them.
- **Stop** stops the sandbox, and **Start** starts it again.

A running sandbox stops by itself after 15 minutes with no call in flight. While it is stopped, it bills for no vCPU, memory or disk, and it stays stopped until you start it.

To put your own files in it, use the CLI: `sandboxrouter sandboxes files put <sandbox> /workspace/app.js app.js` writes one file.

When you no longer need the sandbox, delete it from its row's menu in **Sandboxes**.

## Next steps

- [The CLI](/docs/cli): install `sandboxrouter`, connect it to your workspace, and run sandboxes from a terminal.
- [Sandboxes](/docs/sandboxes): sizes, commands, files, snapshots, URLs and the rest of a sandbox's life.
- [Routing and policies](/docs/routing): cost and latency preferences, regions, provider accounts, creation failover and policy layers.
- [Images and the registry](/docs/images): push your own image to `registry.caas.sh` and run it.
- [MCP servers](/docs/mcp): put an MCP server online behind an authenticated endpoint.
- [Connectors](/docs/connectors): give your sandboxes tools, MCP servers and APIs through your workspace's account or each user's own, with keys added at egress.
- [Browser](/docs/browser): give the AI tools in your sandboxes a web browser, signed in to websites as each of your users.
- [Logins](/docs/logins): keep your users' sign-ins to websites, and let them sign in by link.
- [Billing and usage](/docs/billing): the balance, auto-recharge, spend alerts and the usage report.
- [The API](/docs/api): automate all of this with an API key.
