1. MinGlobal External API (v1)
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
      • Open Futures Position (Limit Long)
      • Close Futures Position (Reduce Only)
      • List Open Futures Orders
      • Get Futures Order History
      • Get One Futures Order
      • Cancel Futures Order
  1. MinGlobal External API (v1)

04. Futures Trading Explained

Futures Trading Explained#

Read 03. Spot Trading Explained first. Everything there about order statuses, reserves, strings for money and 201 not meaning acceptance applies here too.
Futures involve borrowed money and you can lose your entire margin. With 10x leverage, a 10% move against you wipes out your position. This is not the place to learn how the API works. Practice on spot first.

1. What are futures?#

A perpetual futures contract is an agreement whose value tracks the price of a coin, without you ever owning the coin. Because you do not have to pay for the whole thing, you can control a larger position with a smaller amount of money. The money you put up is called margin, and the multiplier is called leverage.
Every contract on MinGlobal is USDT-margined: you post USDT as margin, and profits and losses are settled in USDT, whichever coin the contract tracks.

What leverage actually does#

You want exposure to 0.01 BTC while BTC is at 60,000 USDT. That is 600 USDT of exposure.
LeverageMargin you postA 10% price move against you
1x600 USDTYou lose 60 USDT, about 10% of your margin
10x60 USDTYou lose 60 USDT, which is all of your margin
20x30 USDTYou are liquidated well before the 10% is reached
Leverage multiplies gains and losses equally. It does not improve your odds. It shortens the distance between you and a total loss.

Liquidation#

If your losses eat into your margin far enough, the exchange closes your position for you to stop the loss growing. You do not get a choice, and the margin is gone. This has no equivalent in spot trading, where a falling price simply means you hold a coin worth less.

2. Extra words for futures#

Position side#

positionSideYou are bettingYou profit when
LONGThe price goes upThe price rises
SHORTThe price goes downThe price falls
side (BUY or SELL) is separate. side opens or closes, and positionSide says which direction the position runs in. Opening a long is positionSide: LONG with side: BUY.

Margin mode#

marginModeMeaning
ISOLATEDOnly the margin assigned to this position is at risk. A liquidation cannot touch anything else
CROSSYour whole futures balance backs the position. It survives larger moves, but a liquidation can consume much more
ISOLATED is the safer default and caps your downside per position.
You cannot mix modes on one symbol. If you already have an open position on BTC-USDT using CROSS, an ISOLATED order on the same symbol returns 409 MARGIN_MODE_CONFLICT.

Reduce only#

reduceOnly: true means the order may only shrink an existing position, never open or enlarge one. Use it to close out safely, so a mistake cannot accidentally flip you into a position on the other side. It must be a real JSON boolean. The string "false" is rejected.

Margin reserved#

margin = quantity x referencePrice / leverage,  plus a buffer (5% by default), rounded up
A reduceOnly order already covered by an open position can legitimately reserve "0".

3. Differences from the spot API you must not miss#

SpotFutures
Order type field nametypeorderType
EndpointPOST /v1/ordersPOST /v1/futures/orders
Extra required fieldsnonepositionSide, leverage, marginMode
Listing open ordersGET /v1/orders returns everythingGET /v1/futures/orders returns open only
Listing finished orderssame endpointGET /v1/futures/orders/history
Fills and feesnot itemizedfills array on the list endpoints only
Order rate limitper-key 600/minan extra 30 orders per minute per user
KYCrequiredrequired, with no exemption at all
The request field really is called orderType on futures and type on spot. It is a genuine inconsistency, and it is the most common porting bug.

Open orders and history are exactly complementary#

GET /v1/futures/orders returns orders that are not finished. GET /v1/futures/orders/history returns those that are (FILLED, CANCELED, EXPIRED, REJECTED). An order appears in one list or the other, never both and never neither.
Only the history endpoint explains rejections. On rows with status: "REJECTED" it adds rejectReason and venueCode. On every other row those keys are absent, not null.

Fees and profit are not on the order#

There are no order-level fee, feeAsset or realisedPnl fields. Add up fills[].feeAmount and fills[].realisedPnl yourself. Note that GET /v1/futures/orders/{id} returns a single order without its fills, so use the history list when you need executions.

leverage is the one number that is a number#

Every money field on the order object is a string. leverage is a plain JSON integer. Do not send it as "10".

4. How to open and close a futures position#

Step 1. Check the contract exists. GET /v1/market/futures/symbols. Contract symbols are not always the same set as spot symbols.
Step 2. Check your margin. GET /v1/futures/balance?asset=USDT. This reads the futures wallet, which is separate from spot. If the money is in the wrong wallet, move it in the web app.
Step 3. Open the position.
POST /v1/futures/orders
{
  "symbol": "BTC-USDT",
  "positionSide": "LONG",
  "side": "BUY",
  "orderType": "LIMIT",
  "price": "60000",
  "quantity": "0.01",
  "leverage": 10,
  "marginMode": "ISOLATED",
  "reduceOnly": false
}
Step 4. Read status from the body. Same rule as spot: 201 is not acceptance.
Step 5. Track it. GET /v1/futures/orders?limit=50 while it is open, then GET /v1/futures/orders/history?limit=50 once it finishes.
Step 6. Close the position. Send the opposite side on the same positionSide, with reduceOnly: true. To close the long above, send side: "SELL", positionSide: "LONG", reduceOnly: true.
Step 7. Cancel an unfilled order. DELETE /v1/futures/orders/{id}. Cancelling an order is not the same as closing a position. Cancelling removes an order that has not filled. Closing needs an opposing reduceOnly order.

5. What this API does not give you#

Not availableWhat to do instead
Stop-loss and take-profit ordersNo stopPrice, triggerPrice, takeProfit or stopLoss fields exist. Watch the price yourself and send a reduceOnly order
IOC, FOK or post-onlytimeInForce supports GTC only, and is forbidden on MARKET orders
GET /v1/futures/positionsOutside the API key permission set. Session only
GET /v1/futures/fillsCurrently broken and returns 500 on every call. Read fills from /v1/futures/orders/history
Custom clientOrderIdThe server mints one for you
Working list filterssymbol, orderType, startTime and endTime are accepted and then ignored. Only limit filters. Filter in your own code
Modified at 2026-09-02 09:50:41
Previous
03. Spot Trading Explained
Next
05. Data Formats and Conventions
Built with