The account endpoints on this page allow you to inspect balances, retrieve fee information, manage cross-collateral settings, and move funds between your spot and futures wallets — as well as between main and sub-accounts. All methods on this page require authentication (KEYED or SIGNED).Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tiagosiebler/bitmart-api/llms.txt
Use this file to discover all available pages before exploring further.
Setup
Account Balances
getFuturesAccountAssets()
Returns all asset balances held in your futures account, including available balance, frozen amounts, unrealised PnL, and position deposits.
Signature
FuturesAccountAsset)
| Field | Type | Description |
|---|---|---|
currency | string | Asset currency (e.g. USDT) |
position_deposit | string | Balance locked as position margin |
frozen_balance | string | Balance frozen in open orders |
available_balance | string | Available balance for new orders |
equity | string | Total account equity |
unrealized | string | Unrealised PnL across all positions |
Trade Fees
getFuturesTradeFeeRate(params)
Returns the personalised maker and taker fee rates for a specific futures contract.
Signature
Contract symbol (e.g.
BTCUSDT).Auto Repayment
getFuturesAutoRepayment(params?)
Queries auto-repayment records. Defaults to the last 7 days when no time range is specified. Returns a maximum of 20 records per request.
Signature
Start time as Unix timestamp (ms). Defaults to 7 days ago.
End time as Unix timestamp (ms).
Page number for pagination.
Records per page (max 20).
Filter by repayment source currency.
Repayment type filter.
Cross Collateral
getFuturesCrossCollateralInterestLog(params?)
Queries cross-margin interest accrual logs. Defaults to the last 7 days; maximum interval is 90 days. Returns at most 20 records per request.
Signature
Start time as Unix timestamp (ms).
End time as Unix timestamp (ms).
Page number for pagination.
Records per page (max 20).
Filter by currency (e.g.
USDT).Fund Transfers
getFuturesTransfers(params)
Returns transfer history between your spot and futures wallets.
Signature
Page number (1-indexed).
Number of records per page.
Filter by currency (e.g.
USDT).Start time as Unix timestamp (ms).
End time as Unix timestamp (ms).
Request validity window in milliseconds.
FuturesAccountTransfer)
| Field | Type | Description |
|---|---|---|
transfer_id | string | Unique transfer ID |
currency | string | Transferred currency |
amount | string | Transfer amount |
type | string | spot_to_contract or contract_to_spot |
state | string | PROCESSING, FINISHED, or FAILED |
timestamp | number | Transfer time (Unix ms) |
submitFuturesTransfer(params)
Moves funds between your spot wallet and futures wallet. Only USDT is currently supported. Transfer amount must be between 0.01 and 10,000,000,000.
Signature
Currency to transfer. Only
USDT is supported.Amount to transfer. Allowed range:
0.01 to 10,000,000,000.Transfer direction:
spot_to_contract— Move funds from spot to futurescontract_to_spot— Move funds from futures to spot
Request validity window in milliseconds. Allowed range:
(0, 60000]. Default: 5000.Sub-Account Management
The following methods allow a main account to move futures funds to and from sub-accounts, and to inspect sub-account balances and transfer history.Sub-account endpoints use separate API paths depending on whether the initiating party is the main account or a sub-account. Choose the correct method for your use case.
submitFuturesSubToMainTransferFromMain(params)
Initiated by the main account: pulls funds from a sub-account’s futures wallet into the main account.
Signature
UUID unique identifier for idempotency. Max length 64.
Transfer amount.
Currency. Currently only
USDT is supported.Sub-account username.
submitFuturesMainToSubTransferFromMain(params)
Initiated by the main account: pushes funds from the main account’s futures wallet to a sub-account.
Signature
TransferFuturesAssetsRequest params as submitFuturesSubToMainTransferFromMain.
submitFuturesSubToMainSubFromSub(params)
Initiated by a sub-account: transfers funds from the sub-account’s futures wallet to the main account. No subAccount field is needed as the authenticated key belongs to the sub-account itself.
Signature
UUID unique identifier. Max length 64.
Transfer amount.
Currency. Only
USDT is supported.getFuturesSubWallet(params?)
Returns the futures wallet balances for a sub-account. Must be called from the main account.
Signature
Sub-account username.
Optional currency filter (e.g.
USDT).getFuturesSubTransfers(params)
Returns the futures transfer list for a specific sub-account (called from the main account).
Signature
Sub-account username.
Number of records to return. Range:
[1, 100].getFuturesSubTransferHistory(params)
Returns the authenticated sub-account’s own transfer history. Call this using the sub-account’s API credentials.
Signature
Number of records to return. Range:
[1, 100].Affiliate Endpoints
The following methods are available for BitMart futures affiliates to query rebate and trade data for their referred users. All affiliate endpoints require KEYED authentication.getFuturesAffiliateRebates(params)
Returns a paginated list of rebate records for affiliate-referred users over a specified time range.
Signature
Page number for pagination.
Number of records per page.
Rebate currency (e.g.
USDT).Optional filter by referred user ID.
Rebate period start time (Unix ms).
Rebate period end time (Unix ms).
Filter by user registration start time (Unix ms).
Filter by user registration end time (Unix ms).
getFuturesAffiliateTrades(params)
Returns a paginated list of trade records for affiliate-referred users over a specified time range.
Signature
Page number for pagination.
Number of records per page.
Trade type:
1 = open, 2 = close.Query period start time (Unix ms).
Query period end time (Unix ms).
Optional filter by referred user ID.