> For the complete documentation index, see [llms.txt](https://docs.overtime.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overtime.io/overtime-casino/games/quick-games/video-poker.md).

# Video Poker

Jacks or Better, the classic. Get five cards, hold the ones you want, draw new ones for the rest, and get paid on your final poker hand. Two VRF requests, one verifiable shoe.

***

### How it works

Overtime Video Poker uses a two-stage VRF flow — one request to deal, one to draw:

1. **Place bet** — you ante up. The contract requests its first VRF word and deals you **five cards**. The hand enters your turn.
2. **Draw** — you choose which cards to **hold** (any subset of the five), then submit. The contract requests a second VRF word, replaces every non-held card with a fresh one, evaluates the final five-card hand, and pays out.

Your replacement cards do not exist until you've committed your hold decision. The second VRF request is what generates them — so there's no way for the draw to be pre-determined or for anyone to peek at what you'd draw before you decide what to keep.

The hand is evaluated against the standard Jacks-or-Better paytable. A pair only pays if it's Jacks or better; anything lower is a loss.

***

### Paytable

This is an **8/5 Jacks or Better** machine — meaning Full House pays 8 and Flush pays 5. Multipliers are "for 1" (total return per unit staked on a win):

| Hand                   | Multiplier               |
| ---------------------- | ------------------------ |
| Royal Flush            | 500×                     |
| Straight Flush         | 50×                      |
| Four of a Kind         | 25×                      |
| Full House             | 8×                       |
| Flush                  | 5×                       |
| Straight               | 4×                       |
| Three of a Kind        | 3×                       |
| Two Pair               | 2×                       |
| Jacks or Better (pair) | 1× (stake back — a push) |
| Anything less          | Loss                     |

Under optimal play, this paytable returns about **96.5%**, for a house edge near **3.5%** — better than a standard single-coin machine (which pays Royal at 250 for \~96.15%) and close to the 5-coin variant, but with single-coin simplicity.

A Royal Flush pays 500×, which is also the contract's maximum payout multiplier — every bet reserves `500 × stake` against the bankroll up front, so each bet's worst case is covered at placement. (Reservations are per-bet rather than cumulative; see the architecture page for how the shared treasury and its circuit breaker manage risk across all games.)

***

### Strategy is real

Video Poker is one of the few casino games where your decisions materially change your expected return. Holding the right cards — keeping a low pair over a single high card, chasing a flush draw when the math supports it — is the difference between the 96.5% optimal RTP and something considerably worse. The contract enforces the rules and pays the paytable; the hold decision is entirely yours, and it matters.

***

### Limits

| Parameter      | Value                                  |
| -------------- | -------------------------------------- |
| Minimum bet    | 3 USD (configurable per game via core) |
| Paytable       | 8/5 Jacks or Better, single coin       |
| Maximum payout | 500× (Royal Flush)                     |
| Optimal RTP    | \~96.5% (house edge \~3.5%)            |
| Cancellation   | Admin/resolver only                    |

Supported collaterals: **USDC**, **WETH**, **$OVER**. Free bets supported via the `isFreeBet` flag on `placeBet`.

***

### User guide

#### 1. Open Video Poker

Select **Video Poker** from the casino lobby. Set your stake and collateral.

#### 2. Deal

Click **Deal**, sign the transaction. The first VRF request deals your five cards.

#### 3. Hold

Tap the cards you want to keep. The paytable is on screen so you can see what each potential hand pays.

#### 4. Draw

Submit your hold. The second VRF request replaces your non-held cards, the final hand is evaluated, and the result is shown.

#### 5. Payout

If your final hand is Jacks-or-Better or higher, your payout is transferred in the same transaction. The initial deal, your hold mask, the final hand, and the hand class are all recorded on-chain.

***

### Why this matters

Every online Video Poker machine asks you to trust that the deck is fair and the draw isn't rigged against a hand that's one card away from a Royal. Overtime's two-stage VRF means your draw cards are generated *after* you lock your holds, from an independent verifiable random word. The deck isn't a server-side object you can't see — it's the deterministic consequence of two Chainlink random words, and the paytable that decides your payout is a set of public constants in the contract. The strategy is yours; the fairness is verifiable.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.overtime.io/overtime-casino/games/quick-games/video-poker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
