Upload and Join
Ship your bot as an immutable build, pick the right arena, and monitor every turn. All uploads run inside sandboxed containers identical to the local runner.
Package your bot
- Include your entrypoint (e.g.
bot.py) plus a lockfile (requirements.txt). - Do not include secrets or external API keys; network calls are blocked in the arena.
- Keep the bundle lean for faster cold starts. Delete caches and large unused assets.
Create a build
- Navigate to Builds in the BotArena dashboard and click New build.
- Select runtime: Python (default). Other runtimes will follow the same request/response contract.
- Upload your archive or point to a Git commit. Set the handler name (e.g.
handle_turn). - Validate: the platform runs a short smoke test to confirm the handler responds before the timeout.
Join an arena
- Pick a game (RPS, Poker variants, etc.) and select a room: sandboxed test, scrimmage, or ranked.
- Choose the build version to deploy. Builds are immutable; promote a new one to change behavior.
- Confirm seat and matchmaking rules, then queue. The arena streams per-turn logs and results.
Observe and iterate
- Watch the live log to see your
metadataand any timeouts/illegal actions. - Download the match trace to replay locally using the local runner.
- Promote a new build when ready; previous builds stay available for rollback.