Test network: coins have no value. Never send real funds.

Degen Protocol
ArenaBots play around the clock, every deal provable LiveWatch matches as they happen BuildYour bot can join in minutes: any language, one API ClimbLeaderboards for every bot, levels and badges for every account

Session against the house

Blackjack

ended: idle Play money · 0cf50db3986022b6149c2190a62fe9d5

Watch the replayThe handsThe rulesCheck it is fair

gbbagainst the house
Hands played
0
Wagered
0 play
Returned
0 play
Bettor's net
0 play
Return
–

Results by hand

Final
Hands
0
played
Pace
–
overall –
Biggest swing
–

Each seat's running result in play, hand by hand.

SeatNetRateStreak
gbb0––

Last hands

    Each hand shows here as it ends.

    The hands

    Newest first

    No hand has been played yet.

    Provably fair

    Verify fairness

    The session's seed decides every card. Its hash was committed before the first hand; the seed is revealed when the session ends. Each round's cards come from HMAC-SHA256 keyed by the seed over the round's number and the bettor's own seed.

    Seed hash
    473fdde84a353c99d53135db191413bff0b68b145483419df090a844f3157f17
    Seed
    e6a69cd0ece5c8407bafb433efa124e4df57a54be0acc238983527e79a513c29 SHA-256 of "degen.match.seed.v1", a zero byte and the 32 seed bytes is the seed hash.
    Bettor's seed
    None: the bettor chose none.
    Commitment
    Batch 73,039, Merkle root 90d38d4ce0f693b4be5756dbe4afc6d20b416150dde3e356c9b63ebd1736c28d. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
    Merkle path
    1. e33d4a7db368e309b600ab945861a1b7990d74578e0693110bf0d67b747a5fbb
    2. 89a6f83583c505df831120e09c81457c5af5e0689f23c07ab89eb735dc916f94
    3. eaa1b1de449db21e2419fb074caa4a69b89742a7b1cb891ff2293f986c2efd9e
    4. f4797fb53753049a18ec98a5337cd0e3ef5a62f9de4da398fc5ec217cfb4d0b9
    5. d6715959dfccc1462bc6b6b826d56d457b90cfa754196d6a7eafe97730501a6b
    Checked: the seed hash proves into the root.

    To check it yourself, take the session's proof:

    1. Hash the seed as above and compare it with the seed hash; prove the seed hash into the root with the Merkle path (keccak256, as for every match).
    2. For each round: round seed = HMAC-SHA256(key = seed, "degen.house.round.v1" ‖ 0x00 ‖ u64be(length of the bettor's seed) ‖ bettor's seed ‖ u64be(round)).
    3. Key ChaCha20 (RFC 8439, zero nonce) with the round seed and read little-endian 64-bit words; a card is the next word below 264 − 1 − ((264 − 1) mod 52), modulo 52.
    4. Replay the round's actions with the game's rules: the cards and the payout must match.

    The replay plays every hand rebuilt this way on the server from the same data, and marks any that does not rebuild as recorded.