Skip to main content
Every betslip, order and bet carries a sport and a bet_type. They are short strings with a grammar. You rarely need the grammar: read bet_type off an offer and pass it through verbatim. This page is the reference for when you need to understand or validate one. For the sports and markets in plain language, see Sports and markets.

Sport codes

sport is a lowercase string. These are the codes in use. See Sports and markets for what is listed. On combo betslips and orders, sport is the literal string parlay and the per-leg sport sits inside each legs[] entry. The app calls these combos. See Combos for how a combo is priced and settled.
Treat this table as informational, not as a closed enum. New sports are added. Do not hard-fail on an unknown code.

Bet type grammar

bet_type is a comma-separated string. The first token is the direction:
  • for: back the outcome. You win if it happens.
  • against: take the other side. You win if the outcome does not happen. On a normal betslip, the price is odds on the outcome not happening.
The remaining tokens identify the market and its parameters. Handicap lines are always stated from the home team’s side, even when the selection is the away team: for,ah,a,-4 is away +1.0.

Asian handicap lines are 4 x the real line

Lines travel as integers equal to four times the actual line, so quarter-goal lines stay integer on the wire:

Match result

Totals

Handicaps

Correct score and margins

Scoring and clean sheets

Tennis

Tennis bet types carry a period and a void rule:
  • <period>: 1 to 5 for a set, or all for the match.
  • <void_rule>: vwhole, vsetN or vgameN, meaning when the bet voids if a player retires.
  • <unit>: set or game, optionally followed by a market and its arguments.
Examples: for,tset,all,vset1,p1 backs player 1 to win the match, voiding unless set 1 completes. for,tset,1,vwhole,p1 backs player 1 to win set 1. for,tset,all,vwhole,game,ahover,62 backs total games over 15.5.

Periods in other sports

The token is followed by an optional sub,<subsport> modifier and then the market:
Examples: for,thalf,1,ah,h,0 is the first-half Asian handicap at 0.0. for,tquarter,2,wdw,h is home to win the second quarter. for,tmap,1,ahover,42 is esports total kills on map 1 over 10.5. for,tp,all,sub,180,ahover,8 is darts, over 2.0 180s. The legacy aliases tall, treg, tp1, tp2 and so on are no longer accepted. Use the tokens above.

Multirunner events

For events with many runners, such as golf or outright winners:
  • for,win,<team_id>: the runner to win outright.
  • for,top,<n>,<team_id>: the runner to finish in the top <n>.

Validating a bet type

A 200 includes a human-readable bet_type_description and the win and loss payoff grid. A 400 means the string did not parse. This endpoint uses code: "invalid_bet_type" with the rejected string in data.bet_type, not the usual validation_error shape. It cannot validate multirunner bet types, because they need an event context, and always returns the 400 for them.