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.
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>:1to5for a set, orallfor the match.<void_rule>:vwhole,vsetNorvgameN, meaning when the bet voids if a player retires.<unit>:setorgame, optionally followed by a market and its arguments.
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:
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
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.
