What is ABP?
The Automated Bet Placing (ABP) API by 55 Tech lets you place bets across 30 bookmakers through a single integration. Instead of building and maintaining individual bookmaker connectors, ABP handles the entire lifecycle from bet placement through settlement. Core capabilities:- Account management — Full CRUD for bookmaker accounts with priority-based selection, per-account stake limits, and multi-currency support
- Betslip retrieval — Get real-time odds and limits for any fixture/outcome across all configured bookmakers before placing
- Futures support — Place bets on outright/futures markets using
futureIdandparticipantId(coming soon) - Smart order routing — Place single or bulk orders; ABP automatically selects the best bookmaker by odds and limits
- Bet tracking — Monitor every bet from placement through confirmation and settlement with full audit trail
- Position & PnL analytics — Aggregated views of exposure and profit/loss grouped by bookmaker, account, or user reference
Data flow
Discover fixtures & odds via OddsPapi v5
Your app consumes the OddsPapi v5 API to discover fixtures, markets, outcomes, and real-time odds across all supported bookmakers. OddsPapi is the data layer — ABP is the execution layer built on top of it. Fixture IDs and outcome IDs are shared between both APIs.
Fetch betslip from ABP
Before placing, call
GET /betslip?fixtureId=...&outcomeId=...&playerId=... to get aggregated odds and limits from all your configured bookmaker accounts. For futures markets, use futureId instead of fixtureId along with participantId. ABP resolves stake limits (account > bookmaker > odds) and returns the effective min/max per bookmaker.Place orders through ABP
Send
POST /place-orders with one or more orders. Each order targets either a fixture (fixtureId) or a future (futureId). ABP routes each order to the best bookmaker(s) based on price, available limits, and account priority. Each bookmaker integration places the bet and reports back confirmation or decline.Receive real-time updates via WebSocket
Connect to
WS /ws to receive real-time pushes for order status changes, bet confirmations, settlements, balance updates, and system events. No polling needed.Base URL
Key concepts
Orders vs bets
An order is your instruction to place a bet. A bet is the actual wager placed on a bookmaker. One order can result in multiple bets when using partial fills or multi-bookmaker routing.Request deduplication
Each order requires a uniquerequestUuid (UUID format). ABP uses server-side deduplication (30-minute TTL) to prevent duplicate placements. Duplicate requests return 409 Conflict.
Order lifecycle
- PENDING — Order received and queued
- PROCESSING — Routing to bookmakers
- FILLED — All stake placed successfully
- PARTIALLY_FILLED — Some stake placed, remaining expired or no capacity
- REJECTED — Failed validation (bad odds, invalid fixture, etc.)
- EXPIRED — Order
expiresAttime reached (default: 5 seconds, max: 24 hours) - CANCELLED — Explicitly cancelled by client
- FAILED — Internal error during placement
Bet lifecycle
- PENDING — Bet created, awaiting bookmaker response
- PLACED — Sent to bookmaker, awaiting confirmation
- CONFIRMED — Bookmaker accepted the bet
- REJECTED — Bookmaker rejected the bet
- CANCELLED — Bet cancelled before confirmation
- FAILED — Internal error during placement
- VOID — Bet voided by bookmaker
Settlement lifecycle
- UNSETTLED — Bet is live, awaiting result
- WON — Full win
- LOST — Full loss
- VOID — Bet voided (stake returned)
- HALF_WON — Asian handicap partial win
- HALF_LOST — Asian handicap partial loss
- PUSH — Stake returned (tie on the line)
- CASHOUT — Early withdrawal at negotiated price
Account priority
Each bookmaker account has apriority field (higher = preferred). When placing an order, ABP selects the highest-priority active account first for each bookmaker.
Limit cascade
Stake limits are resolved in priority order: account limits > bookmaker limits > odds limits. For example, if an account hasminStake: 10, the bookmaker default is minStake: 1, and the odds entry shows limitMin: 5, the effective minimum is 10 (from the account override).
Futures (coming soon)
ABP supports futures (outright) markets alongside standard fixture-based markets. Instead of afixtureId, futures use a futureId to identify the outright market and a participantId to specify the selection (e.g., a team or player to win a league/tournament).
Key differences from fixture orders:
| Fixture orders | Futures orders | |
|---|---|---|
| Identifier | fixtureId | futureId |
| Selection | outcomeId + playerId | outcomeId + playerId + participantId |
| Betslip | GET /betslip?fixtureId=... | GET /betslip?futureId=... |
| Market key format | fixtureId:bookmaker:outcomeId:playerId | futureId:bookmaker:outcomeId:playerId:participantId |
501 Not Implemented. This will be enabled in an upcoming release.
Bookmaker slugs
Bookmakers are identified by slug strings (e.g.,pinnacle, betfair-ex, polymarket). Use GET /bookmakers to list all 30 supported bookmakers with their default stake limits.
Endpoints at a glance
| Category | Endpoints | Description |
|---|---|---|
| Accounts | GET/POST/PATCH/DELETE /accounts | Manage bookmaker accounts (credentials, balances, priority, limits) |
| Betslip | GET /betslip | Get live odds & limits before placing (fixtures and futures) |
| Orders | POST /place-orders, POST /cancel-orders, POST /cancel-all-orders, GET /orders | Place, cancel, and track orders |
| Bets | GET /bets, GET /bets/{bet_id} | View individual bet results |
| Analytics | GET /positions, GET /pnl | Aggregated exposure and P&L |
| Bookmakers | GET /bookmakers | List all supported bookmakers |
| Markets | GET /markets | Available markets and odds types |
| WebSocket | WS /ws | Real-time updates |
Supported bookmakers
Traditional sportsbooks: pinnacle, pinnacleb2b, betamapola, betcris, bookmaker.eu, cloudbet, cloudbetb2b, justbet, kaiyun, monkeyline.vip, novig.us, 198bet, paradisewager, sharpbet, singbet, sports411.ag, 3et, vertex Betting exchanges: betfair-ex, limitless-ex, matchbook, smarkets Prediction markets: 4casters, kalshi, polymarket, polymarket.us, predict.fun, prophetx, sx.bet Punter platforms: punter.ioResilience
ABP includes production-grade reliability features:- Circuit breakers — Per-bookmaker circuit breakers prevent cascading failures and auto-recover
- Retry with exponential backoff — for transient failures
- Emergency controls — Orders may be temporarily paused during system maintenance
- Rate limiting — Per-API-key rate limits (configurable per client)
Data source
ABP consumes real-time odds data from OddsPapi v5. Fixture IDs and outcome IDs in ABP correspond directly to OddsPapi identifiers. Your app should use OddsPapi to discover fixtures and markets, then use ABP to execute bets.Next steps
Authentication
Set up your API key.
Quickstart
Place your first bet in 5 steps.