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 Ladder’s bucket payouts/masses are not in the event — read getBet / getLadderBuckets or the place calldata.

BetSettled

Solidity
This is the terminal outcome for a bet; wins and refunds still need a claim.

ClaimedUsd / ClaimedChance

Solidity
One of these completes the lifecycle (status → Claimed). ClaimedChance.usdSpent is the bet payout spent on the V4 buy; chanceOut is what landed in the player’s wallet. In a batch claimBets, one buy covers all bets and chanceOut is attributed pro-rata.

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; the request can also unlock earlier when SettledWatermarkAdvanced(settledThroughCommitId) passes the staker’s request epoch. See Deposit & withdraw.

Live quote data

BankrollSync

Emitted after every place, settle, claim, and stake movement — a full snapshot of availableBankroll, pendingPayoutLiability, effectiveMaxMultiplierBps, maxStakeCap, 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.