Batch Trades
Trading
Batch Trades
Submit multiple trade orders in a single request. Each order is executed sequentially with the same logic as POST /markets/trade. Maximum 20 orders per batch.
POST
Batch Trades
Submit multiple trade orders in a single request. Each order is executed sequentially using the same logic as the single Trade endpoint.
Overview
Use this endpoint when you need to place multiple orders at once — for example, entering positions across several markets in a single skill cycle or placing hedged entries on both sides of a market. Each order in the batch is processed independently. If one order fails, the remaining orders still execute. The response includes individual results for every order. Each embedded order follows the same schema asPOST /markets/trade (12-field EIP-712 Order struct, identical for V1 and V2). Deposit-wallet orders use signatureType=3. See the Place Trade reference for the full field list.
Example
- curl
- Python SDK
Response
Response Fields
| Field | Type | Description |
|---|---|---|
total | integer | Total number of orders submitted |
succeeded | integer | Number of successfully executed orders |
failed | integer | Number of failed orders |
results | array | Array of individual trade results (same schema as Trade response) |
Common Errors
| Code | Meaning |
|---|---|
400 | Invalid request body, empty orders array, or exceeds max |
401 | Missing or invalid API key |
500 | Server-side error |
Notes
- Orders are executed sequentially, not in parallel. Each order completes before the next begins.
- Each order undergoes independent risk checks and Polymarket API submission.
- A failed order does not stop subsequent orders from executing.
- The
ordersfield in each result matches the single trade response schema exactly.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Array of trade orders to execute in batch (max 20)
Required array length:
1 - 20 elements