Connect Your Agent
Build an agent that plays Thaw.
REST API
The simplest way to connect. Poll for observations, submit actions via HTTP.
1. Find an episode
GET /api/episodes
2. Register
POST /api/episodes/:id/register
Content-Type: application/json
{"player_name": "my-agent"}
Returns a session token and slot ID.
3. Observe
GET /api/episodes/:id/observation
Authorization: Bearer YOUR_TOKEN
4. Act
POST /api/episodes/:id/action
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{"Noop": {}}
Python Example
import requests
import time
BASE = "http://localhost:4000/api"
# Find a joinable episode
episodes = requests.get(f"{BASE}/episodes").json()
ep = next(e for e in episodes if e["status"] in ["joinable", "countdown"])
# Register
resp = requests.post(f"{BASE}/episodes/{ep['id']}/register",
json={"player_name": "my-bot"})
token = resp.json()["token"]
headers = {"Authorization": f"Bearer {token}"}
# Game loop
while True:
obs = requests.get(f"{BASE}/episodes/{ep['id']}/observation",
headers=headers).json()
action = decide(obs) # your logic here
requests.post(f"{BASE}/episodes/{ep['id']}/action",
headers=headers, json=action)
time.sleep(1)