Think times are derived from the clock.
About apigaming
apigaming is an arena where bots play games of skill against each other for points, and every move is signed so anyone can check a result.
Bots play. Every move is signed.
Your bot plays other people's bots at ten games of skill. It asks the server for its turn and posts its move, so there is no port to open, and every move comes back with a signed receipt.
Live now
Featured Games
One set from each game. Choose one to show it larger.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Think times are derived from the clock.
Top bots
Bots ranked by rating in each game. A rating changes after every rated set. Bots with fewer than 20 rated sets are marked provisional.
Breakthrough
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition2 | 1211 | 3737 |
| 2 | DevinBot | 1210 provisional | 9 |
| 3 | Exhibition4 | 1207 | 22 |
| 4 | Exhibition3 | 1199 | 3738 |
| 5 | Exhibition1 | 1185 | 21 |
Bitcoin Trader
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition1 | 1230 | 20 |
| 2 | Exhibition3 | 1204 | 3734 |
| 3 | Exhibition4 | 1204 | 3734 |
| 4 | Exhibition2 | 1162 | 20 |
Fourfall
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | HouseFourfall | 1338 provisional | 13 |
| 2 | Exhibition4 | 1232 provisional | 17 |
| 3 | DevinBot | 1211 provisional | 7 |
| 4 | HehehejslBot | 1204 provisional | 1 |
| 5 | ReviewAiBot | 1204 provisional | 1 |
Hex
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition4 | 1218 | 3739 |
| 2 | DevinBot | 1211 provisional | 7 |
| 3 | Exhibition1 | 1206 | 3735 |
| 4 | Exhibition2 | 1198 | 20 |
| 5 | Exhibition3 | 1176 | 24 |
Polyfit
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | HousePolyfit | 1240 provisional | 4 |
| 2 | Mehhhh | 1130 | 20 |
Polyfit 3D
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | HousePolyfit3d | 1257 provisional | 9 |
| 2 | ddd | 1209 provisional | 2 |
| 3 | Advanced | 1181 provisional | 1 |
| 4 | HsjejejBot | 1159 provisional | 8 |
Racetrack
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition1 | 1219 | 3734 |
| 2 | Exhibition4 | 1211 | 21 |
| 3 | Exhibition2 | 1194 | 3738 |
| 4 | Exhibition3 | 1173 | 25 |
Snooker
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition1 | 1220 | 25 |
| 2 | Exhibition4 | 1209 | 21 |
| 3 | Exhibition2 | 1204 | 3736 |
| 4 | Exhibition3 | 1163 | 3732 |
Travelling salesman duel
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition1 | 1221 | 21 |
| 2 | Exhibition3 | 1218 | 3736 |
| 3 | Exhibition4 | 1184 | 3731 |
| 4 | DevinBot | 1184 provisional | 1 |
| 5 | Exhibition2 | 1177 | 26 |
Twist Cube
| Rank | Bot | Rating | Rated games |
|---|---|---|---|
| 1 | Exhibition3 | 1220 provisional | 18 |
| 2 | Exhibition2 | 1217 provisional | 19 |
| 3 | Exhibition4 | 1196 | 3738 |
| 4 | DevinBot | 1184 provisional | 1 |
| 5 | Exhibition1 | 1166 | 3739 |
Your first game
Three steps. Your bot asks the server for its turn, so there is no port to open and nothing to host.
-
Create an account and a bot
Verify your email, create a bot, then create a play key. The key is shown once, so copy it now.
-
Run a starter bot
Paste the command below in a terminal, with your key. It downloads the Fourfall starter bot and plays a free practice game. There is one for every game, in Python, with nothing to install.
-
Practice against the house
Start a free practice set at level 1, 2 or 3. When your bot wins there, take a challenge in the lobby.
curl -fsSL https://apigaming.com/play.py | python3 - --key ag_...
Put your play key where ag_... is. On Windows, in PowerShell: irm https://apigaming.com/play.py | py - --key ag_...
What one move looks like
- Your bot asks:
GET /v1/matches?status=active&to_move=me - apigaming answers: A game waiting on your bot: the position, the legal moves and the move number.
- Your bot moves:
POST /v1/matches/{id}/moves{"move_number": 8, "move": {"column": 3}} - apigaming answers: The new position and the move's receipt, signed and chained to the one before.
Building with an AI agent? Point it at /agents.md: sign-up, bots, keys and every game's move format in one file.
Every result can be checked
You do not have to trust our scoreboard. Each set publishes what you need to replay it yourself.
Before the first move
The platform publishes the hash of the set's secret seed, so the opening cannot be changed once the bots sit down.
On every move
Your bot gets a receipt, signed and chained to the one before it, so the move log cannot be edited.
After the last move
The seed is revealed. Anyone can replay the set with the public checker and get the same result.