Skip to content
codex-c

Immutable public audit

keno / v1

closed
a69354e5-9632-404d-9908-513a12b4685c
Session modedeterministicsession account Watch game
session account997 pts

Current isolated session balance

Rounds materialized3

Chronological public rows

Action attempts3

Accepted and rejected

Event sequence10

Gapless from seq 0

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

Policy-declassified deterministic seed: cqa-mti7zvst-keno-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 9.

Ledger entry keysUnique

4 loaded point-entry keys checked.

Point reconciliationReconciled

Ledger total 997 pts; Session balance 997 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

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

00
Round 1153ca43a-2e85-4352-b7af-e100b5eac65d
settledv1
Public stateJSON
{
  "result": {
    "net": -1,
    "gross": 0,
    "stake": 1,
    "source": "manual",
    "matches": 0,
    "numbers": [
      7
    ],
    "drawOrder": [
      50,
      6,
      55,
      52,
      40,
      65,
      14,
      61,
      49,
      8,
      22,
      45,
      77,
      34,
      59,
      30,
      80,
      64,
      39,
      13
    ],
    "multiplier": 0,
    "wagerResult": "loss"
  },
  "status": "settled",
  "progress": {
    "cursor": 30,
    "lastResult": {
      "net": -1,
      "gross": 0,
      "stake": 1,
      "source": "manual",
      "matches": 0,
      "numbers": [
        7
      ],
      "drawOrder": [
        50,
        6,
        55,
        52,
        40,
        65,
        14,
        61,
        49,
        8,
        22,
        45,
        77,
        34,
        59,
        30,
        80,
        64,
        39,
        13
      ],
      "multiplier": 0,
      "wagerResult": "loss"
    },
    "roundsPlayed": 1
  },
  "roundIndex": 0
}
OutcomeJSON
{
  "net": -1,
  "gross": 0,
  "stake": 1,
  "source": "manual",
  "matches": 0,
  "numbers": [
    7
  ],
  "drawOrder": [
    50,
    6,
    55,
    52,
    40,
    65,
    14,
    61,
    49,
    8,
    22,
    45,
    77,
    34,
    59,
    30,
    80,
    64,
    39,
    13
  ],
  "multiplier": 0,
  "wagerResult": "loss"
}

Action attempts

Accepted play17eafe2d-997d-4c60-b5f0-8a13a8c80852
expected v0 · 59 ms
{
  "type": "play",
  "stake": 1,
  "numbers": [
    7
  ]
}

Ledger movements

Synthetic-point ledger movements for round 1
LegTypeAmountEntry key
0wager-1 ptsaction:17eafe2d-997d-4c60-b5f0-8a13a8c80852:0
01
Round 24c4cefcd-16f3-45bb-af18-d9b0f6ce4f0c
settledv2
Public stateJSON
{
  "result": {
    "net": -1,
    "gross": 0,
    "stake": 1,
    "source": "auto_pick",
    "matches": 4,
    "numbers": [
      11,
      17,
      21,
      30,
      35,
      48,
      51,
      59,
      74,
      76
    ],
    "drawOrder": [
      72,
      48,
      22,
      4,
      74,
      77,
      9,
      17,
      34,
      30,
      14,
      70,
      47,
      49,
      3,
      43,
      71,
      15,
      20,
      41
    ],
    "multiplier": 0,
    "wagerResult": "loss"
  },
  "status": "settled",
  "progress": {
    "cursor": 60,
    "lastResult": {
      "net": -1,
      "gross": 0,
      "stake": 1,
      "source": "auto_pick",
      "matches": 4,
      "numbers": [
        11,
        17,
        21,
        30,
        35,
        48,
        51,
        59,
        74,
        76
      ],
      "drawOrder": [
        72,
        48,
        22,
        4,
        74,
        77,
        9,
        17,
        34,
        30,
        14,
        70,
        47,
        49,
        3,
        43,
        71,
        15,
        20,
        41
      ],
      "multiplier": 0,
      "wagerResult": "loss"
    },
    "roundsPlayed": 2
  },
  "roundIndex": 1
}
OutcomeJSON
{
  "net": -1,
  "gross": 0,
  "stake": 1,
  "source": "auto_pick",
  "matches": 4,
  "numbers": [
    11,
    17,
    21,
    30,
    35,
    48,
    51,
    59,
    74,
    76
  ],
  "drawOrder": [
    72,
    48,
    22,
    4,
    74,
    77,
    9,
    17,
    34,
    30,
    14,
    70,
    47,
    49,
    3,
    43,
    71,
    15,
    20,
    41
  ],
  "multiplier": 0,
  "wagerResult": "loss"
}

Action attempts

Accepted auto_pick3934f18c-d508-46f6-8cbe-436c5d7e0fa5
expected v1 · 67 ms
{
  "type": "auto_pick",
  "stake": 1,
  "spot_count": 10
}

Ledger movements

Synthetic-point ledger movements for round 2
LegTypeAmountEntry key
0wager-1 ptsaction:3934f18c-d508-46f6-8cbe-436c5d7e0fa5:0
02
Round 35b5d8764-b65e-4d68-896f-eb568c991ade
settledv3
Public stateJSON
{
  "result": {
    "net": -1,
    "gross": 0,
    "stake": 1,
    "source": "manual",
    "matches": 2,
    "numbers": [
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ],
    "drawOrder": [
      62,
      22,
      73,
      44,
      17,
      78,
      30,
      60,
      28,
      63,
      8,
      13,
      58,
      36,
      29,
      4,
      48,
      14,
      39,
      27
    ],
    "multiplier": 0,
    "wagerResult": "loss"
  },
  "status": "settled",
  "progress": {
    "cursor": 90,
    "lastResult": {
      "net": -1,
      "gross": 0,
      "stake": 1,
      "source": "manual",
      "matches": 2,
      "numbers": [
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ],
      "drawOrder": [
        62,
        22,
        73,
        44,
        17,
        78,
        30,
        60,
        28,
        63,
        8,
        13,
        58,
        36,
        29,
        4,
        48,
        14,
        39,
        27
      ],
      "multiplier": 0,
      "wagerResult": "loss"
    },
    "roundsPlayed": 3
  },
  "roundIndex": 2
}
OutcomeJSON
{
  "net": -1,
  "gross": 0,
  "stake": 1,
  "source": "manual",
  "matches": 2,
  "numbers": [
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10
  ],
  "drawOrder": [
    62,
    22,
    73,
    44,
    17,
    78,
    30,
    60,
    28,
    63,
    8,
    13,
    58,
    36,
    29,
    4,
    48,
    14,
    39,
    27
  ],
  "multiplier": 0,
  "wagerResult": "loss"
}

Action attempts

Accepted play64d82252-541d-4edb-ae5e-70808e54f02c
expected v2 · 117 ms
{
  "type": "play",
  "stake": 1,
  "numbers": [
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10
  ]
}

Ledger movements

Synthetic-point ledger movements for round 3
LegTypeAmountEntry key
0wager-1 ptsaction:64d82252-541d-4edb-ae5e-70808e54f02c:0

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:a69354e5-9632-404d-9908-513a12b4685c:0

Canonical ordering

Domain event stream

Every row is shown in authoritative seq order.

  1. 0
    session_opened153ca43a-2e85-4352-b7af-e100b5eac65dSep 1, 2026, 5:22:04 AM UTC
    {
      "outcome": null,
      "ledger_legs": [],
      "action_payload": null,
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 1000,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 0,
        "latest_result": null,
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 0,
        "rounds_remaining": 3,
        "session_complete": false
      }
    }
  2. 1
    action_accepted153ca43a-2e85-4352-b7af-e100b5eac65dSep 1, 2026, 5:23:10 AM UTC
    {
      "action": {
        "type": "play",
        "stake": 1,
        "numbers": [
          7
        ]
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 0,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          7
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 1000,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 0,
        "latest_result": null,
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 0,
        "rounds_remaining": 3,
        "session_complete": false
      }
    }
  3. 2
    numbers_drawn153ca43a-2e85-4352-b7af-e100b5eac65dSep 1, 2026, 5:23:10 AM UTC
    {
      "matches": 0,
      "numbers": [
        7
      ],
      "outcome": null,
      "draw_order": [
        50,
        6,
        55,
        52,
        40,
        65,
        14,
        61,
        49,
        8,
        22,
        45,
        77,
        34,
        59,
        30,
        80,
        64,
        39,
        13
      ],
      "ledger_legs": [],
      "round_index": 0,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          7
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 999,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "manual",
          "matches": 0,
          "numbers": [
            7
          ],
          "drawOrder": [
            50,
            6,
            55,
            52,
            40,
            65,
            14,
            61,
            49,
            8,
            22,
            45,
            77,
            34,
            59,
            30,
            80,
            64,
            39,
            13
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  4. 3
    bet_settled153ca43a-2e85-4352-b7af-e100b5eac65dSep 1, 2026, 5:23:10 AM UTC
    {
      "gross": 0,
      "stake": 1,
      "outcome": null,
      "net_delta": -1,
      "multiplier": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -1
        }
      ],
      "round_index": 0,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          7
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 999,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "manual",
          "matches": 0,
          "numbers": [
            7
          ],
          "drawOrder": [
            50,
            6,
            55,
            52,
            40,
            65,
            14,
            61,
            49,
            8,
            22,
            45,
            77,
            34,
            59,
            30,
            80,
            64,
            39,
            13
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  5. 4
    action_accepted4c4cefcd-16f3-45bb-af18-d9b0f6ce4f0cSep 1, 2026, 5:24:08 AM UTC
    {
      "action": {
        "type": "auto_pick",
        "stake": 1,
        "spot_count": 10
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 1,
      "action_payload": {
        "type": "auto_pick",
        "stake": 1,
        "spot_count": 10
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 999,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 1,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "manual",
          "matches": 0,
          "numbers": [
            7
          ],
          "drawOrder": [
            50,
            6,
            55,
            52,
            40,
            65,
            14,
            61,
            49,
            8,
            22,
            45,
            77,
            34,
            59,
            30,
            80,
            64,
            39,
            13
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 1,
        "rounds_remaining": 2,
        "session_complete": false
      }
    }
  6. 5
    numbers_drawn4c4cefcd-16f3-45bb-af18-d9b0f6ce4f0cSep 1, 2026, 5:24:08 AM UTC
    {
      "matches": 4,
      "numbers": [
        11,
        17,
        21,
        30,
        35,
        48,
        51,
        59,
        74,
        76
      ],
      "outcome": null,
      "draw_order": [
        72,
        48,
        22,
        4,
        74,
        77,
        9,
        17,
        34,
        30,
        14,
        70,
        47,
        49,
        3,
        43,
        71,
        15,
        20,
        41
      ],
      "ledger_legs": [],
      "round_index": 1,
      "action_payload": {
        "type": "auto_pick",
        "stake": 1,
        "spot_count": 10
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 998,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "auto_pick",
          "matches": 4,
          "numbers": [
            11,
            17,
            21,
            30,
            35,
            48,
            51,
            59,
            74,
            76
          ],
          "drawOrder": [
            72,
            48,
            22,
            4,
            74,
            77,
            9,
            17,
            34,
            30,
            14,
            70,
            47,
            49,
            3,
            43,
            71,
            15,
            20,
            41
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  7. 6
    bet_settled4c4cefcd-16f3-45bb-af18-d9b0f6ce4f0cSep 1, 2026, 5:24:08 AM UTC
    {
      "gross": 0,
      "stake": 1,
      "outcome": null,
      "net_delta": -1,
      "multiplier": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -1
        }
      ],
      "round_index": 1,
      "action_payload": {
        "type": "auto_pick",
        "stake": 1,
        "spot_count": 10
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 998,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "auto_pick",
          "matches": 4,
          "numbers": [
            11,
            17,
            21,
            30,
            35,
            48,
            51,
            59,
            74,
            76
          ],
          "drawOrder": [
            72,
            48,
            22,
            4,
            74,
            77,
            9,
            17,
            34,
            30,
            14,
            70,
            47,
            49,
            3,
            43,
            71,
            15,
            20,
            41
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  8. 7
    action_accepted5b5d8764-b65e-4d68-896f-eb568c991adeSep 1, 2026, 5:24:52 AM UTC
    {
      "action": {
        "type": "play",
        "stake": 1,
        "numbers": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ]
      },
      "outcome": null,
      "ledger_legs": [],
      "round_index": 2,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "awaiting_play",
        "balance": 998,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "auto_pick",
          "matches": 4,
          "numbers": [
            11,
            17,
            21,
            30,
            35,
            48,
            51,
            59,
            74,
            76
          ],
          "drawOrder": [
            72,
            48,
            22,
            4,
            74,
            77,
            9,
            17,
            34,
            30,
            14,
            70,
            47,
            49,
            3,
            43,
            71,
            15,
            20,
            41
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [
          "play",
          "auto_pick"
        ],
        "rounds_played": 2,
        "rounds_remaining": 1,
        "session_complete": false
      }
    }
  9. 8
    numbers_drawn5b5d8764-b65e-4d68-896f-eb568c991adeSep 1, 2026, 5:24:52 AM UTC
    {
      "matches": 2,
      "numbers": [
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ],
      "outcome": null,
      "draw_order": [
        62,
        22,
        73,
        44,
        17,
        78,
        30,
        60,
        28,
        63,
        8,
        13,
        58,
        36,
        29,
        4,
        48,
        14,
        39,
        27
      ],
      "ledger_legs": [],
      "round_index": 2,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "settled",
        "balance": 997,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "manual",
          "matches": 2,
          "numbers": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "drawOrder": [
            62,
            22,
            73,
            44,
            17,
            78,
            30,
            60,
            28,
            63,
            8,
            13,
            58,
            36,
            29,
            4,
            48,
            14,
            39,
            27
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [],
        "rounds_played": 3,
        "rounds_remaining": 0,
        "session_complete": true
      }
    }
  10. 9
    bet_settled5b5d8764-b65e-4d68-896f-eb568c991adeSep 1, 2026, 5:24:52 AM UTC
    {
      "gross": 0,
      "stake": 1,
      "outcome": null,
      "net_delta": -1,
      "multiplier": 0,
      "ledger_legs": [
        {
          "leg": 0,
          "cause": "wager",
          "amount": -1
        }
      ],
      "round_index": 2,
      "action_payload": {
        "type": "play",
        "stake": 1,
        "numbers": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ]
      },
      "public_observation": {
        "game": "keno",
        "status": "settled",
        "balance": 997,
        "version": 1,
        "max_stake": 100,
        "min_stake": 1,
        "round_index": 2,
        "latest_result": {
          "net": -1,
          "gross": 0,
          "stake": 1,
          "source": "manual",
          "matches": 2,
          "numbers": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ],
          "drawOrder": [
            62,
            22,
            73,
            44,
            17,
            78,
            30,
            60,
            28,
            63,
            8,
            13,
            58,
            36,
            29,
            4,
            48,
            14,
            39,
            27
          ],
          "multiplier": 0,
          "wagerResult": "loss"
        },
        "legal_actions": [],
        "rounds_played": 3,
        "rounds_remaining": 0,
        "session_complete": true
      }
    }

Frozen at session open

Configuration snapshot

Opened Sep 1, 2026, 5:22:04 AM UTC · closed Sep 1, 2026, 5:24:52 AM UTC

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

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