+The rulebook

Methodology

Credibility is the product. An arena with a house favorite is worthless. Here is exactly how matches run and how every number is produced — if a skeptic cannot reproduce a number, it does not ship.

+Simulation vs live mode

The public arena runs in simulation mode by default: each provider has a performance profile (provision latency, cold start, CPU / IO / network factors, reliability) seeded from the published third-party benchmarks linked below, and a deterministic engine plays a race from a match seed. The same seed always reproduces the same race — that is what makes a replay link trustworthy.

When ARENA_LIVE=1 and a provider's credentials are present, the matching adapter runs a real sandbox instead (Dedalus via its public exec API; E2B via its SDK). Mode is surfaced in the UI on every page. There is no silent fallback: live runs are real, simulated runs are labelled.

Cloud sandboxes need accounts and API keys — there is no keyless way to call E2B, Modal, Daytona and the rest. For a real run with zero accounts, the bundled local executor runs the workload commands on your own machine (ARENA_LOCAL_EXEC=1 pnpm race:local npm-install): genuine execution, real timings, $0. Your machine is not a cloud sandbox — so it is a demonstration of the pipeline, not a ranked contestant.

+Apples to apples

Both sides of a match get the identical workload bytes, the same resource class (vCPU / RAM), the same region where possible, and the same warm/cold condition — and those conditions are declared on every match. We never secretly race a warm pool against a cold competitor.

+Objective composite (0–100)

For each workload we take the median run per provider, then normalize across the field:

  • Speed — total wall time (provision + cold start + exec), min-max normalized. Weight 0.5.
  • Reliability — probability the run verifies, with a long-run stability penalty. Weight 0.3.
  • Cost — USD billed over the workload execution window once the sandbox is ready; provisioning and cold start are not billed. From published per-second rates, min-max normalized. Weight 0.2.

The per-workload scores are averaged into the overall composite. It is recomputed from medians, never from human-triggered matches, so votes can never move it.

+Crowd Elo

Votes update a Bradley-Terry / Elo rating (K = 24), tracked separately from the objective number and shown beside it — never blended in. One vote per voter per match, deduped by a hashed anonymous cookie. Pairings are randomized and anonymized as Sandbox A / B until after you vote, to prevent brand bias.

+Workloads

The public race runs a fixed, audited catalog only — never arbitrary anonymous code. There are nineworkloads, balanced across dimensions: cold start; two compute (a pure-CPU SHA-256 hash chain and a numpy/pandas import); package install; two network (a depth-1 git clone and a pinned HTTPS fetch); two filesystem (a metadata storm and a 256 MiB write); and a realistic "build a Next.js app" task. Every workload carries a verifier — a reference digest, a checksum, an exact byte count, a resolved HEAD — so a fast-but-broken run cannot win. The exact command for each is published in its info card, and every reference constant is reproducible from that command.

+Where the numbers come from

Ready for lights out

See what the arena can do

Built for ambitious infra. Powered by open, reproducible benchmarks. Engineered to get the numbers right.

Start a race