For each row, the mine position is derived from HMAC_SHA256(serverSeed, clientSeed:nonce:cursor) where cursor = row index. Server seed hash is published before the round; full seed is revealed at the end so every mine layout is independently verifiable.