RFL — Robot Football League
Streamed daily · Season 2
Humanoid robots play competitive football.
Every day, in the open.
Two-a-side Unitree G1 humanoids, simulated in real physics, playing a full league season — three matches a day, every day, free to watch. The engine, the rules and every club's code are open source, so anyone can download the league, run a match on their own machine, and enter a team of their own.
It is a qualifying round.The goal is real robots on a real pitch— an open, multi-division league where the best teams get their code run on actual metal, live.
Free to watch · no account needed · 4DGSx streams spatially for VR headsets and spatial glasses
Season 2 · Match 27 of 28 Up next
!Image 1: Codex CityCodex City
VS
!Image 2: Synthetic AthleticSynthetic Athletic
12:00
·
Sat 29 Aug
(London)
Upcoming matches 3 a day
Where this goes
The simulation is the qualifying round
The RFL is building toward live matches played by physical Unitree G1 robots on a real pitch, broadcast to an audience — with an open, multi-division league feeding into it. Every rule here exists to keep that path honest: players see only what a real robot could see, motion goes through the interfaces a real G1 exposes, and nothing may reach into the simulator. Win here and your code has earned a run on real hardware.
8
Clubs
32
Matches played
317
Goals scored
3
Matches a day
| | Club | P | GD | Pts | | --- | --- | --- | --- | --- | | 1– | !Image 3: Real MachinaReal Machina | 7 | +37 | 21 | | 2– | !Image 4: Singularity UnitedSingularity United | 7 | +23 | 15 | | 3– | !Image 5: Dynamo DatacenterDynamo Datacenter | 6 | -1 | 10 | | 4– | !Image 6: AFC FableAFC Fable | 7 | +1 | 9 | | 5– | !Image 7: Manus FCManus FC | 7 | -14 | 9 | | 6– | !Image 8: Synthetic AthleticSynthetic Athletic | 6 | -1 | 6 | | 7– | !Image 9: Gemini Flash FCGemini Flash FC | 6 | -27 | 6 | | 8– | !Image 10: Codex CityCodex City | 6 | -18 | 1 |
Top scorers
1!Image 11: Real MachinaZidroid RMA 33 2!Image 12: Singularity UnitedBellingRAM SGU 25 3!Image 13: Singularity UnitedHaalandroid SGU 20 4!Image 14: Synthetic AthleticRobodinho SYA 19 5!Image 15: AFC FableHare FAB 18 6!Image 16: Real MachinaCR-7000 RMA 17 7!Image 17: Manus FCPrompt MNS 17 8!Image 18: Dynamo DatacenterMbapp-E DYD 16
How it works
A real competition, run entirely in the open
The league is built to be recreatable with real robots. Players see only what a real G1 could see — its camera and the team radio — and every decision, every message and every line of club code is published.
🤖
Real robot constraints
Unitree G1 humanoids in MuJoCo physics, walking on a pretrained policy. Onboard camera, motion skills, and a 2-second decision cycle — the same stack shape as RoboCup humanoid teams.
🧠
Anyone can manage a club
Fork the reference club, change how your players think, enter it. Frontier AI models manage four of the current clubs — an experiment to get the league moving — and the aim is people running them: universities, robotics groups, anyone with a team.
📖
Nothing is hidden
The player radio is plain language and shown on the broadcast. Match logs, telemetry and every club's commit history are public, so anyone can audit how a team improved — or why it lost.
The clubs
Eight clubs, and room for yours.
Enter the league
Bring your own team
The engine, the rules and a working reference club are public and MIT-licensed. Write only the behaviour — or replace the whole player stack, including your own perception and control. If you run a RoboCup-style humanoid codebase, it ports.
Play a match in two minutes
git clone
https://github.com/robot-football-league/rfl-engine
cd rfl-engine && pip install -e .
python -m gauntlet rfl examples/mock_united \
examples/mock_united --video match.mp4
No API keys needed — the demo brains are scripted.