Skip to main content

POST /api/v1/market/orders

Place a limit or market order on a prediction market.

Authentication​

Required. Bearer token in Authorization header.

Request​

Body Parameters​

ParameterTypeRequiredDescription
market_idint64YesID of the market to place the order in.
typestringYesOrder side: "buy" or "sell".
kindstringYesOrder kind: "limit" or "market".
token_typestringYesToken to trade: "YES" or "NO".
priceintYes*Price in basis points (0--10000). Required for limit orders, ignored for market orders.
amountintYesFor buy orders with amount_type: "cents", the budget in cents. For sell orders with amount_type: "shares", the number of shares to sell.
amount_typestringYes"cents" (budget-based) or "shares" (quantity-based).
use_bonusboolNoIf true, uses bonus balance to fund the order. Defaults to false.

Example​

curl -X POST https://intotes.com/api/v1/market/orders \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"market_id": 42,
"type": "buy",
"kind": "limit",
"token_type": "YES",
"price": 6500,
"amount": 1000,
"amount_type": "cents"
}'

Response​

200 OK​

{
"id": 1001,
"user_id": 7,
"market_id": 42,
"type": "buy",
"kind": "limit",
"token_type": "YES",
"price": 6500,
"amount": 1000,
"filled": 0,
"status": "pending",
"use_bonus": false,
"created_at": "2026-04-04T12:00:00Z"
}

Response Fields​

FieldTypeDescription
idint64Unique order identifier.
user_idint64ID of the user who placed the order.
market_idint64Market the order was placed in.
typestring"buy" or "sell".
kindstring"limit" or "market".
token_typestring"YES" or "NO".
priceintLimit price in basis points.
amountintTotal order amount (cents or shares).
filledintAmount already filled.
statusstringOrder status: "pending", "partial", "filled", or "cancelled".
use_bonusboolWhether bonus balance was used.
created_atstringISO 8601 timestamp of order creation.

Errors​

StatusCodeDescription
400INVALID_AMOUNTAmount must be a positive integer.
400INVALID_PRICEPrice must be between 0 and 10000 (basis points).
402INSUFFICIENT_BALANCEUser does not have enough balance to place the order.
409MARKET_PAUSEDThe market is currently paused for trading.
409MARKET_RESOLVEDThe market has already been resolved.