Channel
verifying on-chain…
Channel
verifying on-chain…
v14 · Channel #917
+$5.07
whole session · 5 epochs · 47 rounds · 335 steps · $110.00 wagered
final epoch −$14.87 · earlier epochs +$19.94
Settled on-chain. The written walk-through below is skipped for this session — its game trees are large enough that rebuilding them server-side would stall the page. The panel above verifies the whole thing in your browser instead, which is the authoritative check anyway.
Verified in your browser
Re-deriving every check from chain reads in this browser — reconstructing the game trees, re-rolling the seed, recovering the signature…
Don't trust this site's RPC either? Paste any HyperEVM RPC URL and re-run — the verification then never touches this site. The algorithm is verifyChannel in @freeroll/sdk — run it yourself from a terminal for zero trust in this page.
Parameters chain
Session epochs
This channel re-armed itself mid-session 4 times: each checkpoint settled the epoch's net, revealed its seed, and committed a fresh one — one continuous session, several sealed proofs. Every epoch below is replayed from its checkpoint transaction's signed stream — rolls re-derived, nets recomputed, signatures recovered ✓ and the chain of commitments anchors to the on-chain channel state. Every settled figure below is decoded from the checkpoint transaction's own event — never this site's database.
Proof of randomness · final epoch
This session played games with large sealed trees (thousands of nodes), and rebuilding them from chain words server-side would hold this page open past its limit — so the written round-by-round walk-through is skipped here. Nothing is missing from the proof: the panel at the top of the page runs the identical seven checks in your browser, where there is no such limit, and that is the verdict that counts. The committed inputs are below if you want to replay it yourself.
Seed commitment (bound at open)
0x640d3e76f1218051537011ca1cea881d3b0a2cb815c8ba1e7dc713920e4655a0
Client seed (your entropy, bound at open)
0x66198c7a6d75952e2028cca50ef33736d8bec6f88f40368126b615a6a3d1524c
Round 1 · played against Streak 32× — sealed tree #72game stats →
fold t1 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t2 · you chose option 1 of 2 · worth 2.00× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 2 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t4 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t5 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t6 · you chose option 1 of 3 · worth 0.79× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t7 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 3 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t9 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t10 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t11 · you chose option 1 of 3 · worth 0.49× under optimal play · best free option was 0.68× — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 4 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t14 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t15 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t16 · you chose option 2 of 3 · worth 0.71× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 5 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t21 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t22 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t23 · you chose option 2 of 3 · worth 0.98× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 6 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t28 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t29 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t30 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 7 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t34 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t35 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t36 · you chose option 1 of 3 · worth 1.77× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 8 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t39 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t40 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t41 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 9 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t43 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t44 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t45 · you chose option 1 of 3 · worth 0.85× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 10 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t48 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t49 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t50 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 1 of 3 · worth 0.58× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 11 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t54 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t55 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t56 · you chose option 3 of 3 · worth 2.29× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t57 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 12 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t60 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t61 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t62 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 2 of 3 · worth 0.57× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 13 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t66 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t67 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t68 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 2 of 3 · worth 0.57× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 14 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t72 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t73 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t74 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 3 of 3 · worth 2.18× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 15 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t79 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t80 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t81 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 3 of 3 · worth 1.53× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 16 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t86 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t87 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t88 · you chose option 1 of 3 · worth 0.49× under optimal play · best free option was 0.58× — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t89 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 17 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t91 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t92 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t93 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 2 of 3 · worth 0.57× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 18 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t99 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t100 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t101 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 19 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t105 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t106 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t107 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 3 of 3 · worth 2.18× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 20 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t112 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t113 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t114 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
· you chose option 3 of 3 · worth 1.99× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 1 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t1 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t2 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t3 · you chose option 3 of 3 · worth 2.35× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t4 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t5 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 2 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t7 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t8 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t9 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 1 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t1 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t2 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t3 · you chose option 1 of 3 · worth 0.58× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t4 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 2 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t6 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t7 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t8 · you chose option 2 of 3 · worth 0.68× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t9 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 3 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t13 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t14 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t15 · you chose option 1 of 3 · worth 0.75× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 4 · played against Blackjack (3:2) — sealed tree #96game stats →
fold t18 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t19 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t20 · you chose option 3 of 3 · worth 2.10× under optimal play · for 100% more stake — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t21 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 5 · played against Mines (Classic) — sealed tree #26game stats →
fold t24 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t25 · you chose option 2 of 2 · worth 1.12× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t26 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t27 · you chose option 2 of 2 · worth 1.28× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t28 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t29 · you chose option 2 of 2 · worth 1.47× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 1 · played against Mines (Risky) — sealed tree #27game stats →
fold t1 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 2 · played against Mines (Risky) — sealed tree #27game stats →
fold t3 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 3 · played against Mines (Risky) — sealed tree #27game stats →
fold t5 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t6 · you chose option 2 of 2 · worth 1.23× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t7 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t8 · you chose option 2 of 2 · worth 1.56× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t9 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t10 · you chose option 1 of 2 · worth 1.99× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
Round 4 · played against Flip 50% — sealed tree #13game stats →
fold t12 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 5 · played against Flip 50% — sealed tree #13game stats →
fold t14 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 6 · played against Flip 50% — sealed tree #13game stats →
fold t16 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 7 · played against Flip 50% — sealed tree #13game stats →
fold t18 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 8 · played against Flip 50% — sealed tree #13game stats →
fold t20 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 9 · played against Flip 75% — sealed tree #18game stats →
fold t22 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 10 · played against Flip 95% — sealed tree #22game stats →
fold t24 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 11 · played against Flip 95% — sealed tree #22game stats →
fold t26 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 12 · played against Flip 95% — sealed tree #22game stats →
fold t28 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 13 · played against Flip 95% — sealed tree #22game stats →
fold t30 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 14 · played against Flip 95% — sealed tree #22game stats →
fold t32 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 15 · played against Flip 95% — sealed tree #22game stats →
fold t34 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 16 · played against Flip 95% — sealed tree #22game stats →
fold t36 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 17 · played against Limbo 2× — sealed tree #42game stats →
fold t38 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 18 · played against Limbo 2× — sealed tree #42game stats →
fold t40 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 19 · played against Limbo 10× — sealed tree #48game stats →
fold t42 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
Round 20 · played against Limbo 10× — sealed tree #48game stats →
fold t44 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t12 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t17 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t18 · you chose option 2 of 2 · worth 0.49× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t19 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t24 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t25 · you chose option 1 of 2 · worth 0.71× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t26 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t31 · you chose option 1 of 3 · worth 0.46× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t32 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t37 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t46 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t52 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t58 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t64 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t70 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t76 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t77 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t83 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t84 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t95 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t96 · you chose option 1 of 2 · worth 1.06× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t97 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t102 · you chose option 1 of 3 · worth 1.66× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t103 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t109 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t110 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t116 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t117 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t10 · you chose option 1 of 2 · worth 1.59× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t11 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t16 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t22 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
fold t30 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t31 · you chose option 2 of 2 · worth 1.70× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.
fold t32 · roll = keccak256(serverSeed ‖ clientSeed ‖ channelId ‖ t) mod 10000
t33 · you chose option 1 of 2 · worth 1.99× under optimal play · the best option available — no roll here, the choice was yours. Values come from the sealed tree itself.