MCX Options placeOrder returns EMPTY_400 for all variants


  • Account: A652324
    API Key: YOiSsvNo

    Issue: placeOrder returns HTTP 400 empty body (EMPTY_400) for ALL MCX option
    orders regardless of producttype or ordertype.

    Tested combinations - all fail identically:

    1. producttype=NRML, ordertype=LIMIT
    2. producttype=NRML, ordertype=MARKET
    3. producttype=MIS, ordertype=LIMIT
    4. producttype=MIS, ordertype=MARKET

    Sample failing params:
    {
    "variety": "NORMAL",
    "tradingsymbol": "CRUDEOIL16JUN2610700CE",
    "symboltoken": "566080",
    "transactiontype": "BUY",
    "exchange": "MCX",
    "ordertype": "LIMIT",
    "producttype": "NRML",
    "duration": "DAY",
    "price": "254.0",
    "quantity": "100"
    }

    Error response:
    {'status': False, 'message': 'HTTP 400 empty body', 'errorcode': 'EMPTY_400', 'data': None}

    Verified:

    • Symbol confirmed valid via searchScrip (returns token 566080)
    • IP whitelisted: 49.43.240.109 (matches current IP)
    • MCX options segment IS active (traded CRUDEOIL PE 8000 + PE 8100 on 07-May-2026 via app)
    • NSE/NFO orders work fine via same API
    • squareoff/stoploss NOT included in params

    MCX futures orders also attempted - same EMPTY_400.
    Only MCX options/futures via API fail. App works fine for same contracts.

    Please check backend routing for MCX segment on this API key.