TL;DR — An order is your instruction; a bet is the wager that lands at a bookmaker. Identifiers (
fixtureId, outcomeId, playerId, participantId) are shared with OddsPapi v5. Every order carries a unique requestUuid for idempotency. Three independent lifecycles track an order, each of its bets, and each bet’s settlement.Identifiers
ABP shares its identifier space with OddsPapi v5 — the samefixtureId and outcomeId you discover via OddsPapi are the ones you send to ABP. No translation layer is needed.
Market keys
Internally, every priced selection is addressed by a composite market key:GET /betslip returns them keyed and ready — but understanding the shape helps when reading WebSocket betslip payloads.
Orders vs bets
This distinction is the single most important thing to internalize.
One order can produce multiple bets when partial fills or multi-bookmaker routing apply. For example, a single order for 5,000 USD might fill as three bets across two bookmakers. See Order Placement for how fills are distributed.
Idempotency & request deduplication
Network retries are unavoidable, and a retried placement must never double-stake. ABP guarantees this through request deduplication.1
Assign a unique requestUuid per order
Each order in a
POST /place-orders batch carries its own requestUuid (standard 8-4-4-4-12 UUID). Generate it client-side, once, and reuse the same value on every retry of that order.2
ABP fingerprints it server-side
The server records each
requestUuid it has seen with a 30-minute TTL. Within that window, a repeat of the same requestUuid is recognised as a duplicate.3
Duplicates are silently skipped
A duplicate order is not placed again and is not returned as a decline. It is simply skipped, so the rest of the batch processes normally.
4
All-duplicate batches return 409
If every order in a request is a duplicate, there is nothing to do, so the request returns
409 Conflict with the offending UUIDs.Order lifecycle
Bet lifecycle
Settlement lifecycle
Once a bet isCONFIRMED, settlement tracks the financial result:
Settlement changes are pushed over the
settlements WebSocket channel. See Order Placement and WebSocket.
Account priority & the limit cascade
Each bookmaker account has apriority (higher = preferred). When routing, ABP selects the highest-priority active account first for each bookmaker.
Stake limits resolve in priority order — account limits > bookmaker limits > odds limits — with the first non-null value winning:
Glossary
Next steps
Order Placement
How fills, pricing, and the limit cascade work.
Currency & Limits
Denomination, conversion, and limits in depth.
Quickstart
Place your first bet in 5 steps.
Bookmakers
Capability matrix across all 32 bookmakers.