> ## 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.

# GraphQL — betResult / betResults

> Fetch result, payout, and Groth16 proof for one bet or a batch — the poll fallback to the socket.

Same payload the socket pushes (`bets:update`), fetched on demand. Use these as the fallback when you can't hold a socket open, or for claim back-fills.

## Single bet

```graphql GraphQL theme={"theme":"css-variables"}
query ($chainId: Int!, $betId: String!) {
  betResult(chainId: $chainId, betId: $betId) {
    betId
    status
    won
    payout
    stake
    liability
    entropy
    proof
    commitment
    clientSeed
    houseWinAmount
    forcedTimeout
    claimAsset
    placeTxHash
    settleTxHash
    claimTxHash
  }
}
```

| Arg       | Type      | Notes                                                   |
| --------- | --------- | ------------------------------------------------------- |
| `chainId` | `Int!`    | From [`networkConfigs`](/api-reference/network-configs) |
| `betId`   | `String!` | Decimal integer string                                  |

## Batch

```graphql GraphQL theme={"theme":"css-variables"}
query ($chainId: Int!, $betIds: [String!]!) {
  betResults(chainId: $chainId, betIds: $betIds) {
    chainId
    results {
      betId
      ok
      error
      result {
        status
        won
        payout
        entropy
        proof
      }
    }
  }
}
```

Max **25** ids per request (`too_many_bet_ids` beyond that). Each item resolves independently: `ok: false` with an `error` string for that bet doesn't fail the batch — ideal for history claim back-fills feeding [`claimBets`](/integrate/claiming).

## BetResult fields

| Field                                        | Type                  | Meaning                                                                                 |
| -------------------------------------------- | --------------------- | --------------------------------------------------------------------------------------- |
| `t`                                          | `String!`             | Update kind: `bet_placed` / `bet_result` / `bet_settled` / `bet_claimed`                |
| `chainId` / `networkId`                      | `Int!` / `NetworkId!` | Network identity                                                                        |
| `betId`, `player`, `mode`, `commitId`        | —                     | Bet identity (`mode`: 0 Strike, 1 Range, 2 Ladder)                                      |
| `status`                                     | `String!`             | `pending` \| `computed` \| `settled` \| `claimed`                                       |
| `stake`, `liability`, `payout`               | `String`              | USDG units as decimal strings                                                           |
| `won`                                        | `Boolean`             | Outcome flag once computed                                                              |
| `entropy`                                    | `String`              | Hex PF entropy — input to `claimWithProof`                                              |
| `proof`                                      | `String`              | Hex Groth16 proof bytes, or `null` when unavailable (fall back to seed-reveal claiming) |
| `commitment`, `clientSeed`                   | `String`              | Public proof inputs for verification                                                    |
| `houseWinAmount`, `forcedTimeout`            | —                     | Settle detail; `forcedTimeout: true` marks a refund                                     |
| `claimAsset`                                 | `String`              | `usdg` \| `chance` once claimed                                                         |
| `placeTxHash`, `settleTxHash`, `claimTxHash` | `String`              | Chain anchors                                                                           |
| `platform`, `game`, `placedAt`, `error`      | `String`              | Attribution and metadata                                                                |

<Note>
  Payloads never include the server seed. `proof` and `entropy` are public data — safe to display, and only the bettor's wallet can use them in a claim.
</Note>

Errors (`bet_not_found`, `network_not_configured`, `bet_realtime_unavailable`): see [Errors & limits](/api-reference/errors-and-limits).
