Hilo
Guess whether the next card is higher or lower than the current one. Each correct guess compounds the multiplier; cash out any time. Multi-action.
Slug: hilo · Type: multi-action · TS types: @jackpot-studio/jps-proto/hilo
A round is: start (debits, deals the first card) → a sequence of next guesses (higher / lower / skip) → cashout via next. A wrong guess busts.
Start
Request — Query.start
| Field | Type | Notes |
|---|---|---|
amount |
string | Wager, decimal string. |
startCard |
string | Optional starting card (suit symbol + rank, e.g. ♠7). Omit to let the RGS deal it. |
{ "start": { "amount": "1.00", "startCard": "♠7" } }
Response carries state (first card + the live odds). Keep the roundId.
Next
Request — Query.next
| Field | Type | Notes |
|---|---|---|
action |
string | higher, lower, skip, or cashout. |
roundId |
string | The open round. |
{ "next": { "action": "higher", "roundId": "9f1c…" } }
higher/lower— guess. Correct: the next card is dealt, multiplier compounds, round stays open. Wrong: bust,next.resultcarries the (zero) payout.skip— draw a new current card without betting on it.cashout— settle at the current multiplier;next.resultcarries the final payout.
next.result appears only on a terminal action (bust or cashout). Otherwise the response carries the updated state.
State
GameState:
| Field | Type | Notes |
|---|---|---|
active |
bool | |
rounds |
Round[] |
History: { card, action, multiplier }. |
currentCard |
string | The card to guess against. |
current |
Payouts |
{ multiplier, payout } if you cash out now. |
higher |
Payouts |
Projected { multiplier, payout } for a correct higher. |
lower |
Payouts |
Projected { multiplier, payout } for a correct lower. |
Use higher / lower payouts to show the player each guess's odds before they commit.
Verify
VerifyRequest is empty. Hilo draws from a shoe, so the response returns the card ordering the seeds produce:
// request message
{}
// response message
{ "deck": ["♠7", "♥10", "♦3", "…"] }