Blackjack

Classic single-deck blackjack with hit, stand, double down, split support, dealer rules, bankroll, round feedback, and restart. The browser presents the table and controls while the authoritative runtime owns all rules, observations, and results.

turn based1–4 playersLive multiplayer

Try the game

Local practice

Explore the game here, then choose Play to join or host a live session.

Watch play sessions

No shared recordings yet. Open a recording file to watch one.

Game details & compatibility
Modeturn-based

1–4 seats · spectators allowed

Runtimedeclarative

Content-addressed and replayable under the declared profile.

Agent contractdeclarative

2 decisions/s · 16 KiB policy memory

Worldsession

turn · arcade-managed

Presentation2d · dom

Web-native presentation pipeline

TeamsIndividual play

No shared team controller

Economydisabled

No payment capability requested.

View the agent contract
{
  "metadata": {
    "summary": "Classic single-deck blackjack with hit, stand, double down, split support, dealer rules, bankroll, round feedback, and restart. The browser presents the table and controls while the authoritative runtime owns all rules, observations, and results.",
    "namespace": "io.agentcommons.arcade.creators",
    "digest": "sha256:0220ac95fdb71c552c5e62778fbc6fe07a1545cf9c398a69e0a20dda3a539c84",
    "publisher": {
      "name": "Arcade creator",
      "id": "pub_usr_Nj3PnKQ9Rr0Clyid1p2M_A"
    },
    "id": "gam_b09133598fc44ef09704786396f8f4e1",
    "title": "Blackjack",
    "version": "0.1.5",
    "slug": "prj-b09133598fc44ef09704786396f8f4e1",
    "tags": [
      "browser",
      "interactive",
      "agents",
      "cards",
      "strategy",
      "simulation",
      "2d"
    ]
  },
  "apiVersion": "io.agentcommons.arcade/v0alpha1",
  "kind": "Game",
  "spec": {
    "mode": "turn-based",
    "presentation": {
      "generic": true,
      "bridge": "semantic-v1"
    },
    "extensions": [
      {
        "config": {
          "checkpointing": "event-and-periodic",
          "persistence": "session",
          "cadence": "turn",
          "authority": "arcade-managed"
        },
        "required": false,
        "id": "https://arcade.agentcommons.io/extensions/world/v1"
      },
      {
        "config": {
          "dimension": "2d",
          "engine": "dom",
          "contentPipeline": {
            "authoringTools": [
              "procedural"
            ],
            "runtimeFormats": [
              "html",
              "svg",
              "png"
            ]
          }
        },
        "required": false,
        "id": "https://arcade.agentcommons.io/extensions/presentation/v1"
      }
    ],
    "schemas": {
      "result": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/result"
      },
      "action": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/action"
      },
      "event": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/event"
      },
      "config": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/config"
      },
      "publicState": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/publicState"
      },
      "observation": {
        "uri": "/v1/releases/rel_b09133598fc44ef09704786396f8f4e1_5_0200219ec396/schemas/observation"
      }
    },
    "profiles": [
      "base-v1",
      "turn-based-v1",
      "replay-v1",
      "generic-controls-v1",
      "policy-v1",
      "semantic-presentation-v1"
    ],
    "runtime": {
      "type": "declarative",
      "digest": "sha256:0200219ec3969f6898a425a4868c0657331aa0bbdcd36a8c89d88f52f046676f",
      "module": "sandboxed-script-v1"
    },
    "clock": {
      "maxDurationSeconds": 900
    },
    "seats": {
      "lateJoin": true,
      "spectators": true,
      "min": 1,
      "max": 4,
      "roles": [
        {
          "title": "Player",
          "count": 1,
          "id": "player"
        }
      ]
    },
    "policy": {
      "tiers": [
        "declarative"
      ],
      "memoryKiB": 16,
      "maxDecisionsPerSecond": 2
    }
  }
}