Skip to main content
Order entry needs an API key with the Trade permission (reads need Read). See Authentication for how to get one. Every order is a limit order on one market (window), on the outcome you choose.
Orders are real money. A live trade key trades your account’s cash within the key’s limits.

Place an order

201 Created
The response is the order as the book holds it after your request: a buy that crosses the book comes back already part- or fully filled (fill_count, average_fill_price, fees_paid). A buy holds cash while it rests: the price plus the most a fill could cost in fees, per contract. The hold is released the moment the order fills at a better price, is cancelled, or the window closes. GET /portfolio/balance shows what you can spend right now.

Retrying safely with client_order_id

Networks drop requests. client_order_id makes a retry safe:
  • Same id, same order → you get back the order already placed. Never a second one.
  • Same id, different order → 409 IDEMPOTENCY_CONFLICT.
So when a request times out, or answers 503 EXCHANGE_UNAVAILABLE, resend it with the same client_order_id — or look it up with GET /portfolio/orders?client_order_id=…. Never retry with a new id: if the first request did reach the book, a new id places a second order. Ids are 1–64 characters (letters, digits, . _ : -) and unique per account, across all your keys.

Order status

Cancel

Cancels are never rate limited, so you can always pull your orders. Cancel-all covers orders you placed through the API.

Your orders, positions, fills and balance

Winning contracts settle automatically after the window closes; the payout lands in your account’s cash.

Limits

Three layers apply to every order, and the tightest wins:
  1. Your key’s limits — max order, max per day, max resting orders per market, which series. Trade keys start at 20perorder∗∗and∗∗20 per order** and **500 per day unless you set others. GET /account shows them.
  2. Your account’s limit — a cap on how much you can have at risk across all open windows at once.
  3. The market’s limit — a cap on all users together in one window.
Going over any of them answers 400 LIMIT_EXCEEDED with a message saying which. New orders are also limited to 10 per second per key (bursts of 20); see Rate limits.

Before your first order

  • Your account must have accepted the current Terms of Service and allowed trading on its wallet (a one-time step in the app). Without them, a buy answers 403 FORBIDDEN saying which.
  • Orders go only to markets on the order book — the ones GET /markets lists. Anything else answers 400 MARKET_NOT_OPEN.
  • Test keys can’t place orders yet: the practice book isn’t open.

Errors