MULTI-ENGINE SUITE · B2B

The protocol

A notary for gaming sessions: the game stays on the operator's servers, the proof goes on-chain.

OperatorOperator APITRUVault (Polygon)Player / auditor1 · open session + hash(ServerSeed)2 · seed fingerprint published, ClientSeed3 · spins: outcome = HMAC(ServerSeed, ClientSeed:Nonce)4 · close session5 · anchor Merkle root + seed hash + metadata hash6 · ServerSeed reveal7 · recompute outcome, leaf, proof → compare with root8 · OK (or FAIL if anything was altered)
D-A · Commit–reveal sequence (source: true-slotchain.pdf; LEAF_AND_COMMIT_REVEAL.md)
ServerSeed+ ClientSeed:NonceHMAC-SHA256byte streamblock 1 ‖ block 2 ‖ …engine: reads bytesdeterministicallyspin outcome(reels, cascades, respins)If more bytes are needed the stream is extended with further chained HMAC blocks. Same inputs → same result.
D-C · From HMAC stream to outcome (source: 04-Testi-Commerciali.txt, FAQ)
Merkle rootanchored on TRUVaultH(12)H(34)Leaf 1nonce 1Leaf 2nonce 2Leaf 3nonce 3Leaf 4nonce 4leaf = keccak256(session, nonce, player, bet, win, outcomeHash)If leaf 3's win is changed after closing, its hash changes and the proof no longer matches the root: FAIL.
D-B · Session Merkle tree (source: true-slotchain.pdf)
OFF-CHAIN · operator serversON-CHAIN · Polygongame logic6 enginesspin detailsbets, wins, outcomesoff-chain logs: retention is theoperator's duty (licence requirement)TRUVaultMerkle root · seed hashmetadata hash (bytes32)18-day dispute windowproof
D-D · What stays off-chain and what goes on-chain (source: true-slotchain.pdf; K-TC FAQ)
openspinsclose + anchorday 18: window endsdispute possible (18 days on-chain)After the window the proof stays on-chain; licence-required log retention remains with the operator.
D-E · Session timeline and 18-day window (source: K-TC FAQ)

Specifications

OutcomeHMAC-SHA256(ServerSeed, ClientSeed:Nonce)
Leafkeccak256(session, nonce, player, bet, win, outcomeHash)
On-chainMerkle root, seed hash, metadata hash (bytes32) in the TRUVault contract
NetworkPolygon (testnet Amoy / mainnet). The public demo anchors on testnet; production network and address are not published and are shared with the operator during integration.
Dispute18 days on-chain from proof submission
StackSolidity 0.8.24 · Foundry · shared TypeScript libraries with identical test vectors
Demoanchoring in demonstration («showcase») mode, demo seed revealed

What it protects against

After-the-fact changes to bets, wins or outcomes; silent seed change after opening; fake inclusion proofs; spins recorded after closing (the API rejects them).

Sources: true-slotchain.pdf; true-slotchain-tecnica.pdf; LEAF_AND_COMMIT_REVEAL.md; THREAT_MODEL_v0.2.md; K-TC FAQ

Technical dossier: available on request. Request it →