Bitget APIBitget API
UTAClassic
Legacy Doc
  • Overview
  • API Documentation
  • WebSocket
  • Agent Hub
  • SDK
  • Changelog
Copied to clipboard
Account
    Assets & Balance
      Get Account AssetsgetGet Account Funding AssetsgetGet Financial RecordsgetGet Funding Financial RecordsgetGet Account Fee RategetGet Max TransferablegetGet Max WithdrawalgetSet Collateral TypepostGet Collateral TypegetGet Custom Collateral Coinsget
    Account Settings
      Get Account InfogetGet Account SettinggetPre Set LeveragegetSet LeveragepostSet Holding ModepostSwitch DeductpostGet Deduct InfogetSwitch AccountpostGet Switch StatusgetSet MarginpostGet Delta InfogetAdjust Account Modepost
    Margin & Borrow/Repay
      Get Repayable CoinsgetGet Payment CoinsgetRepaypostGet Convert Recordsget
    Trading Risk & Position Config
      Get OI LimitgetGet All Symbol Fee RatesgetGet Eligible SymbolsgetGet Eligible Margin TiergetGet Eligible Loan InfogetGet Eligible Discount Rateget
    Sub Accounts
      Create Sub-accountpostFreeze/Unfreeze Sub-accountpostGet Sub-account ListgetGet Sub-account Unified AssetsgetCreate Sub-account API KeypostModify Sub-account API KeypostDelete Sub-account API KeypostGet Sub-account API KeysgetCreate Agent Sub-accountpost
    Deposit/Withdrawal & Transfer
      Set Up Deposit AccountpostGet Deposit AddressgetGet Sub Deposit AddressgetGet Deposit RecordsgetGet Sub Deposit RecordsgetWithdrawalpostCancel WithdrawalpostGet Withdrawal RecordsgetGet Withdraw Address BookgetGet Transferable CoinsgetTransferpostMain-Sub Account TransferpostGet Main-Sub Account Transfer RecordsgetSub-Main Account Transferpost
    Small Assets Convert
      Get Small Assets HistorygetGet Small AssetsgetSmall Assets Tradepost
    Institutional Rate Limit
      Get RateLimit QuotagetSet RateLimit Quotapost
Account
Account

Deposit/Withdrawal & Transfer

Deposit/Withdrawal & Transfer


Set Up Deposit Account

POST
https://api.bitget.com
/api/v3/account/deposit-account

Rate limit: 1/sec/UID

This configuration item remains valid for a long time. That is, once a user sets a default deposit account for a certain symbol, it will be retained permanently, and there is no need to reconfigure it.

Permission: UTA mgt. (read & write)

Set Up Deposit Account › Request Parameters

coin
​string · required

Deposit coin e.g. BTC

accountType
​string · required

Account type funding Funding account unified Unified account otc OTC account The current default is the funding account, and it can be modified to a unified account or an OTC account

Set Up Deposit Account › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
data
​string

Operation result

POST/api/v3/account/deposit-account
curl https://api.bitget.com/api/v3/account/deposit-account \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "coin": "coin", "accountType": "accountType" }'
Example Request Body
{ "coin": "coin", "accountType": "accountType" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1753848186558, "data": "success" }
json
application/json

Get Deposit Address

GET
https://api.bitget.com
/api/v3/account/deposit-address

Rate limit: 10/sec/UID

Get deposit address

Permission: UTA mgt. (read)

Get Deposit Address › Request Parameters

coin
​string · required

Coin name

  • The coin name can be obtained using the Get Coin Info API
chain
​string

Chain name

  • The chain name can be obtained using the Get Coin Info API
  • If not filled, the system will automatically match a chain to generate a deposit address
size
​string

Deposit quantity

  • Only applies to BTC Lightning Network
  • Limit range: 0.000001 - 0.001

Get Deposit Address › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
address
​string

Deposit address

chain
​string

Chain name

coin
​string

Coin name

tag
​string

Tag

url
​string

Blockchain explorer address

GET/api/v3/account/deposit-address
curl 'https://api.bitget.com/api/v3/account/deposit-address?coin=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1730189276579, "data": { "address": "0x51xxx", "chain": "erc20", "coin": "USDT", "tag": null, "url": "" } }
json
application/json

Get Sub Deposit Address

GET
https://api.bitget.com
/api/v3/account/sub-deposit-address

Rate limit: 10/sec/UID

Get sub-account deposit address

Permission: UTA mgt. (read)

Get Sub Deposit Address › Request Parameters

subUid
​string · required

Sub-account UID

  • The sub-account UID can be obtained via the Sub-account List API
coin
​string · required

Coin name

  • The coin name can be obtained using the Get Coin Info API
chain
​string

Chain name

  • The chain name can be obtained using the Get Coin Info API
size
​string

Deposit quantity

  • Only applies to BTC Lightning Network
  • Limit range: 0.000001 - 0.001

Get Sub Deposit Address › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
address
​string

Deposit address

chain
​string

Chain name

coin
​string

Coin name

tag
​string

Tag

url
​string

Blockchain explorer address

GET/api/v3/account/sub-deposit-address
curl 'https://api.bitget.com/api/v3/account/sub-deposit-address?subUid=<string>&coin=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740213448866, "data": { "address": "0x51xxx", "chain": "erc20", "coin": "USDT", "tag": "", "url": "" } }
json
application/json

Get Deposit Records

GET
https://api.bitget.com
/api/v3/account/deposit-records

Rate limit: 10/sec/UID

Get deposit records

Permission: UTA mgt. (read)

Get Deposit Records › Request Parameters

startTime
​string · required

Query record start time

  • Unix millisecond timestamp, e.g. 1690196141868
endTime
​string · required

Query record end time

  • Unix millisecond timestamp, e.g. 1690196141868
coin
​string

Coin name

  • If left blank, all coin deposit records will be retrieved
orderId
​string

Order ID

  • Used for specifying order queries
limit
​string

Items per page The default value is 20, and the maximum value is 100

cursor
​string

Cursor ID

  • Used for pagination to reduce query response time
  • Do not send for the initial query. When querying the second page and subsequent data, use the smallest orderId returned from the previous query. The results will return data less than that value

Get Deposit Records › Response Parameters

200

Successful response

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

Deposit record list

orderId
​string

Order ID

recordId
​string

Deposit record ID

  • If dest is on_chain, it is the on-chain hash value
  • If dest is internal_transfer, it is the order ID
coin
​string

Coin name

type
​string

Operation type deposit Deposit

dest
​string

Deposit type on_chain On-chain deposit internal_transfer Internal transfer

size
​string

Deposit quantity

status
​string

Deposit status pending Pending success Success fail Fail

fromAddress
​string

Deposit initiator

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
toAddress
​string

Deposit recipient

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
chain
​string

Deposit network

  • This parameter can be ignored when dest is internal_transfer
createdTime
​string

Deposit record creation time, Unix millisecond timestamp

updatedTime
​string

Deposit record update time, Unix millisecond timestamp

GET/api/v3/account/deposit-records
curl 'https://api.bitget.com/api/v3/account/deposit-records?startTime=<string>&endTime=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740481864545, "data": [ { "orderId": "1278112570963742720", "recordId": "1278112570963742720", "coin": "usdt", "type": "deposit", "dest": "internal_transfer", "size": "1", "status": "success", "fromAddress": "0x51xxx", "toAddress": "0x51xxx", "chain": "erc20", "createdTime": "1740451703778", "updatedTime": "1740451703778" } ] }
json
application/json

Get Sub Deposit Records

GET
https://api.bitget.com
/api/v3/account/sub-deposit-records

Rate limit: 10/sec/UID

Get sub-account deposit records

Permission: UTA mgt. (read)

Get Sub Deposit Records › Request Parameters

subUid
​string · required

Sub-account UID

startTime
​string · required

Query record start time

  • Unix millisecond timestamp, e.g. 1690196141868
endTime
​string · required

Query record end time

  • Unix millisecond timestamp, e.g. 1690196141868
coin
​string

Coin name

  • If left blank, all coin deposit records will be retrieved
limit
​string

Items per page The default value is 20, and the maximum value is 100

cursor
​string

Cursor ID

  • Used for pagination to reduce query response time
  • Do not send for the initial query. When querying the second page and subsequent data, use the smallest orderId returned from the previous query. The results will return data less than that value

Get Sub Deposit Records › Response Parameters

200

Successful response

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

Sub-account deposit record list

orderId
​string

Order ID

recordId
​string

Deposit record ID

  • If dest is on_chain, it is the on-chain hash value
  • If dest is internal_transfer, it is the order ID
coin
​string

Coin name

type
​string

Operation type deposit Deposit

dest
​string

Deposit type on_chain On-chain deposit internal_transfer Internal transfer

size
​string

Deposit quantity

status
​string

Deposit status pending Pending success Success fail Fail

fromAddress
​string

Deposit initiator

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
toAddress
​string

Deposit recipient

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
chain
​string

Deposit network

  • This parameter can be ignored when dest is internal_transfer
createdTime
​string

Deposit record creation time, Unix millisecond timestamp

updatedTime
​string

Deposit record update time, Unix millisecond timestamp

GET/api/v3/account/sub-deposit-records
curl 'https://api.bitget.com/api/v3/account/sub-deposit-records?subUid=<string>&startTime=<string>&endTime=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1730189276579, "data": [ { "orderId": "1278112570963742720", "recordId": "1278112570963742720", "coin": "usdt", "type": "deposit", "dest": "internal_transfer", "size": "1", "status": "success", "fromAddress": "0x51xxx", "toAddress": "0x51xxx", "chain": "erc20", "createdTime": "1740451703778", "updatedTime": "1740451703778" } ] }
json
application/json

Withdrawal

POST
https://api.bitget.com
/api/v3/account/withdrawal

Rate limit: 1/sec/UID

Withdrawal API, includes on-chain withdrawals and internal transfers

Permission: UTA withdrawal

Withdrawal › Request Parameters

coin
​string · required

Coin name

transferType
​string · required

Withdrawal type on_chain On-chain withdrawal internal_transfer Internal transfer

address
​string · required

Withdrawal address

  • When transferType is on_chain, fill in the chain address
  • When transferType is internal_transfer, fill in the UID, email, or mobile number based on innerToType
size
​string · required

Withdrawal quantity Special notes for Bitcoin Lightning Network withdrawals: This parameter must exactly match the amount on the Bitcoin Lightning Network deposit invoice; The withdrawal quantity for Bitcoin Lightning Network represents the amount received, excluding fees; The quantity precision can be obtained via the Get Coin Info API

chain
​string

Blockchain network

  • For example, erc20, trc20, etc.
  • This parameter is required when transferType=on_chain
  • The chain name can be obtained using the Get Coin Info API
innerToType
​string

Internal withdrawal address type uid User ID email Email mobile Mobile phone number

  • If not filled, the default value is uid
areaCode
​string

Area code This parameter is required when innerToType = mobile

tag
​string

Address tag This is required for withdrawals of certain coins, like EOS

remark
​string

Remark

clientOid
​string

Client order ID

memberCode
​string

Member code bithumb korbit coinone

identityType
​string

Identity type company Institutional company user Individual user

companyName
​string

Company name Fill in this parameter when identity=company

firstName
​string

First name Fill in this parameter when identity=user

lastName
​string

Last name Fill in this parameter when identity=user

accountType
​string

Account type to deduct from funding Funding account uta Unified trading account otc OTC account Multiple values supported, separated by comma ,. Deduction order: funding → otc → uta

Withdrawal › Response Parameters

200

Successful response

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

Withdrawal order ID

clientOid
​string

Client withdrawal order ID

POST/api/v3/account/withdrawal
curl https://api.bitget.com/api/v3/account/withdrawal \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "coin": "coin", "chain": "chain", "transferType": "transferType", "address": "address", "innerToType": "innerToType", "areaCode": "areaCode", "tag": "tag", "size": "size", "remark": "remark", "clientOid": "clientOid", "memberCode": "memberCode", "identityType": "identityType", "companyName": "companyName", "firstName": "firstName", "lastName": "lastName", "accountType": "accountType" }'
Example Request Body
{ "coin": "coin", "chain": "chain", "transferType": "transferType", "address": "address", "innerToType": "innerToType", "areaCode": "areaCode", "tag": "tag", "size": "size", "remark": "remark", "clientOid": "clientOid", "memberCode": "memberCode", "identityType": "identityType", "companyName": "companyName", "firstName": "firstName", "lastName": "lastName", "accountType": "accountType" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1730189276579, "data": { "orderId": "111111111111", "clientOid": "111111111111" } }
json
application/json

Cancel Withdrawal

POST
https://api.bitget.com
/api/v3/account/cancel-withdrawal

Rate limit: 1/sec/UID

Cancel a withdrawal request that is still within the cooling-off period. Once the cooling-off period ends, cancellation is no longer possible. Each cancellation is limited to a single order; batch cancellation is not supported.

Permission: Withdraw

Cancel Withdrawal › Request Parameters

orderId
​string

Withdrawal order ID. Either orderId or clientOid must be provided. If both are provided, orderId takes precedence

clientOid
​string

User-defined withdrawal order ID. Either orderId or clientOid must be provided

Cancel Withdrawal › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
data
​string

Operation result

POST/api/v3/account/cancel-withdrawal
curl https://api.bitget.com/api/v3/account/cancel-withdrawal \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "orderId": "orderId", "clientOid": "clientOid" }'
Example Request Body
{ "orderId": "orderId", "clientOid": "clientOid" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740000000000, "data": "success" }
json
application/json

Get Withdrawal Records

GET
https://api.bitget.com
/api/v3/account/withdrawal-records

Rate limit: 10/sec/UID

Get withdrawal records

Permission: UTA mgt. (read)

Get Withdrawal Records › Request Parameters

startTime
​string · required

Query record start time

  • Unix millisecond timestamp, e.g. 1690196141868
endTime
​string · required

Query record end time

  • Unix millisecond timestamp, e.g. 1690196141868
coin
​string

Coin name

  • If not filled in, all coin withdrawal records will be retrieved
orderId
​string

Order ID

  • When querying a single order, you may use either orderId or clientOid
  • If both are provided, orderId takes precedence
clientOid
​string

Client order ID

  • When querying a single order, you may use either orderId or clientOid
  • If both are provided, orderId takes precedence
limit
​string

Items per page The default value is 20, and the maximum value is 100

cursor
​string

Cursor ID

  • Used for pagination to reduce query response time
  • Do not send for the initial query. When querying the second page and subsequent data, use the smallest orderId returned from the previous query. The results will return data less than that value

Get Withdrawal Records › Response Parameters

200

Successful response

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

Withdrawal record list

orderId
​string

Order ID

clientOid
​string

Client order ID

recordId
​string

Withdrawal record ID

  • If dest is on_chain, it is the on-chain hash value
  • If dest is internal_transfer, it is the order ID
coin
​string

Coin name

type
​string

Operation type withdraw Withdrawal

dest
​string

Withdrawal type on_chain On-chain withdrawal internal_transfer Internal transfer

size
​string

Withdrawal quantity

status
​string

Withdrawal status pending Pending success Success fail Fail

fromAddress
​string

Withdrawal initiator

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
toAddress
​string

Withdrawal recipient

  • If dest is on_chain, it is the on-chain address
  • If dest is internal_transfer, it is the UID, email, or mobile number
chain
​string

Withdrawal network

  • This parameter can be ignored when dest is internal_transfer
fee
​string

Transaction fee

  • The unit of measurement is the withdrawal coin
confirm
​string

Confirmation block count

tag
​string

Tag

createdTime
​string

Withdrawal record creation time, Unix millisecond timestamp

updatedTime
​string

Withdrawal record update time, Unix millisecond timestamp

GET/api/v3/account/withdrawal-records
curl 'https://api.bitget.com/api/v3/account/withdrawal-records?startTime=<string>&endTime=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740481864545, "data": [ { "orderId": "1278112570963742720", "clientOid": "12121212112", "recordId": "1278112570963742720", "coin": "usdt", "type": "deposit", "dest": "internal_transfer", "size": "100", "status": "success", "fromAddress": "0x51xxx", "toAddress": "0x51xxx", "chain": "erc20", "fee": "10", "confirm": "5", "tag": "", "createdTime": "1740451703778", "updatedTime": "1740451703778" } ] }
json
application/json

Get Withdraw Address Book

GET
https://api.bitget.com
/api/v3/account/withdraw-address

Rate limit: 1/sec/UID

Query the withdrawal address book bound to the account, including address label, chain type, address status and other information.

Permission: Wallet (read)

Get Withdraw Address Book › Request Parameters

coin
​string

Coin name (e.g. BTC, ETH). Returns all coins if not provided. Only supports regular address query; does not support EVM, universal, or internal address queries

type
​string

Address book type: EVM EVM address / regular Regular address / universal Universal address / internal Internal address

limit
​string

Number of entries per page. Default: 10, Max: 10

cursor
​string

Cursor ID for pagination

Get Withdraw Address Book › Response Parameters

200

Successful response

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

Address book list

cursor
​string

Cursor ID for next page pagination

GET/api/v3/account/withdraw-address
curl https://api.bitget.com/api/v3/account/withdraw-address
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740000000000, "data": { "addressList": [ { "coin": "BTC", "chain": "BTC", "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf", "countryCode": "", "label": "My BTC Wallet", "memo": "", "type": "regular", "internalType": "", "createdTime": "1740000000000" } ], "cursor": "1740000000000" } }
json
application/json

Get Transferable Coins

GET
https://api.bitget.com
/api/v3/account/transferable-coins

Rate limit: 10/sec/UID

Query transferable coins between Classic and UTA accounts.

Classic accounts include Spot, Isolated Margin, Cross Margin, USDT Futures, USDC Futures, Coin-M Futures, and P2P accounts

Permission: UTA mgt. (read)

Get Transferable Coins › Request Parameters

fromType
​string · required

From (source) account type spot Spot account/Funding account p2p P2P account/OTC account coin_futures Coin-M futures account usdt_futures USDT futures account usdc_futures USDC futures account crossed_margin Cross margin account isolated_margin Isolated margin account uta Unified trading account

toType
​string · required

To (target) account type spot Spot account/Funding account p2p P2P account/OTC account coin_futures Coin-M futures account usdt_futures USDT futures account usdc_futures USDC futures account crossed_margin Cross margin account isolated_margin Isolated margin account uta Unified trading account

Get Transferable Coins › Response Parameters

200

Successful response

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

Transferable coin list

GET/api/v3/account/transferable-coins
curl 'https://api.bitget.com/api/v3/account/transferable-coins?fromType=<string>&toType=<string>'
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1730189276579, "data": [ "USDT" ] }
json
application/json

Transfer

POST
https://api.bitget.com
/api/v3/account/transfer

Rate limit: 5/sec/UID

Support for fund transfers in and out between unified accounts and classic accounts

Permission: UTA mgt. (read & write)

Transfer › Request Parameters

fromType
​string · required

From (source) account type spot Spot account/Funding account p2p P2P account/OTC account coin_futures Coin-M futures account usdt_futures USDT futures account usdc_futures USDC futures account crossed_margin Cross margin account isolated_margin Isolated margin account uta Unified trading account

toType
​string · required

To (target) account type spot Spot account/Funding account p2p P2P account/OTC account coin_futures Coin-M futures account usdt_futures USDT futures account usdc_futures USDC futures account crossed_margin Cross margin account isolated_margin Isolated margin account uta Unified trading account

amount
​string · required

Transfer amount

coin
​string · required

Transfer coin, e.g. BTC

symbol
​string

Isolated margin symbol, e.g. BTCUSDT

allowBorrow
​string

Allow borrowing for transfer yes Enable no Disable If set to yes, when the account's available balance is insufficient, the system will automatically borrow through margin to complete the transfer

clientOid
​string

Client-defined ID

Transfer › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
transferId
​string

Transfer ID

clientOid
​string

Client-defined ID

POST/api/v3/account/transfer
curl https://api.bitget.com/api/v3/account/transfer \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "symbol": "symbol", "allowBorrow": "allowBorrow", "clientOid": "clientOid" }'
Example Request Body
{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "symbol": "symbol", "allowBorrow": "allowBorrow", "clientOid": "clientOid" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1730189276579, "data": { "transferId": "111111111111", "clientOid": "my-transfer-001" } }
json
application/json

Main-Sub Account Transfer

POST
https://api.bitget.com
/api/v3/account/sub-transfer

Rate limit: 5/sec/UID

Sub-account to main account asset transfer. The transfer types supported by this API include:

  • Main account to sub-account (only the main account API Key has permission)
  • Sub-account to main account (only the main account API Key has permission)
  • Sub-account to sub-account (only the main account API Key has permission, and the sending and receiving sub-accounts must belong to the same main account)
  • Sub-account internal transfer (only the main account API Key has permission, and the sending and receiving sub-accounts must be the same sub-account)

The UID of the transferring and receiving accounts in the request parameters must be in a main-sub or sibling relationship, and the caller must be the main account API Key.

Unified account management read and write permissions are required. Only the main account can call this API.

Main-Sub Account Transfer › Request Parameters

fromType
​string · required

Transferring account type spot Spot account/Funding account p2p P2P account/OTC account usdt_futures USDT-Margined Futures Account coin_futures Coin-Margined Futures Account usdc_futures USDC Futures Account crossed_margin Cross Margin Account uta Unified Account

The above enumerations apply to the main account If it is a sub-account: Unified account sub-account only supports uta and spot Classic account sub-account does not support uta and p2p

toType
​string · required

Receiving account type spot Spot account/Funding account p2p P2P account/OTC account usdt_futures USDT-Margined Futures Account coin_futures Coin-Margined Futures Account usdc_futures USDC Futures Account crossed_margin Cross Margin Account uta Unified Account

The above enumerations apply to the main account If it is a sub-account: Unified account sub-account only supports uta and spot Classic account sub-account does not support uta and p2p

amount
​string · required

Amount to transfer in

coin
​string · required

Transfer coin, e.g. BTC

fromUserId
​string · required

Transferring account UID

toUserId
​string · required

Receiving account UID

clientOid
​string · required

Client order ID. Cannot exceed 64 characters

allowBorrow
​string

Allow borrowing for transfer yes Enable no Disable If set to yes, when the account's available balance is insufficient, the system will automatically borrow through margin to complete the transfer

Main-Sub Account Transfer › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
transferId
​string

Transfer ID

clientOid
​string

Client order ID

POST/api/v3/account/sub-transfer
curl https://api.bitget.com/api/v3/account/sub-transfer \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "fromUserId": "fromUserId", "toUserId": "toUserId", "clientOid": "clientOid", "allowBorrow": "allowBorrow" }'
Example Request Body
{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "fromUserId": "fromUserId", "toUserId": "toUserId", "clientOid": "clientOid", "allowBorrow": "allowBorrow" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740213448866, "data": { "transferId": "172947298237423", "clientOid": "test_001" } }
json
application/json

Get Main-Sub Account Transfer Records

GET
https://api.bitget.com
/api/v3/account/sub-transfer-record

Rate limit: 5/sec/UID

This API supports retrieving transfer records between main and sub accounts.

Unified account management read permissions are required.

Get Main-Sub Account Transfer Records › Request Parameters

subUid
​string

Sub-account UID. If not provided, transfer records of the main account will be retrieved

role
​string

Transfer-out account type initiator Initiator of the transfer receiver Recipient of the transfer Default: initiator

coin
​string

Coin name

startTime
​string

Start time for querying transfer records

  • Unix millisecond timestamp, e.g. 1690196141868
  • The time interval between startTime and endTime should not exceed 90 days
endTime
​string

End time for querying transfer records

  • Unix millisecond timestamp, e.g. 1690196141868
  • The time interval between startTime and endTime should not exceed 90 days
clientOid
​string

Client order ID. Cannot exceed 64 characters

limit
​string

Items per page The default value is 100, and the maximum value is 100

cursor
​string

Cursor ID Used for pagination. Do not pass it for the first query. For subsequent queries (second page and beyond), use the cursor returned from the previous query

Get Main-Sub Account Transfer Records › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
cursor
​string

Cursor ID

​object[]

Transfer record list

GET/api/v3/account/sub-transfer-record
curl https://api.bitget.com/api/v3/account/sub-transfer-record
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1751453670468, "data": { "list": [ { "transferId": "1320888751047921664", "fromType": "spot", "toType": "uta", "amount": "20.00000000", "coin": "USDT", "fromUserId": "6841950428", "toUserId": "6841950428", "status": "Successful", "clientOid": "1320888751047921664", "createdTime": "1750650339853", "updatedTime": "1750650339853", "oldTransferId": "182797214" }, { "transferId": "1314821589514407936", "fromType": "spot", "toType": "isolated_margin", "amount": "1.00000000", "coin": "USDT", "fromUserId": "6841950428", "toUserId": "6841950428", "status": "Successful", "clientOid": "1314821589514407936", "createdTime": "1749203815821", "updatedTime": "1749203815821", "oldTransferId": "175609331" } ], "cursor": "2" } }
json
application/json

Sub-Main Account Transfer

POST
https://api.bitget.com
/api/v3/account/sub-master-transfer

Rate limit: 5/sec/UID

Sub-account initiates transfer to master account, and the caller must be the sub-account API Key.

Unified account management read and write permissions are required.

Sub-Main Account Transfer › Request Parameters

fromType
​string · required

Transferring account type spot Funding account uta Unified Account

toType
​string · required

Receiving account type spot Funding account p2p OTC account uta Unified Account

amount
​string · required

Amount to transfer in

coin
​string · required

Transfer coin, e.g. BTC

clientOid
​string

Client order ID. Cannot exceed 64 characters

Sub-Main Account Transfer › Response Parameters

200

Successful response

code
​string
msg
​string
requestTime
​integer
​object
transferId
​string

Transfer ID

clientOid
​string

Client order ID

POST/api/v3/account/sub-master-transfer
curl https://api.bitget.com/api/v3/account/sub-master-transfer \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "clientOid": "clientOid" }'
Example Request Body
{ "fromType": "fromType", "toType": "toType", "amount": "amount", "coin": "coin", "clientOid": "clientOid" }
json
Example Responses
{ "code": "00000", "msg": "success", "requestTime": 1740213448866, "data": { "transferId": "172947298237423", "clientOid": "test_001" } }
json
application/json

Sub AccountsSmall Assets Convert