Wallet
Wallet calls
What we send to your wallet and the answers we expect.
POST
{WALLET_URL}/betPOST
{WALLET_URL}/winPOST
{WALLET_URL}/refundPOST
{WALLET_URL}/balanceSigned as described in Signatures, with X-Provider-Id: orrery. Timeout 4.5 s, no redirects followed.
| Field | bet | win | refund | Notes |
|---|---|---|---|---|
| transaction_id | yes | yes | yes | UUID, the same on every retry of this leg |
| session | yes | yes | yes | your wallet_session, or null |
| player_id, operator_id, currency | yes | yes | yes | from the launch |
| game_id | yes | yes | yes | flip-flap |
| round_id | yes | yes | yes | our round id, a string |
| amount | stake × cost | the round's payout | the bet's amount | integer, minor units, >= 0 |
| mode | yes | BASE (cost 1x) or MULTIBALL (cost 100x) | ||
| round_final | false | true | true | the round is closed when this leg is applied |
| bet_transaction_id | yes | the round's bet | ||
| refunded_transaction_id | yes | the bet being given back |
/balance carries session, player_id, operator_id and currency.
Answers we expect#
| Answer | What happens |
|---|---|
| 200 {"balance", "currency", "transaction_id", "wallet_transaction_id"?} | Applied. A retry of an applied transaction_id must answer the same 200 again and change nothing. |
| 4xx {"error": "INSUFFICIENT_FUNDS"} | On a bet the player cannot afford: the player sees “insufficient balance”, the round is void, no win leg follows. |
| 4xx {"error": "<CODE>"} | Any other refusal; the leg was not applied. Shown to the player: SESSION_EXPIRED, SESSION_NOT_FOUND, PLAYER_BLOCKED, LIMIT_REACHED, COUNTRY_BLOCKED; others show a general error. |
| timeout, no connection, 5xx, unreadable | Unknown: a bet is refunded, a win is retried (see Round lifecycle). |
Counts as no answer
A 2xx that carries an error, another currency or another transaction_id.