Open betaby Orkait

Fastest secure sandbox.

Run code you don't trust in a fresh, locked-down box. Get the result in about 70 ms, with proof of everything the code tried to do.

Free plan: 5,000 runs a month. No credit card.

8layers of protection

Locked down before your code starts

Your code gets its own processes and files, no internet, capped memory and CPU, and no admin powers. All eight are in place before the first line runs.

51risky actions blocked

Only what normal code needs

We switch off 51 dangerous requests that ordinary programs never make. rustbox won't even build if a safety step is missing.

147attack tests

Tested against real break-outs

Programs that copy themselves forever, try to leave their folder, spy on other programs, reach the internet or follow trick file links. In all eight languages.

01 · Inside the box

Assume every program will try to break out.

The run above was a well-behaved program. Scroll through one that fights back: four break-out attempts, the four protections that stop them, and the result you get back.

sandboxwaiting00 / 05
Status
waiting
Language
python
Product
judge
Wait
yes

Example run. Which protection stops which attack comes from the rustbox docs.

  1. 01Send

    Send your code in one request.

    Send the language and your code. Ask rustbox to wait, and the result comes back on the same request, within 30 seconds.

    Requestwaits for result
    • send to/api/submit
    • languagepython
    • productjudge
    • wait for resultyes, up to 30 s
  2. 02Lock

    Eight protections close before the first line runs.

    Your code gets its own processes and its own files, no internet, capped memory and CPU, and 51 risky actions switched off. It runs as a normal user with no admin powers and no way to gain them. rustbox won't even build if one of these steps is missing.

    Protections0 of 8 on
    • Own processeson
    • Private fileson
    • No interneton
    • Memory and CPU limitson
    • 51 risky actions blockedon
    • No special powerson
    • Runs as a normal useron
    • No way to gain powerson
  3. 03Run

    Every break-out attempt hits a wall.

    This program tries to read the password file, reach the cloud's secret address, become admin and copy itself without end. Private files, no internet, the normal user account and the resource limits stop each one in turn.

    What the code tried0 of 4 blocked
    • Read the password fileNot found
    • Reach the cloud's secret addressCan't connect
    • Become adminNot allowed
    • Copy itself without endStopped at 10
  4. 04Result

    You get the result, with proof.

    Stopped for starting too many processes, with the counts that prove it. rustbox reads what really happened inside the box, like memory running out or a limit being hit. It never guesses from how the program exited.

    ResultJSON
    • resulttoo many processes
    • stopped byresource limits
    • processes10 of 10
    • break-outs0
  5. 05Clean up

    Then the box is deleted.

    Every process is stopped and rustbox checks that nothing is left behind. The next run starts in a fresh box.

    Cleanupafter the run
    • processes stoppedall
    • still running0
    • cleanupchecked
    • boxdeleted

02 · Playground

Try it before you build with it.

The same box and the same results your API calls get. Try Python, paste in C++, give it some input. No signup.

03 · Speed

From 59 ms.

Time from sending the code to getting the result, with every protection on. For C, C++ and Java it includes compiling.

find every prime up to 500,000Time from send to resultTypicalSlowest 1 in 20
  • Python62 msslow 102
  • JavaScript59 msslow 100
  • TypeScript62 msslow 101
  • C102 msslow 142
  • C++308 msslow 309
  • Java474 msslow 476

15 runs each · 1 CPU · 256 MB memory · sent from the same region

04 · API

Your first result in a minute.

Plain HTTP or a library for Python, TypeScript, Go or Rust. Same request, same response.

Open playgroundAPI reference
  1. 01

    Get a key

    The Free plan includes 5,000 runs a month. No credit card.

  2. 02

    Send your code

    Send the language, your code and any input to /api/submit. Add ?wait=true to get the result on the same request, within 30 seconds.

  3. 03

    Read the result

    One JSON response with the result, the reason, the output, the timing and proof of every protection.

curl -X POST https://api.rustbox.sh/api/submit?wait=true \
  -H 'x-api-key: rb_live_…' \
  -H 'content-type: application/json' \
  -d '{"language":"python","code":"print(42)"}'

Result codes

  • ACRan fine
  • TLEToo slow
  • MLEToo much memory
  • PLEToo many processes
  • FSEFile too big
  • RECrashed
  • SIGKilled
  • IEFailed on our side

Test case results

  • ACRight answer
  • WAWrong answer
  • TIMEOUTNo result in time
Response · 20 ms total · 13 ms CPUACRan fine
{
  "id": "02128880-a3a1-4025-ab89-f4d7ef3520de",
  "schema_version": "2.0",
  "language": "python",
  "profile": "judge",
  "status": "completed",
  "result": { "verdict": "AC", "cause": "normal_exit",
              "actor": "runtime", "exit_code": 0 },
  "output": { "stdout": "42\n", "stderr": "" },
  "metrics": { "cpu_time_secs": 0.013, "wall_time_secs": 0.020 },
  "evidence": { "isolation": { … }, "teardown": { … } }
}

05 · Pricing

Start free. Pay when you ship.

Prices in USD per month. Go over your plan and the extra runs are billed at your plan's rate on the next invoice. A monthly spending cap stops surprise bills.

Free

$0/mo

Judge only. 5,000 runs a month. No credit card.

Start free

Judge

5,000 runs / mo

Stops at the limit, never charges extra

  • Up to 20 requests a minute
  • All 8 languages
  • Proof of every protection
  • Community support
  • Usage dashboard

Lite

Popular

$9/mo

For hobby projects and side products.

Start Lite

Judge

50,000 runs / mo

+$5 per 25,000 extra runs

  • Everything in Free, plus:
  • API keys
  • Email support
  • Up to 40 requests a minute

Pro

$29/mo

Ready for production, with a predictable monthly bill.

Start Pro

Judge

150,000 runs / mo

+$5 per 50,000 extra runs

  • Everything in Lite, plus:
  • Runs go ahead in the queue
  • Results on the same request
  • Results sent to your server (webhooks)
  • Up to 60 requests a minute
  • Scale · $129/moFor high volume, with cheaper extra runs.Start Scale
  • Enterprise · From $1,500/moReserved capacity, an uptime guarantee and custom integrations.Contact sales

Cancel anytime · No credit card for FreeCompare all plans

06 · FAQ

Questions before you start.

Short answers to what usually matters when you add rustbox to a product.

What is Rustbox?

A safe place to run code you don't trust. Send a program and its test cases. Each test case comes back with its result (right answer, wrong answer, too slow, crashed and so on), proof of the protections and the timing, in the same shape every time.

Which languages are supported?

Python, JavaScript, TypeScript, C, C++, Java, Go, Rust.

Can the code use the internet?

No. The code has no internet and no local network, so it can't look up answers or reach anything else.

How does billing work?

The beta is free, with usage limits. Paid plans are a flat monthly price that includes a set number of runs. Extra runs are billed per 1,000. No surprise per-call bills.

Can I use Rustbox to score AI models (RL and evals)?

Yes. Send each answer the model writes, with its test cases, to /api/judge. The share of test cases it passes is its score, from 0 to 1. The expected answers never go inside the box. See Rewards for RL in the docs.

$ curl -X POST https://api.rustbox.sh/api/submit?wait=true

Run code you don't trust.

Get back the result and a full record of what it tried, in one API call. Free for 5,000 runs a month, no credit card.