Skip to main content
The logs an integrator or indexer needs for the bet lifecycle, fairness verification, and staking UX. Admin/config events are omitted.

Enums in logs

Events encode enums as uint8:

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 of availableBankroll, pendingPayoutLiability, effectiveMaxMultiplierBps, maxBetCap, and maxBetLiabilityCap.
Index BankrollSync instead of polling views: a bet ticket UI can quote every constraint from this one log stream with no eth_calls.