For each stretch, trap positions are derived from HMAC_SHA256(serverSeed, clientSeed:nonce:cursor) where cursor advances per draw. Server seed hash is published before the round and the full seed is revealed after, so every trap layout is independently verifiable.