> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chance.money/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> ChancePool, the staker bankroll, and Uniswap V4 — the protocol from a player's point of view.

Players bet **USDG** against **ChancePool**, a single contract that is the bankroll, the bet escrow, the settlement engine, and a Uniswap V4 hook all at once. Stakers fund the bankroll players play against; winners choose to claim in USDG or in CHANCE.

| Component                         | Role for players                                                                                                   |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **ChancePool**                    | Escrows stakes, reserves payout liability, settles bets from verified entropy, pays USDG wins from bankroll cash   |
| **Uniswap V4 pool (CHANCE/USDG)** | Fills claim-as-CHANCE buys via the pool's internal swap path; public CHANCE→USDG sells go through the V4 router    |
| **Stakers**                       | Deposit USDG into ChancePool and take the other side of every bet — they earn on house wins and absorb player wins |

<Info>
  Expected value is **fixed at deploy time and immutable**: v1 pools ship at **EV = 0.85**, meaning a bet with stake `B` returns `0.85 × B` in expectation (a 15% house edge). No owner or operator key can retune the odds of a live pool.
</Info>

## A bet's life

1. **Place** — you call `placeStrike`, `placeRange`, or `placeLadder` with your USDG stake, a `clientSeed`, and the current epoch's `expectedCommitId`. The pool escrows your stake and reserves the maximum payout against the bankroll.
2. **Settle** — entropy is derived from the epoch's committed server seed plus your `clientSeed` and `betId`. Settlement is trustless: either a ZK proof of the entropy (`settleWithProof`) or the revealed seed after the epoch closes. No key can assert an outcome. See [Provably fair](/protocol/provably-fair).
3. **Claim** — winners call `claim` / `claimWithProof` and pick USDG (paid from bankroll cash) or CHANCE (the full payout is spent buying CHANCE on the V4 pool, delivered to your wallet). See [Claiming](/integrate/claiming).

## Bankroll and staking

The bankroll is staker capital. Everything that limits a bet — max stake, max liability, the effective payout multiplier — is derived from `availableBankroll()`, the pool's free USDG after reserved liabilities and pending claims. When the house wins, proceeds (minus a 1% protocol fee on house-win amounts) flow to stakers; when a player nets a profit, the loss is socialized across staker positions. Details in [Staking](/staking/overview).

## What's in this section

* [Bet modes](/protocol/bet-modes) — Strike, Range, and Ladder payout shapes
* [Bet constraints](/protocol/bet-constraints) — every gate a place call must pass
* [Provably fair](/protocol/provably-fair) — the commit–reveal design and how to verify
* [Contract methods](/protocol/contract-methods) — the player-path call surface
* [Events](/protocol/events) — logs for indexing and debugging
