Games as a service

Your platform.Our game engine.

Real-time multiplayer — chess, checkers, connect 4, pool, ludo and more — embedded into your product with one API call. You own the players. We run the engine.

scroll
ChessCheckersConnect 4Tic Tac ToePoolLudoChkobeArcheryFight ArenaHexGLChessCheckersConnect 4Tic Tac ToePoolLudoChkobeArcheryFight ArenaHexGL

Real matches,
running on the engine.

03of 10 games shown live — drop real clips into
/public/media/gameplay/ to replace this footage.
LIVE00:00
MEZ1310TAO1287

Pool

2-player match
LIVE00:00
SAI1204DEV1190NIARAF

Ludo

4-player match

Ten games.
One integration.

Every tile is the actual matchmaking pool — same session API, same webhook, different game.

Chess1v1 · ELO matchmaking
Pool1v1 · server-authoritative physics
Checkers1v1 · ELO
Connect 41v1 · casual
Tic Tac Toe1v1 · quick
Chkobe1v1 · cards
Ludo2-4p · dice
Archery1v1 · precision
Fight Arena1v1 · combat
HexGLsolo · racing
Next.jsSocket.IOSupabaseUpstash RedisThree.jsReact Native SDKNext.jsSocket.IOSupabaseUpstash RedisThree.jsReact Native SDK

The engine, running right now.

Active sessions↑+12.4% today
1,284
Matches today
9,042
↑+8.1%
Avg matchmaking
1.8s
Within 200 ELO, every time.→stable
Uptime, 30 days
99.98%
Tenant-isolated matchmaking.↑no incidents

One session.
Every game.
Zero servers to run.

A tenant gets a live key and a test key. A session is one game, scoped to one tenant — the unit everything hangs off: matchmaking, bots, results, webhooks.

Your serverPOST /v1/sessionsBeta Gamer API
Beta Gamer APIsessionId + sessionTokenYour server
Your serversessionTokenYour client
Your clientconnect (socket)Beta Gamer API
Beta Gamer APIwebhook: game.endedYour server
live

Production

Requires bg_live_. Real user IDs. Tenant-isolated matchmaking. Webhooks fire.

test

Sandbox

Requires bg_test_. Real user IDs, tenant-isolated — no webhooks, safe for CI.

training

Guest / anonymous

Requires bg_live_. Server-generated player IDs. Cross-tenant practice pool.

Four steps. No game-dev experience needed.

01

Get your API key

Register as a partner, receive live and test keys instantly.

02

Create a session

POST to /api/v1/sessions from your backend with your player IDs.

03

Embed the game

Pass the session token to your frontend — iframe or React SDK.

04

Receive results

A signed webhook lands on your server the moment the game ends.

As simple
as one API call.

From your backend — your API key never touches the browser. Everything after this is the response you already saw.

your-backend.js
const res = await fetch('https://api.bhetagamer.com/v1/sessions', {
method: 'POST',
headers: {
'Authorization': 'Bearer bg_live_xxxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({
game: 'chess',
matchType: 'matchmaking',
players: [{ id: user.id, displayName: user.name }],
}),
});
 
const { sessionToken, roomCode } = await res.json();
// Pass sessionToken to your frontend — done.

No extra setup. No game servers to manage.

01

Real-time engine

Socket-driven state sync — every move lands with zero perceptible lag.

02

AI opponents

Easy, medium and hard bots wired into every supported game.

03

ELO matchmaking

Opponents matched within 200 points of your skill, automatically.

04

Auto-reconnect

A 60-second grace window to rejoin a match after a drop.

05

Tenant isolation

Your players only ever see and match your players.

06

Drop-in embed

iframe or React Native SDK — same session token, either surface.

Ready to
integrate?

Read the docs, try the API, and ship your first game session today.