Skip to main content
A market order executes immediately at the best price currently available. You are trading speed and certainty of execution for price uncertainty — you’ll get filled, but you don’t control the exact price. Use it when getting in or out now matters more than the precise fill price.
New to the Orders module? Read Order Flow first for the big picture — one endpoint, how the type is inferred, and how to listen for updates. This page assumes you’ve connected and authenticated.

When to use it

  • You want to be filled right away and accept the prevailing price.
  • The instrument is liquid (tight spread), so the market price is close to what you see.
Avoid market orders on illiquid or fast-moving names — a wide spread or a gap can fill you far from the last-traded price. In those cases use a Limit order.

How it works

  1. You POST /v1/orders with type: "MARKET" and no price fields.
  2. The order is accepted (PENDING_NEWNEW) and routed immediately.
  3. It fills — often instantly and in full, sometimes in pieces (PARTIALLY_FILLEDFILLED).
  4. Each step arrives as an account.order event on the Account WebSocket.
A DAY market order placed during regular hours essentially always fills the same session.

Request

FieldTypeRequiredDescription
typestringyesMust be "MARKET".
sidestringyesBUY, SELL, SELL_SHORT, or BUY_TO_COVER.
qtystringyesNumber of shares as a decimal string.
pricestringDo not send. Market orders have no limit price.
stopPricestringDo not send. Market orders have no trigger.

Example — buy 100 shares of AAPL at market

cURL
curl -X POST https://api.aries.com/v1/orders \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tradingAccountId": "ACC123456",
    "symbol": "AAPL",
    "side": "BUY",
    "type": "MARKET",
    "qty": "100",
    "timeInForce": "DAY"
  }'
Request body
{
  "tradingAccountId": "ACC123456",
  "symbol": "AAPL",
  "side": "BUY",
  "type": "MARKET",
  "qty": "100",
  "timeInForce": "DAY"
}
That’s the entire body. No price, no stopPrice. The absence of a legs array makes this an equity order.

Example — sell to close 50 shares

{
  "tradingAccountId": "ACC123456",
  "symbol": "TSLA",
  "side": "SELL",
  "type": "MARKET",
  "qty": "50",
  "timeInForce": "DAY"
}

Response

{
  "success": true,
  "clOrdId": "CLIENT-001",
  "status": "NEW",
  "symbol": "AAPL",
  "side": "BUY",
  "qty": "100",
  "cumQty": "0",
  "leavesQty": "100",
  "avgPrice": "0",
  "transactTime": "2024-01-15T10:30:00Z"
}
Keep the clOrdId — it identifies this order in every WebSocket update and is what you pass as origClOrdId to cancel it.

Watch it fill

A market order typically fills moments after acknowledgement. You’ll see the fill as an account.order event with ordStatus: "FILLED" and a real avgPrice:
account.order event
{
  "type": "event",
  "timestamp": "2024-01-15T10:30:01Z",
  "payload": {
    "topic": "account",
    "name": "account.order",
    "target": "account:ACC123456",
    "data": {
      "ordId": "ORD-12345",
      "clOrdId": "CLIENT-001",
      "accountId": "ACC123456",
      "symbol": "AAPL",
      "side": "BUY",
      "type": "MARKET",
      "timeInForce": "DAY",
      "qty": "100",
      "ordStatus": "FILLED",
      "cumQty": "100",
      "leavesQty": "0",
      "avgPrice": "150.45",
      "securityType": "EQUITY",
      "category": "EQUITY",
      "createdAt": "2024-01-15T10:30:00Z",
      "updatedAt": "2024-01-15T10:30:01Z"
    }
  }
}
For the subscribe handshake and the full event schema, see Limit order → Listen for updates or the complete Account Updates WebSocket reference.

Common rejections

ordRejReason / reasonCause
ORDER_EXCEEDS_LIMITNot enough buying power for the notional.
UNKNOWN_SYMBOLThe symbol isn’t recognized.
EXCHANGE_CLOSEDA DAY market order sent while the market is closed. Use a limit order or wait for the session.
TOO_LATE_TO_ENTEROrder arrived after the cutoff for the session.

Next steps

Limit order

Control your fill price instead of taking the market.

Stop order

Trigger a market order only once a price level is hit.

Try it live

Interactive reference and full schema for POST /v1/orders.

Preview Order

Estimate cost and buying-power impact before placing.