Markets
GET /api/v1/events/{id}/markets
| Parameter | Values |
|---|---|
type |
micro (micro-markets only), match (match markets only); all markets when omitted |
{
"data": [
{
"event_id": "rp-soccer-2-4128",
"market_id": "rp-soccer-2-4128/goal5:1980",
"key": "goal5:1980",
"type": "goal_next_5_min",
"name": "Goal between 34' and 38'",
"micro": true,
"status": "open",
"locks_at": "2026-10-14T19:14:10Z",
"window": { "start": "2026-10-14T19:14:10Z", "end": "2026-10-14T19:19:10Z" },
"selections": [
{ "key": "yes", "name": "Yes", "price_decimal": 5.62, "probability": 0.1678 },
{ "key": "no", "name": "No", "price_decimal": 1.13, "probability": 0.8322 }
],
"updated_at": "2026-10-14T19:13:22Z",
"sandbox": false
}
]
}
Status
open: accepting bets untillocks_at.suspended: a dangerous incident happened in the last few seconds (goal, card, score, turnover). Do not accept bets; the market reopens repriced.
A market disappears from the list once it locks. Its key stays valid for risk checks, bet lookups and settlement.
Market keys
The key encodes what the market is about, so you can store it with a bet:
| Key | Meaning |
|---|---|
mw |
Match result, winner or map winner |
ng:{n} |
Next goal after goal number n |
goal5:{s}, goal3:{s} |
Goal in the window starting at second s of the match |
shot1:{s}, corner2:{s} |
Shot on target or corner in the window starting at second s |
pt:{i}, ace:{i} |
Tennis point i: who wins it, and whether it is an ace |
deuce:{g} |
Tennis game g goes to deuce |
pos:{i}, three60:{s}, pts2:{s} |
Basketball possession i scores, three-pointer in 60 s, points in 2 minutes |
drive:{i}, score3:{s} |
American football drive i result, points in the next 3 minutes |
pa:{i}, k:{i}, runhalf:{h} |
Baseball plate appearance i on base or strikeout, run in half inning h |
rnd:{i}, plant:{i} |
CS2 round winner and bomb plant |
Prices include a margin of about 6 percent over the fair probability. Every price is recomputed each second.