Skip to main content

Move Positions

Move Positions

Description

Currently, only available in demo trading.

Supports position moves between master and sub-accounts, as well as between sub-accounts:

  1. Master account → Sub-account
  2. Sub-account → Master account
  3. Sub-account → Sub-account (must belong to the same master account)
  • This feature is only available to whitelisted users and can only be called using the master account's API Key. The fromUid and toUid must belong to the same master-sub account system. Currently only supports USDT futures and USDC futures. Only cross-margin mode is supported.
  • The trades generated by position moves will not appear in the public market trades and no trading fees will be charged.
  • Position moves are not supported within 5 minutes before or after each hour (funding fee settlement period). Position moves are not supported when the source account's MMR ≥ 80%. Before the position move, the system will cancel all pending orders for the corresponding symbol in both the source and target accounts. The move price defaults to and only supports the mark price.
  • Users can trigger up to 50 position move requests per day (counting from a successful call). Each request must be at least 1 minute apart. A maximum of 10 positions can be moved per request.

HTTP Request

  • POST /api/v3/account/move-positions
  • Rate limit: 1/sec/UID
  • Permission: UTA trade (read & write)
Request
curl -X POST "https://api.bitget.com/api/v3/account/move-positions" \
-H "ACCESS-KEY:your apiKey" \
-H "ACCESS-SIGN:*" \
-H "ACCESS-PASSPHRASE:*" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d '{
"fromUid": "111111111",
"toUid": "222222222",
"category": "USDT-FUTURES",
"positionList": [
{
"symbol": "BTCUSDT",
"side": "sell",
"qty": "0.5"
}
]
}'

Request Parameters

ParameterTypeRequiredComments
fromUidStringYesSource account UID
The account from which positions are transferred
fromUid and toUid must belong to the same master-sub account system
toUidStringYesTarget account UID
The account to which positions are transferred
fromUid and toUid must belong to the same master-sub account system
categoryStringYesProduct type
USDT-FUTURES USDT futures
COIN-FUTURES Coin-M futures
USDC-FUTURES USDC futures
positionListArrayYesPosition list
Maximum of 10 positions per request
>symbolStringYesSymbol name
e.g., BTCUSDT
>sideStringYesOrder side (from the source account's perspective)
buy/sell
The logic is consistent for both one-way mode and hedge mode.
When the source holds a long position, pass side=sell to reduce the position.
When the source holds a short position, pass side=buy to reduce the position.
>qtyStringYesTransfer quantity
Must meet the minimum quantity precision requirement
Response
{
"code": "00000",
"msg": "success",
"requestTime": 1695806875837,
"data": {
"fromList": [
{
"orderId": "121211212122",
"clientOid": "131311313133",
"code": "",
"msg": ""
}
],
"toList": [
{
"orderId": "121211212123",
"clientOid": "131311313134",
"code": "",
"msg": ""
}
]
}
}

Response Parameters

ParameterTypeComments
fromListArraySource account position result list
>orderIdStringSource order ID
>clientOidStringSource client order ID
>codeStringError code
Returned when an error occurs during the close position operation
>msgStringError message
Returned when an error occurs during the close position operation
toListArrayTarget account position result list
>orderIdStringTarget order ID
>clientOidStringTarget client order ID
>codeStringError code
Returned when an error occurs during the open position operation
>msgStringError message
Returned when an error occurs during the open position operation

How was your Reading Experience with us?