Mixed Payout Tournament

Table of Contents

Introduction

The Mixed Payout Tournament feature extends the existing Settle Bet Callback to support multiple prize types. Instead of cash-only payouts, operators can now configure tournaments where winners receive a combination of:

This change ensures flexibility for promotions, recurring events, and cross-tournament incentives, while remaining backward-compatible with existing cash-only tournaments.

Below is an example of a prize pool of such a tournament:

Mixed Payouts Prizepool

Callback Flow

When a tournament ends and results are confirmed, the system triggers the Settle Bet Callback.

The callback sends the full set of participants, including their rank, scores, and any payouts.

All non-manual prizes (cash and tickets) are automatically processed through the callback. That means any fantasy tickets will be given out before the callback fires.

Manual prizes (e.g. freebets or any other manual prize with a descriptive text) must be handled by the operator's own system.

Retries will re-send the full payload if the initial request fails. Your system should remain idempotent and resilient to duplicates.

Endpoint & Authorization

The admin_token is a short-lived JWT generated by our system. It must be validated for authenticity.

Prize Types

The following prize types are supported in mixed payout tournaments:

Request Structure

The request body remains consistent with the existing Settle Bet Callback, but includes two additional fields in the bet object to represent ticket or non-cash prizes. All existing fields remain unchanged for backward compatibility.


    
// Ticket object structure in request payload { ..., "qualifier_ticket": { "id": <integer>, // null for open tickets, integer for tournament specific tickets "tournament": <integer_or_null>, "amount": <decimal>, "currency": <string> }, ... }

    
// Manual prize in request payload { ..., "payout_text": <string> ... }

If either qualifier_ticket or payout_text matching manual prizes are present, then payout and base_payout can be disregarded. In these cases, payout should always be of 0 value and base_payout will merely represent the cash equivalent of the manual prize.

Example 1

payout_text with value 5 Bonus Bets will have base_payout of 5.00 and payout of 0.

Example 2

qualifier_ticket for open tournament with entry value 1.00 will have base_payout of 1.00 and payout of 0.

Request Body Examples

Below we have the request body example for settling a tournament with the following mixed prizes:


    
{ "pools": [ { "pool": { "currency": "EUR", "overdraw": "17.15", "overlay": true, "cost": 0, "client": "customer", "tags": [], "guaranteed": true, "category": "admin_created", "name": "Mixed Payouts Tournament", "gameType": "football", "distribution": "mixed", "uid": 89922, "amount": 0, "competitions": [ { "period": 2022, "sport": "football", "uid": "61cad74a46cef3b89efbc8fc", "name": "Example League" } ], "game": "fantasy" }, "bets": [ { "user": { "name": "user01", "uid": "87359", "client": "customer" }, "bet": { "base_payout": "10.00", "rake": 0, "uuid": "441055|172dcdc2-8cf6-4052-bf2d-970ce61bb962", "amount": 0, "base_amount": 0, "payout": "10.00", "rank": 1, "currency": "EUR", "uid": 13454743, "score": 46 } }, { "user": { "name": "user02", "uid": "87745", "client": "customer" }, "bet": { "rank": 2, "currency": "GBP", "score": 37, "amount": 0, "uuid": "441355|7de16d45-1b85-4461-990d-bc4096d2cc4f", "uid": 13454744, "qualifier_ticket": { "id": 187179, "tournament": 89299, "amount": 1.15, "currency": "EUR" }, "base_payout": "1.15", "payout": "0.00", "base_amount": 0, "rake": 0 } }, { "user": { "name": "user03", "uid": "87743", "client": "customer" }, "bet": { "currency": "EUR", "score": 37, "uuid": "441354|b21f4048-2b9d-4ba8-a0cd-d88e9159bd78", "qualifier_ticket": { "id": 187180, "currency": "EUR", "amount": 1, "tournament": null }, "base_payout": "1.00", "rank": 3, "payout": "0.00", "amount": 0, "rake": 0, "base_amount": 0, "uid": 13454747 } }, { "user": { "name": "user04", "uid": "84958", "client": "customer" }, "bet": { "amount": 0, "payout": "0.00", "uid": 13454748, "uuid": "436365|e111ad64-9e67-40db-b04b-d068440de401", "score": 35, "payout_text": "5 Bonus Bets", "rank": 4, "base_amount": 0, "rake": 0, "base_payout": "5.00", "currency": "EUR" } } ] } ] }

Response Handling

Display & UX Notes

Migration / Backward Compatibility