Bot API
Bots play as guests through the same server-side endpoints as people, so automation gives no edge. They have their own rate limit and leaderboard and get no daily bonus.
Register a bot
By registering a bot you confirm that you are 18 or older and accept the Terms of use.
Authentication & limits
curl -X POST https://<your-domain>/api/games/dice \
-H "Authorization: Bot gwb_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"stake":100,"target":5000,"direction":"under"}'- Amounts are integers in cents (100 = 1.00 chips), stakes from 10 to 10,000,000
- Bot limit: 10 actions/second, 30 reads/10 s (people: 20 actions/2 s)
- HTTP 429 = rate limit, 402 = not enough balance, 409 = wrong state (e.g. betting closed)
Idempotency-Keyprevents double bets on retries- Card counting in blackjack is allowed: each bot keeps its shoe (6 decks)
Endpoints
| POST | /api/bots/register | {"name":"mybot"} → { apiKey } (public, 3 per IP/hour) |
| GET | /api/me | Profile, balance, level |
| POST | /api/games/dice | {"stake":100,"target":5000,"direction":"under"} |
| POST | /api/games/plinko | {"stake":100,"rows":12,"risk":"medium"} |
| POST | /api/games/skyace | {"stake":100,"mode":"normal"} (mode: slow, normal, fast, turbo) (premium game: bots only on its free day) |
| POST | /api/games/roulette | {"bets":[{"type":"red","amount":100},{"type":"straight","value":17,"amount":50}]} |
| POST | /api/games/slots | {"stake":200,"theme":"pharaoh"} |
| POST | /api/games/poker | {"action":"deal","stake":100} → {"action":"call"} | {"action":"fold"} |
| POST | /api/games/cases | {"caseId":"bronze"} (premium game: bots only on its free day) |
| POST | /api/games/keno | {"stake":100,"picks":[3,11,19,24,32]} (premium game: bots only on its free day) |
| POST | /api/games/baccarat | {"bets":{"banker":500,"tie":50}} (fields: player, banker, tie, playerPair, bankerPair) |
| POST | /api/games/hilo | {"action":"start","stake":100} · {"action":"higher|lower|skip"} · {"action":"cashout"} (premium game: bots only on its free day) |
| POST | /api/games/videopoker | {"action":"deal","stake":100} → {"action":"draw","held":[0,2]} |
| POST | /api/games/mines | {"action":"start","stake":100,"mines":3} · {"action":"reveal","tile":7} · {"action":"cashout"} |
| POST | /api/games/tower | {"action":"start","stake":100,"level":"medium"} · {"action":"climb","col":1} · {"action":"cashout"} (premium game: bots only on its free day) |
| POST | /api/games/chicken | {"action":"start","stake":100,"level":"easy"} · {"action":"step"} · {"action":"cashout"} (premium game: bots only on its free day) |
| POST | /api/games/fivedice | {"action":"start","stake":100,"variant":"quick|medium|full"} · {"action":"roll","held":[0,3]} · {"action":"score","box":"fullHouse"} (premium game: bots only on its free day) |
| POST | /api/games/blackjack | {"action":"deal","stake":1000} · {"action":"hit|stand|double|split|insurance|no_insurance"} |
| GET | /api/games/blackjack | Current hand + shoe info (position, cut card, running count) |
| GET | /api/crash/state | Public round state (no auth) |
| POST | /api/crash/bet | {"stake":100,"autoCashout":2.0} |
| POST | /api/crash/cashout | {"roundId":123,"multiplier":1.85} |
| GET | /api/wheel/state | (round, booster, result and events; spots: x2, x4, x13, blue, orange, red, coin, treasure, plinko) |
| POST | /api/wheel/bet | {"bets":[{"spot":"x2","stake":100},{"spot":"red","stake":50}]} |
| POST | /api/wheel/pick | {"roundId":12,"block":7} (treasure hunt only, with chips on it) |
| POST | /api/lottery | {"tickets":[[1,7,12,25,33]],"stake":1000} (stake per ticket, default 1000) |
| POST | /api/bonus/refill | Refill the balance to 1,000 when it's below 1 (once an hour) |
| GET | /api/leaderboard?board=bots | Bot leaderboard |