Guides
Guides

Create new order

Place a new market or limit order on a chosen trading pair.

Add "trade_currency": "INR" to draw margin from the INR futures wallet; omit it (or use "USDT") for USDT. order_price, stoploss_price, and takeprofit_price are USDT price levels; quantity is in the base asset; the debited margin (amount) is in the trade currency.

Request

# USDT (default)
curl -X POST "https://trade.mudrex.com/fapi/v1/futures/{asset_id}/order" \
  -H "Content-Type: application/json" \
  -H "X-Authentication: your-secret-key" \
  -d '{
    "leverage": 50,
    "quantity": 0.01,
    "order_price": 12445627,
    "order_type": "LONG",
    "trigger_type": "MARKET",
    "is_takeprofit": true,
    "is_stoploss": true,
    "stoploss_price": 3800,
    "takeprofit_price": 5000,
    "reduce_only": false
  }'
# INR — MARKET
curl -X POST "https://trade.mudrex.com/fapi/v1/futures/SOMIUSDT/order?is_symbol" \
  -H "Content-Type: application/json" \
  -H "X-Authentication: your-secret-key" \
  -d '{
    "leverage": "5",
    "quantity": "43.8",
    "order_price": "0.11441",
    "order_type": "LONG",
    "trigger_type": "MARKET",
    "is_takeprofit": false,
    "is_stoploss": false,
    "reduce_only": false,
    "trade_currency": "INR"
  }'
# INR — LIMIT
curl -X POST "https://trade.mudrex.com/fapi/v1/futures/SOMIUSDT/order?is_symbol" \
  -H "Content-Type: application/json" \
  -H "X-Authentication: your-secret-key" \
  -d '{
    "leverage": "5",
    "quantity": "44.0",
    "order_price": "0.11400",
    "order_type": "LONG",
    "trigger_type": "LIMIT",
    "is_takeprofit": false,
    "is_stoploss": false,
    "reduce_only": false,
    "trade_currency": "INR"
  }'

Parameters

ParameterTypeRequiredDescription
asset_idstringYesAsset UUID (path) or trading symbol if is_symbol is present.
is_symbolstringNoQuery parameter. If present, asset_id is treated as a trading symbol.
leveragenumberYesLeverage value (within the asset's permissible range; uses the (asset, currency) leverage).
quantitynumberYesOrder quantity in the base asset (multiple of the asset's quantity step).
order_pricenumberYesOrder price in USDT (within the asset's min & max for LONG/SHORT).
order_typestringYesLONG or SHORT. If reduce_only is true, must be opposite the existing position.
trigger_typestringYesMARKET or LIMIT.
is_takeprofitbooleanNoWhether to set a take profit order (default: false).
is_stoplossbooleanNoWhether to set a stop loss order (default: false).
stoploss_pricenumberConditionalRequired if is_stoploss is true. USDT price.
takeprofit_pricenumberConditionalRequired if is_takeprofit is true. USDT price.
reduce_onlybooleanNoIf true, order can only decrease or close an existing position (default: false).
trade_currencystringNoUSDT or INR (body field). Defaults to USDT. Selects the wallet the margin is debited from.

Response

Status: 202 Accepted

USDT:

{
    "success": true,
    "data": {
        "leverage": "80.9",
        "amount": "222.8",
        "quantity": "0.05",
        "price": "4456",
        "order_id": "0199c39f-e866-7d6b-947e-ed2f09c90b8e",
        "status": "CREATED",
        "message": "OK"
    }
}

INR (MARKET example above):

{
    "success": true,
    "data": {
        "leverage": "5",
        "amount": "5.011596",
        "quantity": "43.8",
        "price": "0.11442",
        "order_id": "019ecc52-2f97-7e34-b3cc-22364e107975",
        "status": "CREATED",
        "message": "OK"
    }
}

Response fields

FieldDescription
order_idUUID of the created order. Used for CRUD operations on the order/position (SL/TP, square off, cancel).
leverageLeverage used for the order.
amountMargin used for the order, in the order's currency (INR for INR orders).
quantityOrder quantity (base asset).
priceOrder price (USDT).
statusOrder status (e.g. CREATED).
messageStatus message.

Errors

Common errors

Standard 400 Bad Request errors apply unchanged — Params error, invalid trigger type, invalid order type, order price out of permissible range, quantity not a multiple of the quantity step, leverage out of permissible range.

Invalid trade currency

{
    "success": false,
    "errors": [
        { "code": 400, "text": "Invalid trade currency" }
    ]
}

Status: 400 Bad Request

Notes

  • Order Price: Must be between the asset's min & max price for LONG/SHORT orders (USDT).
  • LIMIT orders / minimum notional: A LIMIT order must meet the asset's min_notional_value (USDT) evaluated at the limit price. Orders below the minimum notional are rejected.
  • Reduce-Only Orders: If reduce_only is true and a position is open, the order type must be opposite the existing position.
  • Stop Loss/Take Profit: If is_takeprofit or is_stoploss is true, you must define the corresponding price.
  • Insufficient margin: Insufficient INR (or USDT) margin returns the standard 400 insufficient-balance error.
  • Symbol-First: Add ?is_symbol to use a trading symbol instead of asset UUID; its presence is enough.