Get Round Details
Look up round details, outcome, race clip, and optionally a specific bet
Look up the details of a specific game round, including the outcome, race recording clip, and optionally a specific bet placed in that round. This is useful for resolving player support requests.
Round data may take a few seconds to become available after a round settles. If you receive a "round not found" response, the round may still be processing — retry after a short delay.
Authentication
This endpoint is authenticated by IP whitelist — your server's outbound IP must match the address registered during onboarding. See Security for details. The X-Marbles-Signature header is not required and is ignored if sent.
Endpoint
POST /game/roundRequest
POST /game/round HTTP/1.1
Host: api.marbles.xyz
Content-Type: application/json
{
"operatorID": "abc123",
"gameID": "2469f711-2da6-46b7-8648-3313dfdc5bb5",
"roundID": "949223e9-2238-59f8-a16b-936ffc7fe3c5",
"betID": "8a275342-bc24-5acd-b1f0-4bb9331ce010"
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
operatorID | string | Yes | Your unique operator identifier provided by 155.io |
gameID | string | Yes | Game UUID from the /game/games endpoint |
roundID | string | Yes | The round to look up — accepts either the game-round UUID (from /game/bets) or the per-bet roundId from a wallet callback; both resolve to the round automatically |
betID | string | No | If provided, includes the specific bet details in the response. The bet must belong to your integration and the specified round. |
Success Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": 200,
"data": {
"round": {
"id": "949223e9-2238-59f8-a16b-936ffc7fe3c5",
"gameId": "2469f711-2da6-46b7-8648-3313dfdc5bb5",
"gameName": "Fish Tank",
"outcomeFirstPlace": "1ee9cb9d-e560-4e16-aafb-1d1d5a8db32c",
"outcomeSecondPlace": "5d3b585e-4980-47e3-827d-b3cbfcdc929c",
"outcomeThirdPlace": "a8c81652-cbd4-4b5d-94cd-5585715e6133",
"createdAt": "2026-03-20T12:00:00Z",
"updatedAt": "2026-03-20T12:00:10Z"
},
"clipUrl": "https://clips.millicast.com/race-949223e9-2238-59f8-a16b-936ffc7fe3c5.mp4",
"bet": {
"id": "8a275342-bc24-5acd-b1f0-4bb9331ce010",
"status": "won",
"amount": 500000,
"payout": 2500000,
"currency": "USD",
"betType": "PickWinner",
"selection": "1ee9cb9d-e560-4e16-aafb-1d1d5a8db32c",
"externalPlayerID": "22893236",
"username": "JohnDoe",
"createdAt": "2026-03-20T11:59:50Z",
"updatedAt": "2026-03-20T12:00:10Z"
}
}
}Round Fields
| Field | Type | Description |
|---|---|---|
id | string | Round UUID |
gameId | string | Game UUID |
gameName | string | Display name of the game |
outcomeFirstPlace | string | Item UUID that finished first |
outcomeSecondPlace | string | Item UUID that finished second |
outcomeThirdPlace | string | Item UUID that finished third |
createdAt | string | ISO 8601 timestamp when the round was created |
updatedAt | string | ISO 8601 timestamp when the round was last updated |
Clip URL
The clipUrl field contains a direct link to the race recording for this round. This may be empty if the recording is not yet available or the round is too old.
Bet Fields (when betID is provided)
| Field | Type | Description |
|---|---|---|
id | string | Bet UUID |
status | string | Bet status: pending, won, lost, voided, or cashed_out (cashed_out appears only on Footfall bets the player cashed out before the crash) |
amount | integer | Integer at the currency's wire precision — the same scale as the amount on the /bet and /win callbacks (USD: $5.00 = 500000). See Currencies |
payout | integer | Actual payout, same scale as amount: won → the full winning payout; cashed_out → the realised cash-out amount (stake × multiplier at cash-out); pending, lost, voided → 0 |
currency | string | ISO 4217 currency code |
betType | string | Bet type (see Bet Types) |
selection | string | Comma-separated item UUIDs the player selected |
externalPlayerID | string | Your player identifier |
username | string | Player username |
createdAt | string | ISO 8601 timestamp when the bet was placed |
updatedAt | string | ISO 8601 timestamp when the bet was last updated |
You can only view bets that belong to your integration. Attempting to look up a bet from another operator will return a "bet not found" error.
Error Response
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"error": "Round not found",
"details": "round with ID 949223e9-... not found"
}Error Statuses
| Status | HTTP Code | Description |
|---|---|---|
| Round not found | 404 | No round exists for the given ID and game, or the round is still processing |
| Bet not found | 404 | No bet exists for the given ID, or the bet does not belong to your integration |
| Invalid Integration IP | 400 | Request originated from an unrecognized IP address |
| Validation error | 400 | Missing or invalid request parameters |
| Too many requests | 429 | Rate limit exceeded — max 60 requests/minute per source IP, shared across /game/bets and /game/round (see Rate limits) |