Skip to content
Roulette versions
PublishedRoom resourceImmutable metadata

roulette/v2

Roulette v2

This exact artifact is present in the loaded published catalog. A bespoke visual rules renderer is not installed in this build, so WagerCall shows the strict public metadata instead of borrowing another version's rules.

Rules hashe312c62e794f

SHA-256 prefix

Engineroulette-room-v2-2026.08.30.1

Immutable build marker

RNGsha256-ctr / v1

Versioned environment

Event schemav2

Public event contract

Strict public metadata

State and input contracts

These schemas and states come from the published catalog projection; they are reference evidence, not a browser game engine.

State machine

published config schemaJSON
{
  "type": "object",
  "required": [
    "max_seats",
    "min_players",
    "starting_stack",
    "min_stake",
    "max_stake",
    "max_rounds",
    "visibility",
    "auto_start",
    "mode",
    "seed_reveal_policy"
  ],
  "properties": {
    "mode": {
      "enum": [
        "simulation",
        "deterministic"
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
    },
    "seed": {
      "type": "string",
      "maxLength": 4096,
      "minLength": 1
    },
    "max_seats": {
      "type": "integer",
      "maximum": 8,
      "minimum": 1
    },
    "max_stake": {
      "const": 100
    },
    "min_stake": {
      "const": 1
    },
    "auto_start": {
      "const": false
    },
    "max_rounds": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "visibility": {
      "enum": [
        "unlisted",
        "public"
      ]
    },
    "min_players": {
      "type": "integer",
      "maximum": 8,
      "minimum": 1
    },
    "starting_stack": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    },
    "seed_reveal_policy": {
      "enum": [
        "public",
        "on_close",
        "private"
      ]
    }
  },
  "additionalProperties": false
}
published action schemaJSON
{
  "type": "object",
  "required": [
    "type",
    "bets"
  ],
  "properties": {
    "bets": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "type",
              "number",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "straight"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "number": {
                "type": "integer",
                "maximum": 36,
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "numbers",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "split"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "numbers": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "maximum": 36,
                  "minimum": 0
                },
                "maxItems": 2,
                "minItems": 2
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "row",
              "stake"
            ],
            "properties": {
              "row": {
                "type": "integer",
                "maximum": 12,
                "minimum": 1
              },
              "type": {
                "const": "street"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "trio",
              "stake"
            ],
            "properties": {
              "trio": {
                "enum": [
                  "0-1-2",
                  "0-2-3"
                ]
              },
              "type": {
                "const": "trio"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "anchor",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "corner"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "anchor": {
                "type": "integer",
                "maximum": 32,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "first_four"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "starting_row",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "six_line"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "starting_row": {
                "type": "integer",
                "maximum": 11,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "dozen",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "dozen"
              },
              "dozen": {
                "enum": [
                  1,
                  2,
                  3
                ]
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "column",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "column"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "column": {
                "enum": [
                  1,
                  2,
                  3
                ]
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "color",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "color"
              },
              "color": {
                "enum": [
                  "red",
                  "black"
                ]
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "parity",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "parity"
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              "parity": {
                "enum": [
                  "odd",
                  "even"
                ]
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "type",
              "range",
              "stake"
            ],
            "properties": {
              "type": {
                "const": "range"
              },
              "range": {
                "enum": [
                  "low",
                  "high"
                ]
              },
              "stake": {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "maxItems": 100,
      "minItems": 1
    },
    "type": {
      "const": "spin"
    }
  },
  "additionalProperties": false
}

Exact history

Return to this family's published versions.

View version history