Skip to main content
The MM engine places orders automatically based on bookmaker odds. The client API lets you monitor all trading activity, control your trading state (pause, resume, stop, start), and cancel orders. You do not place orders through this API — the engine does it for you.

Step 1: Check trading state

Confirm your API key works and see your engine’s current state:
Response:
Response fields:

Step 2: View exchange orders

Paginated list of orders the engine has placed on exchanges. Query parameters:
Response:
Response fields (non-obvious only): For only currently-resting orders (no pagination), use GET /orders/open with optional fixtureId and exchange filters.

Step 3: View hedge bets

When an order fills on an exchange, the engine automatically places a hedge bet on the bookmaker. Each bet is linked to its order via orderId. Query parameters:
Response:

Step 4: Check positions

Aggregated positions across all fixtures and exchanges. Query parameters:
Response:
Each position now includes fixture metadata resolved from the database. The fixture fields (participant1Name, participant2Name, sportId, sportName, tournamentId, tournamentName, categoryName, startTime) are nullable — they will be null if the fixture was never seen by the backend. For a single rolled-up summary across every fixture, use GET /positions/summary.

Step 5: View profit & loss

Market-making P&L: spread captured between exchange fills and their bookmaker hedges. Query parameters:
Response:
Response fields:

Step 6: List accounts

View your exchange accounts (credentials are never exposed):

Step 7: Trading controls

Pause keeps existing orders on the exchange but stops new ones. Stop cancels all open orders immediately.

Step 8: Cancel orders

Cancel a single order by ID, or every open order at once. Query parameters for cancel-all:

Next steps

WebSocket updates

Get real-time order fills, hedge bets, and score updates.

API reference

Explore all available endpoints.