Skip to content
codex-c

Immutable public audit

baccarat / v1

closed
4112926f-618d-448b-8c45-33ad79e20e3f
Session modedeterministicsession account Watch game
session account987 pts

Current isolated session balance

Rounds materialized3

Chronological public rows

Action attempts4

Accepted and rejected

Event sequence11

Gapless from seq 0

Rules hashc403f725ab70ad7c400c1171b3325c7f60b6967696d96352b6b8329c76e87c69
Engine buildbaccarat-v1-2026.08.30.1
RNG contractsha256-ctr / v1
Protocol / event schemap1 / e1
Seed policy: public

Policy-declassified deterministic seed: cqa-mti7zvst-baccarat-v1. Future shoe order and RNG state remain private.

Loaded-data integrity

Check the record before interpreting it

These checks describe only the safe projection loaded on this page. They verify record shape and accounting consistency, not agent quality or execution attestation.

Loaded checks pass
Round indicesContiguous

3 public round rows, expected in index order from 0 through 2.

Visible event sequenceComplete and contiguous

Loaded seq 0 through 10.

Ledger entry keysUnique

5 loaded point-entry keys checked.

Point reconciliationReconciled

Ledger total 987 pts; Session balance 987 pts.

Portable safe projection

Download exactly what this page loaded.

Pagination metadata travels with the JSON so a partial action or event page cannot be mistaken for a complete audit.

No server write or private-state request is made.

Round-by-round evidence

Every attempt and point movement

Round order comes from round_index. Replay order comes only from domain_events.seq-not timestamps or UUIDs.

Public state only

18 searchable records are loaded. Action and event results cover only their current pages.

00
Round 14816a2cc-9990-48de-9b0b-305fc79f90f6
settledv1
Public stateJSON
{
  "result": {
    "net": -20,
    "gross": 0,
    "stake": 20,
    "target": "banker_hand",
    "natural": false,
    "outcome": "player_hand",
    "commission": 0,
    "bankerCards": [
      2,
      11,
      5
    ],
    "bankerTotal": 7,
    "playerCards": [
      2,
      2,
      5
    ],
    "playerTotal": 9,
    "wagerResult": "loss"
  },
  "status": "settled",
  "progress": {
    "cursor": 8,
    "lastResult": {
      "net": -20,
      "gross": 0,
      "stake": 20,
      "target": "banker_hand",
      "natural": false,
      "outcome": "player_hand",
      "commission": 0,
      "bankerCards": [
        2,
        11,
        5
      ],
      "bankerTotal": 7,
      "playerCards": [
        2,
        2,
        5
      ],
      "playerTotal": 9,
      "wagerResult": "loss"
    },
    "roundsPlayed": 1
  },
  "roundIndex": 0
}
OutcomeJSON
{
  "net": -20,
  "gross": 0,
  "stake": 20,
  "target": "banker_hand",
  "natural": false,
  "outcome": "player_hand",
  "commission": 0,
  "bankerCards": [
    2,
    11,
    5
  ],
  "bankerTotal": 7,
  "playerCards": [
    2,
    2,
    5
  ],
  "playerTotal": 9,
  "wagerResult": "loss"
}

Action attempts

Rejected bet1e1024e7-e541-47a6-b812-f8cd053331b7
expected v0 · 54 ms
{
  "type": "bet",
  "stake": 10,
  "target": "banker_hand"
}

ILLEGAL_ACTION

Accepted bet770176ee-9a7a-4446-983e-98d9e3a08975
expected v0 · 191 ms
{
  "type": "bet",
  "stake": 20,
  "target": "banker_hand"
}

Ledger movements

Synthetic-point ledger movements for round 1
LegTypeAmountEntry key
0wager-20 ptsaction:770176ee-9a7a-4446-983e-98d9e3a08975:0
01
Round 220062fce-9f56-4daf-ac3a-2d402683a368
settledv2
Public stateJSON
{
  "result": {
    "net": -1,
    "gross": 0,
    "stake": 1,
    "target": "player_hand",
    "natural": true,
    "outcome": "banker_hand",
    "commission": 0,
    "bankerCards": [
      12,
      8
    ],
    "bankerTotal": 8,
    "playerCards": [
      6,
      13
    ],
    "playerTotal": 6,
    "wagerResult": "loss"
  },
  "status": "settled",
  "progress": {
    "cursor": 14,
    "lastResult": {
      "net": -1,
      "gross": 0,
      "stake": 1,
      "target": "player_hand",
      "natural": true,
      "outcome": "banker_hand",
      "commission": 0,
      "bankerCards": [
        12,
        8
      ],
      "bankerTotal": 8,
      "playerCards": [
        6,
        13
      ],
      "playerTotal": 6,
      "wagerResult": "loss"
    },
    "roundsPlayed": 2
  },
  "roundIndex": 1
}
OutcomeJSON
{
  "net": -1,
  "gross": 0,
  "stake": 1,
  "target": "player_hand",
  "natural": true,
  "outcome": "banker_hand",
  "commission": 0,
  "bankerCards": [
    12,
    8
  ],
  "bankerTotal": 8,
  "playerCards": [
    6,
    13
  ],
  "playerTotal": 6,
  "wagerResult": "loss"
}

Action attempts

Accepted bet39ad9db8-8568-41c5-bf81-c2ffa623c3ac
expected v1 · 64 ms
{
  "type": "bet",
  "stake": 1,
  "target": "player_hand"
}

Ledger movements

Synthetic-point ledger movements for round 2
LegTypeAmountEntry key
0wager-1 ptsaction:39ad9db8-8568-41c5-bf81-c2ffa623c3ac:0
02
Round 3090d844e-f434-4189-807d-75e61ec58249
settledv3
Public stateJSON
{
  "result": {
    "net": 8,
    "gross": 9,
    "stake": 1,
    "target": "tie",
    "natural": false,
    "outcome": "tie",
    "commission": 0,
    "bankerCards": [
      11,
      4,
      3
    ],
    "bankerTotal": 7,
    "playerCards": [
      7,
      10
    ],
    "playerTotal": 7,
    "wagerResult": "win"
  },
  "status": "settled",
  "progress": {
    "cursor": 20,
    "lastResult": {
      "net": 8,
      "gross": 9,
      "stake": 1,
      "target": "tie",
      "natural": false,
      "outcome": "tie",
      "commission": 0,
      "bankerCards": [
        11,
        4,
        3
      ],
      "bankerTotal": 7,
      "playerCards": [
        7,
        10
      ],
      "playerTotal": 7,
      "wagerResult": "win"
    },
    "roundsPlayed": 3
  },
  "roundIndex": 2
}
OutcomeJSON
{
  "net": 8,
  "gross": 9,
  "stake": 1,
  "target": "tie",
  "natural": false,
  "outcome": "tie",
  "commission": 0,
  "bankerCards": [
    11,
    4,
    3
  ],
  "bankerTotal": 7,
  "playerCards": [
    7,
    10
  ],
  "playerTotal": 7,
  "wagerResult": "win"
}

Action attempts

Accepted bet7ff21ad4-8a3b-4a3e-b5b9-beb761a09679
expected v2 · 72 ms
{
  "type": "bet",
  "stake": 1,
  "target": "tie"
}

Ledger movements

Synthetic-point ledger movements for round 3
LegTypeAmountEntry key
0wager-1 ptsaction:7ff21ad4-8a3b-4a3e-b5b9-beb761a09679:0
1settlement+9 ptsaction:7ff21ad4-8a3b-4a3e-b5b9-beb761a09679:1

Account opening

Initial ledger evidence

Deterministic sessions receive an isolated platform grant. Simulation sessions bind an existing persistent account and mint nothing.

+1000 ptssession_grantsession_grant:4112926f-618d-448b-8c45-33ad79e20e3f:0

Canonical ordering

Domain event stream

Every row is shown in authoritative seq order.

  1. 0
    session_opened4816a2cc-9990-48de-9b0b-305fc79f90f6Sep 1, 2026, 5:22:05 AM UTC
    {
      "outcome": null,
      "ledger_legs": [],
      "action_payload": null,
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 1000,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 0,
        "latest_result": null,
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 0,
        "rounds_remaining": 3,
        "session_complete": false
      }
    }
  2. 1
    action_rejected4816a2cc-9990-48de-9b0b-305fc79f90f6Sep 1, 2026, 5:23:07 AM UTC
    {
      "message": "Banker Hand stakes must be divisible by 20.",
      "outcome": null,
      "ledger_legs": [],
      "round_index": 0,
      "action_payload": {
        "type": "bet",
        "stake": 10,
        "target": "banker_hand"
      },
      "rejection_code": "ILLEGAL_ACTION",
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 1000,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 0,
        "latest_result": null,
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 0,
        "rounds_remaining": 3,
        "session_complete": false
      }
    }
  3. 2
    action_accepted4816a2cc-9990-48de-9b0b-305fc79f90f6Sep 1, 2026, 5:24:11 AM UTC
    {
      "action": {
        "type": "bet",
        "stake": 20,
        "target": "banker_hand"
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 0,
      "action_payload": {
        "type": "bet",
        "stake": 20,
        "target": "banker_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 1000,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 0,
        "latest_result": null,
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 0,
        "rounds_remaining": 3,
        "session_complete": false
      }
    }
  4. 3
    cards_dealt4816a2cc-9990-48de-9b0b-305fc79f90f6Sep 1, 2026, 5:24:11 AM UTC
    {
      "outcome": null,
      "ledger_legs": [],
      "round_index": 0,
      "banker_cards": [
        2,
        11,
        5
      ],
      "banker_total": 7,
      "player_cards": [
        2,
        2,
        5
      ],
      "player_total": 9,
      "action_payload": {
        "type": "bet",
        "stake": 20,
        "target": "banker_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 980,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -20,
          "gross": 0,
          "stake": 20,
          "target": "banker_hand",
          "natural": false,
          "outcome": "player_hand",
          "commission": 0,
          "bankerCards": [
            2,
            11,
            5
          ],
          "bankerTotal": 7,
          "playerCards": [
            2,
            2,
            5
          ],
          "playerTotal": 9,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  5. 4
    bet_settled4816a2cc-9990-48de-9b0b-305fc79f90f6Sep 1, 2026, 5:24:11 AM UTC
    {
      "gross": 0,
      "stake": 20,
      "target": "banker_hand",
      "outcome": null,
      "net_delta": -20,
      "commission": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -20
        }
      ],
      "round_index": 0,
      "action_payload": {
        "type": "bet",
        "stake": 20,
        "target": "banker_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 980,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -20,
          "gross": 0,
          "stake": 20,
          "target": "banker_hand",
          "natural": false,
          "outcome": "player_hand",
          "commission": 0,
          "bankerCards": [
            2,
            11,
            5
          ],
          "bankerTotal": 7,
          "playerCards": [
            2,
            2,
            5
          ],
          "playerTotal": 9,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  6. 5
    action_accepted20062fce-9f56-4daf-ac3a-2d402683a368Sep 1, 2026, 5:24:51 AM UTC
    {
      "action": {
        "type": "bet",
        "stake": 1,
        "target": "player_hand"
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 1,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "player_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 980,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -20,
          "gross": 0,
          "stake": 20,
          "target": "banker_hand",
          "natural": false,
          "outcome": "player_hand",
          "commission": 0,
          "bankerCards": [
            2,
            11,
            5
          ],
          "bankerTotal": 7,
          "playerCards": [
            2,
            2,
            5
          ],
          "playerTotal": 9,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  7. 6
    cards_dealt20062fce-9f56-4daf-ac3a-2d402683a368Sep 1, 2026, 5:24:51 AM UTC
    {
      "outcome": null,
      "ledger_legs": [],
      "round_index": 1,
      "banker_cards": [
        12,
        8
      ],
      "banker_total": 8,
      "player_cards": [
        6,
        13
      ],
      "player_total": 6,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "player_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 979,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "target": "player_hand",
          "natural": true,
          "outcome": "banker_hand",
          "commission": 0,
          "bankerCards": [
            12,
            8
          ],
          "bankerTotal": 8,
          "playerCards": [
            6,
            13
          ],
          "playerTotal": 6,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  8. 7
    bet_settled20062fce-9f56-4daf-ac3a-2d402683a368Sep 1, 2026, 5:24:51 AM UTC
    {
      "gross": 0,
      "stake": 1,
      "target": "player_hand",
      "outcome": null,
      "net_delta": -1,
      "commission": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -1
        }
      ],
      "round_index": 1,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "player_hand"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 979,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "target": "player_hand",
          "natural": true,
          "outcome": "banker_hand",
          "commission": 0,
          "bankerCards": [
            12,
            8
          ],
          "bankerTotal": 8,
          "playerCards": [
            6,
            13
          ],
          "playerTotal": 6,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  9. 8
    action_accepted090d844e-f434-4189-807d-75e61ec58249Sep 1, 2026, 5:25:01 AM UTC
    {
      "action": {
        "type": "bet",
        "stake": 1,
        "target": "tie"
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 2,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "tie"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "awaiting_bet",
        "balance": 979,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "target": "player_hand",
          "natural": true,
          "outcome": "banker_hand",
          "commission": 0,
          "bankerCards": [
            12,
            8
          ],
          "bankerTotal": 8,
          "playerCards": [
            6,
            13
          ],
          "playerTotal": 6,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "bet"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  10. 9
    cards_dealt090d844e-f434-4189-807d-75e61ec58249Sep 1, 2026, 5:25:01 AM UTC
    {
      "outcome": null,
      "ledger_legs": [],
      "round_index": 2,
      "banker_cards": [
        11,
        4,
        3
      ],
      "banker_total": 7,
      "player_cards": [
        7,
        10
      ],
      "player_total": 7,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "tie"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "settled",
        "balance": 987,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": 8,
          "gross": 9,
          "stake": 1,
          "target": "tie",
          "natural": false,
          "outcome": "tie",
          "commission": 0,
          "bankerCards": [
            11,
            4,
            3
          ],
          "bankerTotal": 7,
          "playerCards": [
            7,
            10
          ],
          "playerTotal": 7,
          "wagerResult": "win"
        },
        "legal_actions": [],
        "rounds_played": 3,
        "rounds_remaining": 0,
        "session_complete": true
      }
    }
  11. 10
    bet_settled090d844e-f434-4189-807d-75e61ec58249Sep 1, 2026, 5:25:01 AM UTC
    {
      "gross": 9,
      "stake": 1,
      "target": "tie",
      "outcome": null,
      "net_delta": 8,
      "commission": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -1
        },
        {
          "leg": 1,
          "cause": "settlement",
          "amount": 9
        }
      ],
      "round_index": 2,
      "action_payload": {
        "type": "bet",
        "stake": 1,
        "target": "tie"
      },
      "public_observation": {
        "game": "baccarat",
        "status": "settled",
        "balance": 987,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": 8,
          "gross": 9,
          "stake": 1,
          "target": "tie",
          "natural": false,
          "outcome": "tie",
          "commission": 0,
          "bankerCards": [
            11,
            4,
            3
          ],
          "bankerTotal": 7,
          "playerCards": [
            7,
            10
          ],
          "playerTotal": 7,
          "wagerResult": "win"
        },
        "legal_actions": [],
        "rounds_played": 3,
        "rounds_remaining": 0,
        "session_complete": true
      }
    }

Frozen at session open

Configuration snapshot

Opened Sep 1, 2026, 5:22:05 AM UTC · closed Sep 1, 2026, 5:25:01 AM UTC

Config snapshotJSON
{
  "max_stake": 100,
  "min_stake": 1,
  "max_rounds": 3,
  "starting_points": 1000,
  "banker_stake_divisor": 20
}

Interpret the evidence

Read the record without turning it into a built-in score.

Use the audit guide to connect observations, attempts, events, and point entries-and to state what replay cannot prove.

Open the Session audit guide