1. 12. Futures Trading API
MIN-Global API
  • MinGlobal External API (v1)
    • 01. Overview and Quick Start
      • Step 1. Check API Reachability (no key needed)
      • Step 2. Your First Signed Request
    • 02. Authentication and Request Signing
    • 03. Spot Trading Explained
    • 04. Futures Trading Explained
    • 05. Data Formats and Conventions
    • 06. Errors and Troubleshooting
    • 07. Rate Limits, Permissions and Known Limits
    • 08. Market Data API (public, no key needed)
      • List Spot Trading Pairs
      • Get All Spot Tickers
      • Get Spot Candlesticks (Klines)
      • Get Spot Order Book (Depth)
      • Get Recent Spot Trades
      • List Futures Contracts
      • Get All Futures Tickers
      • Get Futures Candlesticks (Klines)
      • Get Futures Order Book (Depth)
      • Get Recent Futures Trades
    • 09. Wallets and Balances API
      • Get All Balances
      • Get Balances by Coin
    • 10. Assets and Networks API
      • List Supported Coins
      • List Networks for a Coin
    • 11. Spot Trading API
      • Place Spot Order (Limit Buy)
      • Place Spot Order (Market Sell)
      • List Your Spot Orders
      • Get One Spot Order
      • Cancel Spot Order
    • 12. Futures Trading API
      • Get Futures Margin Balance
        GET
      • Open Futures Position (Limit Long)
        POST
      • Close Futures Position (Reduce Only)
        POST
      • List Open Futures Orders
        GET
      • Get Futures Order History
        GET
      • Get One Futures Order
        GET
      • Cancel Futures Order
        DELETE
  1. 12. Futures Trading API

Open Futures Position (Limit Long)

POST
https://api.minglobal.io/v1/futures/orders
Places a USDT-margined perpetual futures order. Margin is reserved immediately, and submission to the venue happens separately.
Permission: FUTURES_TRADE | Success: 201 Created | KYC is required, with no exemption
Leverage can lose your entire margin. At 10x, a 10% move against you wipes out the position. Read 04. Futures Trading Explained before using this endpoint.

Request body#

The schema is strict. Unknown keys reject the whole request.
FieldTypeRequiredNotes
symbolstringYesBASE-QUOTE. Check GET /v1/market/futures/symbols first
positionSidestringYesLONG or SHORT
sidestringYesBUY or SELL
orderTypestringYesMARKET or LIMIT. Note: orderType, not type as on spot
quantitydecimal stringYesGreater than 0
pricedecimal stringConditionalRequired for LIMIT, forbidden for MARKET
timeInForcestringNoGTC only. Forbidden on MARKET
leverageintegerYes1 to the maximum, which defaults to 20. A real number, not a string
marginModestringYesISOLATED or CROSS
reduceOnlybooleanNoDefaults to false. A real boolean. The string "false" is rejected
Not supported at all: stopPrice, triggerPrice, takeProfit, stopLoss and clientOrderId do not exist. timeInForce supports only GTC, so there is no IOC, FOK or post-only.

Margin reserved#

quantity x referencePrice / leverage, plus a buffer that defaults to 5%, rounded up. A reduceOnly order already covered by an open position can legitimately reserve "0".

Errors#

StatuscodeCause
400VALIDATION_ERRORSchema failure; unknown contract; leverage must be an integer between 1 and 20; no live price available
409INSUFFICIENT_MARGINNot enough in the futures wallet
409MARGIN_MODE_CONFLICTAn open position on this symbol already uses the other margin mode
429RATE_LIMITED30 orders per minute per user, which is separate from the per-key limit
403KYC_REQUIRED or API_PERMISSION_DENIED
Same rule as spot: read status from the body, not the HTTP code.

Request

Header Params

Body Params application/json

Example
{
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "BUY",
  "orderType": "LIMIT",
  "price": "60000",
  "quantity": "0.01",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reduceOnly": false
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.minglobal.io/v1/futures/orders' \
--header 'X-MG-API-KEY: {{api_key}}' \
--header 'X-MG-TIMESTAMP: <set automatically at send time>' \
--header 'X-MG-RECV-WINDOW: {{recv_window}}' \
--header 'X-MG-SIGNATURE: <set automatically at send time>' \
--header 'Origin: {{origin}}' \
--header 'Idempotency-Key: <set automatically at send time>' \
--header 'Content-Type: application/json' \
--data '{
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "BUY",
  "orderType": "LIMIT",
  "price": "60000",
  "quantity": "0.01",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reduceOnly": false
}'

Responses

🟢201
application/json
Bodyapplication/json

Example
{
  "id": "clw8n2k4x0009abcdefghij",
  "userId": "clw8n1a2b0000abcdefghij",
  "clientOrderId": "prod_8n1a2b0000ab_4c7e91a2",
  "venueOrderId": "9876543210",
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "BUY",
  "orderType": "LIMIT",
  "timeInForce": "GTC",
  "price": "60000",
  "quantity": "0.01",
  "filledQty": "0",
  "avgPrice": null,
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reservedAmount": "63",
  "reservedAsset": "USDT",
  "status": "SUBMITTED",
  "reduceOnly": false,
  "submittedAt": "2026-08-18T09:20:43.100Z",
  "terminalAt": null,
  "createdAt": "2026-08-18T09:20:43.000Z",
  "updatedAt": "2026-08-18T09:20:43.100Z"
}
🟠409
Modified at 2026-09-02 09:50:41
Previous
Get Futures Margin Balance
Next
Close Futures Position (Reduce Only)
Built with