Place orders
Orders
Place orders
Submit one or more orders to the exchange
POST
Place orders
Submit one or more orders. The endpoint accepts a batch — per-order results come back in
The default order type. Executes against any matching liquidity at your price or better as a taker (with taker commission), and rests any remainder on the book as a maker. A
Create a resting offer. If the order would match existing liquidity when placed, the server rejects it (
Behaves like
Must execute immediately against available size at your price, or the order is rejected. See the Fill And Kill scenarios in the examples below.
Scenario 5 —
Scenario 6 —
To bet that the home team does not win, send
data.createdSessions, positionally with your input orders array. Each entry is either a successful { matched, unmatched } result or an { error, errorType } failure.
Request
POST /session/v3/place
Order fields
Order types
limit
The default order type. Executes against any matching liquidity at your price or better as a taker (with taker commission), and rests any remainder on the book as a maker. A limit order can finish fully matched, fully resting, or partially matched with the remainder resting.
post
Create a resting offer. If the order would match existing liquidity when placed, the server rejects it (rejected_order_type_rules, e.g. "post order cannot have matches").
postArb
Behaves like post, but you may post even when the order would match, only if your American odds are within 1% of the odds on the resting order you would match. If the price difference is more than 1%, the place is rejected.
Examples:
- Best offer +100 and you post +100 —
postis rejected (it would match);postArbis allowed. - Best offer +200 —
postArbat +190 is rejected (too far from +200). About +198 is at the edge of the 1% band vs +200. - Best order −200 — the band extends to about −202 on the negative side (same 1% rule).
- With +100 on the book, −101 is the reference limit on the other side for the 1% tolerance.
postArb avoids taker fees across a normal trade — you are not charged taker fees on this flow the way you would be if you lifted resting liquidity as a taker.
Orders placed as postArb are flagged with isPostArb: true on their user feed and price feed updates; the field is omitted for other order types. The place response itself does not include the flag.
fillAndKill
Must execute immediately against available size at your price, or the order is rejected. See the Fill And Kill scenarios in the examples below.
Response
array
Per-order results, positional with the input
orders array. Each entry is either a successful place or an error.Examples
Scenario 1 — Match orders with no leftover liquidity
Three orders that all match instantly with available liquidity.Scenario 2 — Limit order with leftover liquidity
A limit order for 300 that partially matches and leaves the remainder resting.Scenario 3 — Fill and Kill, full match
Scenario 4 — Fill and Kill, no match
AfillAndKill with no match returns a per-order error.
Scenario 5 — postArb vs post when the book would match
post rejects an order that would match resting liquidity (for example, best offer +100 and you try to post +100). postArb allows that situation when your odds are within 1% of the order you would match — so the same +100 post can succeed as postArb, and you avoid the taker fees you’d pay across a normal trade. If your price is too far from the resting quote (e.g. best offer +200 but you send +190), postArb is rejected.
Scenario 6 — moneyline1x2 (soccer three-way)
moneyline1x2 is the soccer three-way market — home / away / draw — placed as a yes/no bet on the outcome named by market. Below, yes on the draw at +250.
side: "no" and set market to the home participant’s id.
Live delay
Orders placed on a game marked as live follow these rules:- If the order does not match any existing liquidity, it is placed immediately.
- If the order does match existing liquidity, it incurs a delay before execution.
- Different leagues have different live delay periods:
- NFL, UFCMMA, NCAAF — 3 seconds.
- NCAAB, NBA — 5 seconds.
- ATP, WTA — 8 seconds.
- Default — 10 seconds.
- After the delay, the order attempts to execute:
- If the odds improve, it matches instantly.
- If the odds decrease, it does not match.
Per-order errors
Example with multiple places, some erroring:Authorizations
Pass your auth token in the Authorization header. The Bearer prefix is optional; the server also accepts a signed auth cookie or a token field in the request body.
Body
application/json
Response
Per-order results (positional with input).