Wheel
Spin a wheel divided into segments; it lands on one and pays its multiplier. Single-action.
Slug: wheel · Type: single-action · TS types: @jackpot-studio/jps-proto/wheel
Choose how many segments the wheel has and a difficulty. More segments and higher difficulty spread the payouts wider.
Bet
Request — Query.bet
| Field | Type | Notes |
|---|---|---|
amount |
string | Wager, decimal string. |
segments |
enum Segments |
SEGMENTS_10 … SEGMENTS_50 (values 10/20/30/40/50). |
difficulty |
enum Difficulty |
DIFFICULTY_LOW (1), DIFFICULTY_MEDIUM (2), DIFFICULTY_HIGH (3). |
{ "bet": { "amount": "1.00", "segments": 30, "difficulty": 2 } }
Response — Result.bet
| Field | Type | Notes |
|---|---|---|
outcome |
int | The landed segment index. |
segments |
enum | Echo of the wheel config. |
difficulty |
enum | Echo of the difficulty. |
result |
object | { payout, multiplier }. |
{
"metadata": { "balance": "101.50", "roundId": "9f1c…" },
"bet": { "outcome": 14, "segments": 30, "difficulty": 2, "result": { "payout": "1.50", "multiplier": "1.5" } }
}
State
GameState: { outcome, segments, difficulty }.
Verify
VerifyRequest needs the wheel config so the landed segment matches.
| Field | Type |
|---|---|
difficulty |
enum |
segments |
enum |
// request message
{ "difficulty": 2, "segments": 30 }
// response message
{ "outcome": 14, "segments": 30, "difficulty": 2, "multiplier": 1.5 }