Skip to main content
Curated player and integrator methods on ChancePool. Admin and keeper methods (epoch rotation, params, pause) are intentionally omitted.

Place

All three share the same tail: clientSeed (non-zero), expectedCommitId (must equal currentCommitId()), optional affiliate (zero address = none), and optional platform / game attribution strings (≤ 64 bytes, emit-only). Each returns the new betId.

placeStrike

Solidity

placeRange

Solidity

placeLadder

Solidity

Claim

All claim methods are bettor-only (msg.sender must be the bet’s player) and share the payout choice: claimAsChance = false pays USDG from bankroll cash; true spends the full payout buying CHANCE on the V4 pool and transfers it to your wallet, with minChanceOut as the slippage floor. Losses never revert a claim — a settled zero-payout bet is a silent no-op. USDG claims revert InsufficientBankroll if the pool’s free cash cannot cover the payout.

Stake (bankroll)

Views you’ll use

Permissionless settlement

settleBet(betId), settleBets(betIds), settleWithSeed(betId, serverSeed), settleWithProof(betId, entropy, proof), and forceRefundOnTimeout(betId) are callable by anyone — settlement never depends on the operator being online. In practice the claim methods above fold settlement into the claim transaction, so most integrations never call these directly.