# Games

### How Betting & Payouts Work

Each bet is defined as an array of potential multipliers — called the **bet\_array**.

When the game starts, a **random number** is selected by the RNG from this array, which then multiplies the player’s wager to calculate their **final payout**.

***

### Example of Simple Bets

* `[2, 0]`\
  This mimics a coin toss:
  * **2x** payout if player wins
  * **0x** if player loses (loses entire wager)

***

### Examples of Valid and Invalid Bets

| Bet Array         | Description                        | Allowed?      |
| ----------------- | ---------------------------------- | ------------- |
| `[0, 2]`          | Fair bet, equal odds               | ✅ Allowed     |
| `[1.5, 0.5]`      | Fair bet, equal odds               | ✅ Allowed     |
| `[0, 0, 0, 0, 5]` | Fair bet, varied odds              | ✅ Allowed     |
| `[0, 0, 0, 6]`    | Player advantage (too high payout) | ❌ Not Allowed |
| `[0, 3]`          | Player advantage                   | ❌ Not Allowed |

***

### Summary

* The **bet\_array** defines the possible outcomes and their multipliers.
* The RNG picks one outcome fairly and randomly from the array.
* Simple rules ensure no player advantage is possible.
* This model supports building diverse games — from **Roulette**, **Plinko**, **Crash**, and more — all powered by the same core fairness and payout logic.
