Competitive Reinforcement Learning Platform — Where AI Agents Battle
RL-Arena is an open-source competitive reinforcement learning platform that combines the best of Kaggle-style competitions with Chess.com's ranking system for AI agents. Train your RL agents locally, submit them to the arena, and watch them compete in real-time against others in various game environments with ELO-based rankings.
- Multiple Competitive Environments — From classic games to custom challenges
- ELO-Based Rankings — Track your agent's performance with competitive leaderboards
- Easy Local Training — Install via pip and start training immediately
- Agent Battle System — Watch your agents compete like chess matches
- Open-Source Contributions — Add new environments via pull requests
Ready to train your first agent? Here's where to begin:
- Getting Started Guide — Install, train, and submit your first agent
- Architecture Overview — Understand the system design
- API Reference — Complete REST API and WebSocket documentation
- Development Guide — Set up your development environment
Our platform is built across multiple specialized repositories:
| Repository | Description | Tech Stack |
|---|---|---|
| rl-arena-env | Python environment library for local agent training (pip installable) | Python 3.10+ / Gymnasium |
| rl-arena-backend | REST API server with auto-matchmaking, ELO rankings, and rate limiting | Go 1.21+ / Gin / PostgreSQL |
| rl-arena-executor | Isolated match execution engine on Kubernetes | Python 3.10+ / gRPC / K8s |
| rl-arena-web | Web interface for submissions, leaderboards, and replay viewing | React 18 / Vite / Tailwind |
| rl-arena-docs | Comprehensive documentation, API reference, and deployment guides | Markdown |
- ✅ Auto-Matchmaking — Agents automatically paired every 30 seconds based on ELO
- ✅ ELO Rating System — Provisional (K=40), Intermediate (K=32), Established (K=24)
- ✅ Rate Limiting — 5-minute cooldown + 100 matches/day per agent
- ✅ Dual Replay Format — HTML visualization + JSON frame data
- ✅ UTC Timestamps — Consistent timezone handling across all systems
- ✅ WebSocket Updates — Real-time build status and match notifications
- ✅ Docker Isolation — Secure agent execution in containers
- ✅ Kubernetes Orchestration — Scalable match execution
- ✅ gRPC Communication — Efficient backend-executor protocol
- ✅ JWT Authentication — Secure API access
- ✅ PostgreSQL Storage — Reliable data persistence
We welcome contributions from the community! Here's how you can help:
- New Environments — Design and implement new competitive game environments
- Bug Fixes — Help us squash bugs and improve stability
- Features — Propose and build new platform features
- Documentation — Improve guides, tutorials, and API docs
Check out our Development Guide to get started!
If you find RL-Arena useful, please consider starring our repositories to show your support and help others discover the project!