Bitget APIBitget API
UTAClassic
Legacy Doc
  • Overview
  • API Documentation
  • WebSocket
  • Agent Hub
  • SDK
  • Changelog
Copied to clipboard
Broker
    Broker
      Create Broker Sub-AccountpostCreate Broker Sub-Account API KeypostDelete Broker Sub-Account API KeypostGet All Broker Sub-Account Deposit WithdrawalgetGet Broker CommissiongetGet Broker Sub-Account API KeygetGet Broker Sub-Account ListgetModify Broker Sub-Account API KeypostModify Broker Sub-AccountpostGet Broker Sub-Account Deposit AddresspostBroker Sub-Account Withdrawalpost
Broker
Broker

Broker

Broker


Create Broker Sub-Account

POST
https://api.bitget.com
/api/v3/broker/create-sub

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Create Broker Sub-Account › Request Parameters

subaccountName
​string · required

Sub-account username.

label
​string · required

label up to a maximum of 50 characters.

Create Broker Sub-Account › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

subaccountName
​string

Sub-account username

subaccountEmail
​string

Sub-account email By default a system-generated virtual email; if an email has been bound separately, the bound email will be displayed

status
​string

Sub-account status normal freeze

permList
​string[]

Permission list withdraw transfer spot_trade spot trading contract_trade futures trading margin_trade margin trading deposit deposit permission

label
​string

Label

cTime
​string

Account creation time Unix timestamp in milliseconds

POST/api/v3/broker/create-sub
curl https://api.bitget.com/api/v3/broker/create-sub \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subaccountName": "hunterusers182114141", "label": "hunterusersub21523121" }'
Example Request Body
{ "subaccountName": "hunterusers182114141", "label": "hunterusersub21523121" }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767148977459, "data": { "subUid": "12345678910", "subaccountName": "", "subaccountEmail": "hun****@broker", "status": "normal", "permList": [ "read", "uta_spot_trade", "uta_margin_trade", "uta_contract_trade", "transfer", "withdraw", "deposit" ], "label": "hunterusersub21523121", "cTime": "1767148977593" } }
json
application/json

Create Broker Sub-Account API Key

POST
https://api.bitget.com
/api/v3/broker/create-sub-apikey

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Create Broker Sub-Account API Key › Request Parameters

subUid
​string · required

Sub-account UID

passphrase
​string · required

Passphrase Required to call the API. If lost, please create a new API key.

label
​string · required

label

ipList
​string[] · required

IP whitelist Up to 30 entries can be provided

permType
​string · required

Permission type: read_write read & write read_only read-only

permList
​string[] · required

Permission list: uta_trade UTA trading uta_mgt UTA management withdraw (permType must be read_write)

Create Broker Sub-Account API Key › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

label
​string

Label

apiKey
​string

API Key

secretKey
​string

Secret Key

permType
​string

Permission type: read_write read & write read_only read-only

permList
​string[]

Permission list: uta_trade UTA trading uta_mgt UTA management withdraw (permType must be read_write)

ipList
​string[]

IP whitelist

POST/api/v3/broker/create-sub-apikey
curl https://api.bitget.com/api/v3/broker/create-sub-apikey \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "12345678910", "passphrase": "12345678", "label": "338040211757111_test01", "permType": "read_write", "permList": [ "uta_trade", "uta_mgt", "withdraw" ] }'
Example Request Body
{ "subUid": "12345678910", "passphrase": "12345678", "label": "338040211757111_test01", "permType": "read_write", "permList": [ "uta_trade", "uta_mgt", "withdraw" ] }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767151739925, "data": { "subUid": "12345678910", "label": "338040211757111_test01", "apiKey": "bg_12345678910", "secretKey": "123456789106d3", "permType": "read_write", "permList": [ "uta_mgt", "uta_trade", "withdraw" ], "ipList": null } }
json
application/json

Delete Broker Sub-Account API Key

POST
https://api.bitget.com
/api/v3/broker/delete-sub-apikey

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

  • This endpoint has no response parameters.
  • It returns the deletion result synchronously.
  • Determine whether the deletion succeeded or failed (and the failure reason) based on the returned code and msg.

Delete Broker Sub-Account API Key › Request Parameters

subUid
​string · required

Sub-account UID

apiKey
​string · required

API Key

Delete Broker Sub-Account API Key › Response Parameters

200

Successful response

code
​string

Code

Example: 00000
msg
​string

Message

Example: success
requestTime
​integer

Request Time

POST/api/v3/broker/delete-sub-apikey
curl https://api.bitget.com/api/v3/broker/delete-sub-apikey \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "12345678910", "apiKey": "bg_123456789109" }'
Example Request Body
{ "subUid": "12345678910", "apiKey": "bg_123456789109" }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767151778823 }
json
application/json

Get All Broker Sub-Account Deposit Withdrawal

GET
https://api.bitget.com
/api/v3/broker/all-sub-deposit-withdrawal

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Get All Broker Sub-Account Deposit Withdrawal › Request Parameters

startTime
​string

Record start time Unix timestamp in milliseconds. If both startTime and endTime are empty, the default query time range is yesterday 00:00–23:59 (UTC+0). The time range between startTime and endTime cannot exceed 7 days.

endTime
​string

Record end time Unix timestamp in milliseconds. If both startTime and endTime are empty, the default query time range is yesterday 00:00–23:59 (UTC+0). The time range between startTime and endTime cannot exceed 7 days.

limit
​string

Number of items per page default 100, maximum 100.

cursor
​string

Cursor ID.

status
​string

Status pending Confirming fail Failed success Successful

Get All Broker Sub-Account Deposit Withdrawal › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
​object[]

Record list

endId
​string

Cursor ID for next page (the smallest record ID in current page)

GET/api/v3/broker/all-sub-deposit-withdrawal
curl https://api.bitget.com/api/v3/broker/all-sub-deposit-withdrawal
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767151164765, "data": { "list": [ { "uid": "12345678910", "txId": "1390096439417995264", "type": "withdrawal", "subType": "internal", "coin": "USDT", "amount": "10.000000000", "status": "fail", "ts": "1767150805032" } ], "endId": "1390096439417995264" } }
json
application/json

Get Broker Commission

GET
https://api.bitget.com
/api/v3/broker/commission

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Get Broker Commission › Request Parameters

startTime
​string

Query start time Unix timestamp in milliseconds. If both startTime and endTime are omitted, the default query range is yesterday 00:00–23:59 (UTC+0). The interval between startTime and endTime for a single query cannot exceed 30 days.

endTime
​string

Query end time Unix timestamp in milliseconds. If both startTime and endTime are omitted, the default query range is yesterday 00:00–23:59 (UTC+0). The interval between startTime and endTime for a single query cannot exceed 30 days.

pageSize
​string

Number of items per page default 100, maximum 1000

pageNo
​string

Page number default 1.

bizType
​string

Business type spot futures If not provided, commission data for all types will be returned.

subBizType
​string

Business sub-type: spot_trade spot trading spot_margin spot margin usdt_futures USDT futures usdc_futures USDC futures coin_futures coin-margin futures When bizType=spot, this parameter can be spot_trade or spot_margin. When bizType=futures, this parameter can be usdt_futures, usdc_futures, or coin_futures.

Get Broker Commission › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object[]
uid
​string

User ID

coin
​string

Commission currency

symbol
​string

Symbol

dealtAmount
​string

Traded amount

totalFee
​string

Total fee

deductedFee
​string

Deducted fee

paidFee
​string

Fee paid

markUpFee
​string

Markup fee

totalCommission
​string

Total commission

GET/api/v3/broker/commission
curl https://api.bitget.com/api/v3/broker/commission
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767677788472, "data": [ { "uid": "1359901376", "coin": "BTC", "symbol": "BTC/USDT", "dealtAmount": "84.346065", "totalFee": "0.0000005", "deductedFee": "0", "paidFee": "0.0000005", "markUpFee": "0", "totalCommission": "0.00000002" } ] }
json
application/json

Get Broker Sub-Account API Key

GET
https://api.bitget.com
/api/v3/broker/query-sub-apikey

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Get Broker Sub-Account API Key › Request Parameters

subUid
​string · required

Sub-account UID

Get Broker Sub-Account API Key › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

label
​string

Label

apiKey
​string

API Key

secretKey
​string

Secret Key

permType
​string

Permission type: read_write read & write read_only read-only

permList
​string[]

Permission list: uta_trade UTA trading uta_mgt UTA management withdraw (permType must be read_write)

ipList
​string[]

IP whitelist

GET/api/v3/broker/query-sub-apikey
curl 'https://api.bitget.com/api/v3/broker/query-sub-apikey?subUid=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767151739925, "data": { "subUid": "12345678910", "label": "338040211757111_test01", "apiKey": "bg_12345678910", "secretKey": "12345678910d3", "permType": "read_write", "permList": [ "uta_mgt", "uta_trade", "withdraw" ], "ipList": null } }
json
application/json

Get Broker Sub-Account List

GET
https://api.bitget.com
/api/v3/broker/sub-list

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Get Broker Sub-Account List › Request Parameters

limit
​string

Number of items per page default 10, maximum 100.

cursor
​string

Cursor ID Used for pagination. Omit it on the first call. For subsequent calls, pass in the last subUid returned by the previous query.

status
​string

Account status: normal normal freeze frozen

Get Broker Sub-Account List › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
​object[]

Sub-account list

GET/api/v3/broker/sub-list
curl https://api.bitget.com/api/v3/broker/sub-list
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767149918448, "data": { "subList": [ { "subUid": "12345678910", "subaccountName": "hun****@broker_8383826362", "subaccountEmail": null, "status": "normal", "permList": [ "read", "uta_spot_trade", "uta_margin_trade", "uta_contract_trade", "transfer", "withdraw", "deposit" ], "label": "hunterusersub21523121", "language": "zh_CN", "cTime": "1767148977593", "uTime": "1767148977593" } ] } }
json
application/json

Modify Broker Sub-Account API Key

POST
https://api.bitget.com
/api/v3/broker/modify-sub-apikey

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Modify Broker Sub-Account API Key › Request Parameters

subUid
​string · required

Sub-account UID

passphrase
​string · required

Passphrase Required to call the API; if lost, please recreate the API key

apiKey
​string · required

API Key

label
​string

label

ipList
​string[]

IP whitelist Up to 30 entries

permType
​string

Permission type: read_write read & write read_only read-only

permList
​string[]

Permission list: uta_trade UTA trading uta_mgt UTA management withdraw (permType must be read_write)

Modify Broker Sub-Account API Key › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

label
​string

Label

apiKey
​string

API Key

permType
​string

Permission type: read_write read & write read_only read-only

permList
​string[]

Permission list: uta_trade UTA trading uta_mgt UTA management withdraw (permType must be read_write)

ipList
​string[]

IP whitelist

POST/api/v3/broker/modify-sub-apikey
curl https://api.bitget.com/api/v3/broker/modify-sub-apikey \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "12345678910", "passphrase": "12345678", "apiKey": "bg_12345678910", "label": "338040211757111_test01", "permType": "read_write", "permList": [ "uta_trade", "uta_mgt", "withdraw" ] }'
Example Request Body
{ "subUid": "12345678910", "passphrase": "12345678", "apiKey": "bg_12345678910", "label": "338040211757111_test01", "permType": "read_write", "permList": [ "uta_trade", "uta_mgt", "withdraw" ] }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767151778823, "data": { "subUid": "12345678910", "label": "3380407571_test02update", "apiKey": "bg_12345678910", "permType": "read_write", "permList": [ "uta_mgt", "uta_trade", "withdraw" ], "ipList": [ "1.3.1.2" ] } }
json
application/json

Modify Broker Sub-Account

POST
https://api.bitget.com
/api/v3/broker/modify-sub

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Modify Broker Sub-Account › Request Parameters

subUid
​string · required

Sub-account UID

status
​string

Sub-account status: normal freeze

permList
​string

Permission list withdraw transfer spot_trade spot trading contract_trade futures trading margin_trade margin trading deposit deposit permission

Modify Broker Sub-Account › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

status
​string

Sub-account status: normal freeze

subaccountName
​string

Sub-account username

label
​string

Label

permList
​string[]

Permission list withdraw transfer spot_trade spot trading contract_trade futures trading margin_trade margin trading deposit deposit permission

cTime
​string

Account creation time Unix timestamp in milliseconds

uTime
​string

Account update time Unix timestamp in milliseconds

language
​string

Sub-account language. en_US zh_CN ja_JP vi_VN zh_TW ru_RU es_ES tr_TR fr_FR de_DE pt_PT th_TH

POST/api/v3/broker/modify-sub
curl https://api.bitget.com/api/v3/broker/modify-sub \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "1234567891", "status": "freeze" }'
Example Request Body
{ "subUid": "1234567891", "status": "freeze" }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767150632929, "data": { "subUid": "1234567891", "subaccountName": "hun****@broker", "status": "freeze", "permList": [ "uta_spot_trade", "transfer", "deposit" ], "label": "hunterusersub123121", "cTime": "1766476082509", "uTime": "1766476102463" } }
json
application/json

Get Broker Sub-Account Deposit Address

POST
https://api.bitget.com
/api/v3/broker/sub-deposit-address

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Get Broker Sub-Account Deposit Address › Request Parameters

subUid
​string · required

Sub-account UID

coin
​string · required

Coin name

chain
​string

Chain name If this parameter is not provided, the default will be the coin's primary (main) chain

Get Broker Sub-Account Deposit Address › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
subUid
​string

Sub-account UID

coin
​string

Coin name

chain
​string

Chain name

address
​string

Deposit address

tag
​string

Tag Used for some chains (e.g., EOS memo, TON comment)

url
​string

Custom order ID

cTime
​string

Creation time

POST/api/v3/broker/sub-deposit-address
curl https://api.bitget.com/api/v3/broker/sub-deposit-address \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "12345678910", "chain": "ERC20", "coin": "USDT" }'
Example Request Body
{ "subUid": "12345678910", "chain": "ERC20", "coin": "USDT" }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767150821166, "data": { "subUid": "12345678910", "coin": "USDT", "address": "0xe4de63ebbf937385c17e7332557fe5c3337648ca", "chain": "ERC20", "tag": null, "url": "https://sepolia.etherscan.io/tx/", "cTime": "1765987200000" } }
json
application/json

Broker Sub-Account Withdrawal

POST
https://api.bitget.com
/api/v3/broker/sub-withdrawal

Rate limit: 20/sec/UID

Only the master account with a user type of ND Broker can call this API endpoint.

Broker sub-account withdrawal API has restrictions and currently supports only the following currencies:

BTC, ETH, USDT, USDC, TRX, XRP, LTC, SOL, BNB, FTM, DOGE, ADA, SHIB, UNI, SEI, SUI, POL, FIL, LINK, GRAM, ARB, OP, DOT, AVAX, BGB

Broker Sub-Account Withdrawal › Request Parameters

subUid
​string · required

Sub-account UID

coin
​string · required

Coin name

dest
​string · required

Withdrawal method: on_chain on-chain withdrawal internal_transfer internal transfer

address
​string · required

Withdrawal address When using on-chain withdrawal, enter the on-chain address; when using internal transfer, enter the UID

amount
​string · required

Withdrawal amount

chain
​string

Chain name If this parameter is not provided, it defaults to the coin's main chain

tag
​string

Tag Used for some chains (e.g., EOS memo, GRAM comment)

clientOid
​string

Custom order ID

Broker Sub-Account Withdrawal › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
orderId
​string

Order ID

clientOid
​string

Custom order ID

POST/api/v3/broker/sub-withdrawal
curl https://api.bitget.com/api/v3/broker/sub-withdrawal \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "subUid": "12345678910", "dest": "internal_transfer", "coin": "USDT", "address": "123456789", "amount": "10", "clientOid": "91500512549_1765977438100" }'
Example Request Body
{ "subUid": "12345678910", "dest": "internal_transfer", "coin": "USDT", "address": "123456789", "amount": "10", "clientOid": "91500512549_1765977438100" }
json
application/json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1767150755184, "data": { "orderId": "1390096439417995264", "clientOid": "91500512549_1765977438100" } }
json
application/json