Skip to content

Tournaments Guide ​

Competitive events where users are ranked by a scoring metric over a time window. Top players win prizes.

Works standalone - no challenge or funded account required.


How It Works ​

  1. Operator creates a tournament with scoring rules and prize structure
  2. Users enter (auto, opt-in, or invite)
  3. Bets during the window update leaderboard scores
  4. When the tournament ends, FAST settles it and distributes prizes as rewards
  5. tournament.settled webhook fires with results

Deployment Modes ​

ModeDescription
Challenges + TournamentsTournaments add competition to challenge players
Tournaments onlyStandalone competitive events on any bet activity

Tournament Fields ​

FieldRequiredDescription
nameYesTournament name
descriptionNoLonger description
scoringMetricYesHow to rank players (see below)
entryModeYesauto, opt_in, or invite
entryFeeNoFee in cents (0 = free, >0 = paid)
prizePoolNoTotal prizes (cents)
maxEntrantsNoCap on participants (null = unlimited)
startsAtYesTournament window start
endsAtYesTournament window end
prizesYesArray of rank ranges + reward types

Scoring Metrics ​

MetricWhat it measures
net_profitTotal profit from settled bets (EUR)
total_wageredCumulative stake placed
win_countNumber of won bets
bet_countTotal bets placed
highest_odds_wonSingle highest-odds winning bet
longest_win_streakLongest consecutive win streak

Entry Modes ​

ModeBehavior
autoAll active users are scored. No enrollment needed.
opt_inUser must join via widget or POST /users/:id/tournaments/:id/join
inviteOperator selects users via POST /admin/tournaments/:id/invite

Prize Structure ​

Prizes are defined as an array of rank ranges with reward types:

json
{
  "prizes": [
    { "rankFrom": 1, "rankTo": 1, "rewardType": "free_bet", "rewardValue": 2500 },
    { "rankFrom": 2, "rankTo": 3, "rewardType": "free_bet", "rewardValue": 1000 },
    { "rankFrom": 4, "rankTo": 10, "rewardType": "bonus_credit", "rewardValue": 500 }
  ]
}

All reward types are available. Use free_bet, bonus_credit, or custom for standalone operators.


API Reference ​

Operator (admin) ​

MethodEndpointPurpose
GET/v1/admin/tournamentsList all tournaments
POST/v1/admin/tournamentsCreate a tournament
POST/v1/admin/tournaments/:id/settleManually settle
GET/v1/admin/tournaments/:id/entriesView entries
POST/v1/admin/tournaments/:id/inviteInvite users
GET/v1/admin/tournaments/statsStats

Public (widget key) ​

MethodEndpointPurpose
GET/v1/tournamentsActive/upcoming tournaments
GET/v1/tournaments/:id/leaderboardLive leaderboard
POST/v1/users/:userId/tournaments/:id/joinJoin (opt-in mode)

Webhook Events ​

EventWhen
tournament.startedWindow opened
tournament.user_joinedUser entered
tournament.user_invitedUser invited
tournament.settledPrizes distributed
tournament.cancelledCancelled by admin

BLACKLINE CONSULTING d.o.o.