> 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/table-games/three-card-poker.md).

# Three Card Poker

Three cards each, you versus the dealer. Decide whether your hand is worth playing, with an optional Pair Plus side bet that pays on its own regardless of the dealer. Two VRF requests keep the dealer's hand genuinely hidden.

***

### How it works

Overtime Three Card Poker uses a two-stage VRF flow so the dealer's cards are not on-chain before you decide:

1. **Place bet** - you post an **Ante**, and optionally a **Pair Plus** side bet. The contract requests its first VRF word and deals you **three cards**. (If you played Pair Plus, it settles right here, off your own three cards.)
2. **Play or Fold** - having seen your hand, you choose to **Play** (matching your Ante with a Play bet) or **Fold** (surrendering the Ante). If you Play, the contract requests a second VRF word, deals the **dealer's three cards**, compares hands, and resolves.

The dealer's cards are drawn from the *second* VRF request - they literally do not exist in contract storage while you're deciding whether to Play or Fold. This closes the door on any `eth_getStorageAt` exploit where a sophisticated player could read the dealer's hand before committing.

***

### Hand rankings (3-card)

Three-card poker uses its own ranking order, because probabilities differ with only three cards. Notably, **a straight beats a flush** here - straights are rarer than flushes in three-card hands:

1. Straight Flush (highest)
2. Three of a Kind
3. Straight
4. Flush
5. Pair
6. High Card (lowest)

***

### The dealer qualifier

The dealer must have **Queen-high or better** to qualify.

* **Dealer doesn't qualify** → your Ante pays even money and your Play bet pushes (returned).
* **Dealer qualifies, you win** → both Ante and Play pay even money (1:1).
* **Dealer qualifies, you lose** → both Ante and Play are lost.
* **Tie** → push.

***

### Ante Bonus

The Ante Bonus pays on strong hands **regardless of the dealer** - even if you lose the hand or the dealer doesn't qualify. It's a pure bonus on top of the Ante, paid on:

| Hand            | Ante Bonus |
| --------------- | ---------- |
| Straight Flush  | 5:1        |
| Three of a Kind | 4:1        |
| Straight        | 1:1        |

***

### Pair Plus (optional side bet)

Pair Plus is bet at the start and resolves entirely off your own three cards - the dealer is irrelevant. It wins if you're dealt a pair or better:

| Hand            | Pair Plus payout |
| --------------- | ---------------- |
| Straight Flush  | 40:1             |
| Three of a Kind | 30:1             |
| Straight        | 6:1              |
| Flush           | 4:1              |
| Pair            | 1:1              |
| High card       | Loss             |

Pair Plus settles at the deal (the first VRF request), before you even decide to Play or Fold. Both paytables are locked in the contract and calibrated for a guaranteed house edge of at least 2%.

***

### Limits

| Parameter        | Value                                                      |
| ---------------- | ---------------------------------------------------------- |
| Minimum bet      | 3 USD (configurable per game via core)                     |
| Dealer qualifier | Queen-high or better                                       |
| Ante Bonus       | SF 5:1 / Trips 4:1 / Straight 1:1                          |
| Pair Plus        | SF 40:1 / Trips 30:1 / Straight 6:1 / Flush 4:1 / Pair 1:1 |
| Cancellation     | Admin/resolver only                                        |

Supported collaterals: **USDC**, **WETH**, **$OVER**. Free bets are supported through a dedicated `placeBetWithFreeBet` entry point - but **Pair Plus cannot be played with a free bet** (the side-bet stake can't be cleanly settled through the free-bet system).

***

### User guide

#### 1. Open Three Card Poker

Select **Three Card Poker** from the casino lobby.

#### 2. Place Ante (and optional Pair Plus)

Set your Ante. Optionally add a Pair Plus side bet. Choose collateral and confirm.

#### 3. See your three cards

The first VRF request deals your hand. If you played Pair Plus, you'll see it settle immediately based on your three cards.

#### 4. Play or Fold

Decide whether your hand is worth matching your Ante. Play to continue to the dealer; Fold to surrender the Ante.

#### 5. Dealer reveal and resolution

If you Play, the second VRF request deals the dealer's hand. Hands are compared, the qualifier is checked, the Ante Bonus is applied, and everything resolves in one transaction.

***

### Why this matters

The whole game hinges on a single information asymmetry: you decide whether to Play *before* you see the dealer's hand. If the dealer's cards were sitting in contract storage during your decision, a determined player could read them and never lose - and the game would be broken. Overtime's two-VRF design means the dealer's hand is generated only after you commit, from an independent random word. The qualifier, the rankings, the Ante Bonus, and the Pair Plus paytable are all fixed in code. You get exactly the game you think you're playing.


---

# 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/table-games/three-card-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.
