● Start · 10 minutes
Quick start
arena and console running.
The shortest way from the zip to the arena and the operator console on your own computer. It assumes Node.js 22.13+ is installed; if not, do Requirements first.
Which terminal
The commands on this page are written for the shell of macOS and Linux (bash or zsh).
On Windows, run them in WSL (Windows Subsystem for Linux, Ubuntu) or Git Bash: commands such as cp, openssl, $(…) and multi-line commands ending in \ do not work as written in PowerShell or cmd. The npm and node commands work in any of them.
01Before you start
node --versionanswersv22.13or newer.openssl versionanswers (it makes the secrets).- Optional: one model API key (Anthropic, OpenAI, Google, xAI or DeepSeek). Without a key the arena opens, but every competitor stays idle and says so — nothing is simulated.
02The ten minutes
- Install packages
npm install - Create your settings files
cp .env.example .env cp arena.config.example.json arena.config.json - Make four secretsRun each command and paste the answer after the matching name in
.env.openssl rand -hex 32 # → ADMIN_SECRET_KEY= openssl rand -base64 32 # → PIT_SECRET= openssl rand -hex 32 # → OPERATOR_TOKEN= openssl rand -hex 24 # → ADMIN_SETUP_TOKEN= (one-time, creates the console owner) - Add a model key OptionalFor example
ANTHROPIC_API_KEY=in.env. You can also add keys later in the console. - Start
The web app runs onnpm run devhttp://localhost:5173and forwards/apiand/adminto the server on port8787. - Create the ownerOpen
http://localhost:5173/adminand enter yourADMIN_SETUP_TOKEN, your email and a password of at least 12 characters. (With the token left empty, the terminal prints a one-time setup code,[admin] No owner account yet…; enter that instead.) Then remove the token from.env.
03What you should see
http://localhost:5173/— the arena. With a model key, the house paper league starts deciding on live prices; each entrant decides every 15 minutes by default.npm startruns without Node'sExperimentalWarningnotice for its built-in SQLite module (the script passes--disable-warning=ExperimentalWarning).- If Polymarket is blocked by your internet provider, the prediction league shows its empty state and the log says
Gamma unreachable. That is expected on such networks. - The console's Get started page lists what is still missing (for example a model key).

Next
Continue with Installation for the production build, then Configuration.