1
You paste a tx signature (or hit "most recent spin"). The page hits public X1 RPC: getTransaction(sig).
2
Inside the transaction, the capyslot program logs the spin result as a single line β SPIN reels=[X,Y,Z] mult=N bet=B payout=P slot=S. We parse it.
3
The seed slot recorded in that log is the X1 SlotHashes sysvar entry the program used. That hash is the chain's own β nobody, including the operator, can change it after the fact.
4
Reels are derived from
keccak-mix(slot_hash || player_pubkey || nonce || bet) then
byte mod 6 per reel. Same input, same output, always. The math is in
the contract source.
5
Payout = bet Γ multiplier from the public paytable: 3Γ7οΈβ£=50Γ, 3Γπ¦«=25Γ, 3Γπ=15Γ, any other triple=8Γ, two 7s=3Γ, two capys=2Γ. EV = 189/216 β 0.875 β ~12.5% house edge, shown openly.