Skip to main content
POST
Batch place orders
Submit up to 20 CLOB orders in a single request. Orders may span multiple markets and events — each item carries only outcomeId, and the server resolves the parent market and event. CLOB-only: AMM markets are rejected per-order with UNSUPPORTED_ENGINE. See the Batch orders concept page for limits, semantics, and rate-limit behavior.

Authentication

Write authentication required — X-Public-Key, X-Timestamp, and X-Signature headers. See the Authentication guide.

Headers

string
Optional. 1–255 characters of [A-Za-z0-9_-]. Retries within 24 hours that share the same key, body, and route replay the original response with Idempotent-Replayed: true. A retry with the same key but a different body is rejected with 422. A concurrent retry (sent while the first is still in flight) is rejected with 409 — back off briefly and retry once the first call has finished. Transient responses (5xx, 429, 408) are not cached, so you can recover by retrying.

Request body

array
required
1–20 order items. Each item is processed independently — one bad item does not abort the others.

Example request

Response

string
Always CLOB for batch endpoints today.
array
Per-order outcomes, in the same order as the request.
object
Batch calls are charged per item against your write rate-limit bucket — a 20-order batch costs 20 tokens. Over-budget batches are rejected with 429 before any orders reach the matching engine. See Rate limits.