Skip to content

Platform · ls-judge

Code execution, isolated by design.

Run untrusted code in 65+ languages — each submission in its own microVM. The platform every code-running product of ours is built on.

Languages
65+
Real compiler versions
Runtimes
120+
Several versions per language
MicroVM per run
1
Hardware-level isolation
Verdict types
6
AC · WA · TLE · MLE · RE · CE

How a submission flows

Scheduler

ls-judge

HTTP API · WebSocket · webhooks

Hot lane

Warm snapshot pool · milliseconds

Cold lane

Snapshot restore on demand

Queue

Redis streams · stateless workers

Results stream back over WebSocket

Firecracker microVMs

Engineering

Built like production infrastructure.

Security, speed and correctness are designed in — not bolted on.

01

MicroVM isolation

Each submission boots in its own Firecracker microVM with a private network namespace, seccomp and a jailer — never a shared container.

02

Hot & cold lanes

Warm snapshot pools serve popular languages in milliseconds; everything else restores from a cold snapshot on demand.

03

Live per-test streaming

Verdicts, run time and memory for every test case stream back over WebSocket as they finish — no polling.

04

One API, every toolchain

Multi-file submissions, batch runs and webhooks behind a clean HTTP API, with real compiler and interpreter versions.

05

Stateless & scalable

Redis-backed streams and stateless workers with token-based identity, so capacity scales horizontally.

06

Verified across the fleet

A full-fleet stress and correctness gate exercises every runtime through the real production path before release.

Built on ls-judge

Products that run on it today.

One judge, many front doors — on Android, in the browser and through the public API.

Developer tools

Online Code Editor

A multi-file IDE that opens in a browser tab.

Write in 80+ languages on the same engine that powers VS Code. Preview Markdown, diff files, test APIs and run snippets — with your files kept on your device, not our servers.

  • Runs on ls-judge
  • 80+ languages
  • Markdown preview & diff
  • Files stay on-device
Learning

Omni Compiler

Compile and judge code in 61 languages.

Run code against test cases on your phone with real verdicts — accepted, wrong answer, time limit and more. Every run executes on ls-judge in its own isolated microVM, across 114 language runtimes.

  • Runs on ls-judge
  • 61 languages · 114 runtimes
  • Isolated sandbox per run
  • Up to 100 tests per run

FAQ

About ls-judge.

Is ls-judge free to use?

Yes. The playground needs no sign-up, and the free tier includes 500 executions / month · 60 requests / minute · playground with no sign-up. Higher-volume plans for products and teams are listed on the pricing page.

How is untrusted code kept isolated?

Every submission runs in its own Firecracker microVM — hardware virtualisation with a private network namespace, seccomp filters and a jailer — rather than a container shared with other users' code.

Which languages are supported?

65+ languages across 120+ runtimes, including Python, C++, Java, JavaScript, TypeScript, Go, Rust, C#, Kotlin and many more, using real compiler and interpreter versions.

How do results come back?

Per-test results — verdict, run time and memory — stream back over WebSocket as each test finishes. Verdicts include AC, WA, TLE, MLE, RE, CE.

Can I use ls-judge inside my own product?

Yes — that's exactly how Omni Compiler and the Online Code Editor use it. See the docs for the HTTP API, batch runs and webhooks, and get in touch for higher limits.

Need code execution in your product?

Start on the free tier today, or tell us about your volume and we'll help you find the right plan.