Enums in logs
Events encode enums asuint8:
Bet lifecycle
BetPlaced
Solidity
Strike’s
multipleBps and mode bucket arrays are not in the event - read getBet / getTieredBetterBuckets / getShuffleBuckets or the place calldata.
BetSettled
Solidity
This is the terminal outcome for a bet; wins and refunds still need a claim. Partial claims can leave status
Settled until the remaining payout is drained.
ClaimedUsd / ClaimedChance
Solidity
remaining is the unclaimed payout left after this call (0 = fully drained, status → Claimed). ClaimedChance.usdSpent is the USD slice claimed (pre-fee); chanceOut is what landed in the player’s wallet from the net V4 buy. In a batch claimBets, one buy covers all bets and chanceOut is attributed pro-rata by net USD.
Epochs (fairness)
Solidity
Never expect the seed in a rotate transaction - happy-path rotation is
EpochClosed + EpochOpened with the reveal coming later via settleWithSeed or revealEpoch.
Staking
Solidity
UnstakeRequested.unlockAt drives the exit countdown UI; a tranche can also unlock earlier when SettledWatermarkAdvanced(settledThroughCommitId) passes the request epoch, or when no settleable pre-request bets remain. See Deposit & withdraw.
Live quote data
BankrollSync
Emitted after every place, settle, claim, and stake movement - a full snapshot ofavailableBankroll, pendingPayoutLiability, effectiveMaxMultiplierBps, maxBetCap, and maxBetLiabilityCap.