Open source · Kotlin · Spring Boot

One API.
Any tabletop.

The authoritative game engine for cards, dice, boards, pieces, turns—and whatever your next game invents.

MIT licensedVersioned commandsSwagger documented
POST /commands
{
  "type": "place_piece",
  "actor_id": "7b2…e91",
  "payload": {
    "space_id": "0-0"
  },
  "expected_version": 3,
  "idempotency_key": "turn-001"
}
200 OKstate.version → 52 events
BOARDS SPACES PIECES CARDS DECKS DICE TURNS EVENTS

Built for real clients

More than
game-state CRUD.

Clients describe intent. TabletopRPC owns the truth, validates the move, applies it once, and returns a fresh snapshot plus ordered events.

01

Stale moves lose safely

Optimistic version checks stop two clients from quietly overwriting the same turn.

02

Retries happen once

Idempotency keys make unreliable networks boring instead of game-breaking.

03

Randomness stays fair

Dice rolls and deck shuffles happen on the authoritative server, never a player’s device.

04

Events keep clients in sync

Poll ordered changes today; add SSE or WebSockets tomorrow without changing commands.

Live reference clients

Six games.
One API.

Each playable demo is a real client of the public TabletopRPC API. Together they cover grids, cards, dice, private views, legal actions, turn effects, and computer opponents.

DEMO 01 · GRID & PIECES

Tic-Tac-Toe

Challenge a minimax computer opponent while every placement is validated and versioned by the server.

Play Tic-Tac-Toe

DEMO 02 · CARDS & DECKS

Blackjack

Hit, stand, and face the dealer with server-owned shuffling, hidden information, and hand scoring.

Play Blackjack

DEMO 03 · DICE & RACING

Mini Ludo

Race an API-controlled opponent through legal moves, captures, safe spaces, and home lanes.

Play Mini Ludo

DEMO 04 · LEGAL ACTIONS

Checkers

Follow server-published moves through mandatory captures, chained jumps, and promotion.

Play Checkers

DEMO 05 · PRIVATE STATE

Heads-Up Hold’em

Bet through four streets while player-specific projections protect private hole cards.

Play Hold’em

DEMO 06 · MULTI-STEP CHOICES

Color Clash

Match colors and ranks, play turn-changing actions, and choose a color for wild cards.

Play Color Clash

Built to teach: the demos, API, and Swagger UI all run from the same open-source Kotlin application.

Your rules. One reliable engine.

Build the table
people meet around.

View on GitHub Read the API reference →