import { AxiosRequestConfig } from 'axios'; import { BaseRestClient, RestClientType } from './lib/BaseRestClient.js'; import { RestClientOptions } from './lib/requestUtils.js'; import { EarnAutoSavingBatchOperateRequest, EarnFixedAutoReinvestUpdateRequest, EarnFixedEarlyRedeemRequest, EarnFixedHistoryRequest, EarnFixedPositionsRequest, EarnFixedProductListRequest, EarnFixedSubscribeRequest, EarnFlexibleAutoSubscribeOperateRequest, EarnFlexibleAutoSubscribeStatusRequest, EarnFlexibleHistoryRequest, EarnFlexiblePositionsRequest, EarnFlexibleProductListRequest, EarnFlexibleRedeemRequest, EarnFlexibleSubscribeRequest } from './types/request/earn.types.js'; import { CancelFuturesOrderRequest, CancelFuturesPlanOrderRequest, FuturesAccountHistoricOrderRequest, FuturesAccountOpenOrdersRequest, FuturesAccountPlanOrdersRequest, FuturesAccountTradesRequest, FuturesAccountTransfersRequest, FuturesAffiliateRebatesRequest, FuturesAffiliateTradesRequest, FuturesKlinesRequest, FuturesSubTransfersRequest, FuturesSubWalletRequest, GetFuturesOrderRequest, SetFuturesLeverageRequest, SubmitFuturesOrderRequest, SubmitFuturesPlanOrderRequest, SubmitFuturesSubToMainSubFromSubRequest, SubmitFuturesTransferRequest, TransferFuturesAssetsRequest } from './types/request/futures.types.js'; import { AccountBalancesV1Request, AccountSubTransfersV1Request, CancelAllSpotAlgoOrdersV4Request, CancelOrdersV3Request, CancelSpotAlgoOrderV4Request, CancelSpotBatchOrdersV4Request, DepositWithdrawHistoryV2Request, MarginBorrowRecordsV1Request, MarginBorrowRepayV1Request, MarginRepayRecordsV1Request, SpotAlgoHistoryOrdersV4Request, SpotAlgoOpenOrdersV4Request, SpotAlgoOrderByClientOrderIdV4Request, SpotAlgoOrderByIdV4Request, SpotBrokerRebateRequest, SpotKlinesV1Request, SpotKlineV3Request, SpotOpenOrdersV4Request, SpotOrderBookDepthV1Request, SpotOrderByClientOrderIdV4Request, SpotOrderByIdV4Request, SpotOrderTradeHistoryV4Request, SubmitAccountTransferV1Request, SubmitMainTransferSubToSubV1Request, SubmitMarginTransferV1Request, SubmitSpotAlgoOrderV4Request, SubmitSpotBatchOrdersV4Request, SubmitSpotOrderV2Request, SubmitSubTransferSubToMainV1Request, SubmitSubTransferV1Request, SubmitWithdrawalV1Request, SubSpotWalletBalancesV1Request, SubTransfersV1Request } from './types/request/spot.types.js'; import { EarnAccountPosition, EarnAutoSavingBatchStatus, EarnFixedHistoryRecord, EarnFixedPosition, EarnFixedProduct, EarnFlexibleAutoSubscribeStatus, EarnFlexibleHistoryRecord, EarnFlexiblePosition, EarnFlexibleProduct, EarnPagedList } from './types/response/earn.types.js'; import { FuturesAccountAsset, FuturesAccountHistoricOrder, FuturesAccountOpenOrder, FuturesAccountOrder, FuturesAccountPlanOrders, FuturesAccountPosition, FuturesAccountSetLeverageResult, FuturesAccountSubTransfer, FuturesAccountTrade, FuturesAccountTransfer, FuturesContractDepth, FuturesContractDetails, FuturesFundingRate, FuturesKline, FuturesOpenInterest, FuturesOrderSubmitResult, FuturesTransferSubmitResult, PositionRisk } from './types/response/futures.types.js'; import { AccountCurrencyBalanceV1, APIResponse, OrderSide } from './types/response/shared.types.js'; import { AccountCurrencyV1, AccountDepositAddressV1, AccountDepositWithdrawHistoryV2, AccountWithdrawQuotaV1, ActualFeeRateV1, ArrayFormSpotKlineV3, ArrayFormSpotRecentTrade, ArrayFormSpotTickerV3, BasicFeeRateV1, CancelSpotBatchOrdersV4Response, MarginBorrowingRateV1, MarginBorrowRecordV1, MarginRepayRecordV1, ServiceStatus, SpotAccountTradeV4, SpotAlgoOrderV4, SpotBrokerRebateResult, SpotCurrencyV1, SpotKlineV1, SpotOrderBookDepthResultV1, SpotOrderBookDepthResultV3, SpotOrderV4, SpotTickerV1, SpotTickerV3, SpotTradingPairDetailsV1, SpotWalletBalanceV1, SubAccountV1, SubmittedSpotBatchOrderResponseV2, SubTransferRow, SymbolMarginAccountDetailsV1, UapiKeyAccountInfoResponse, WithdrawAddressListItem } from './types/response/spot.types.js'; /** * Unified REST API client for all of Bitmart's REST APIs * * Note: for futures V2 APIs, use the `FuturesClientV2` class instead (which maps to a different base URL) */ export declare class RestClient extends BaseRestClient { constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig); getClientType(): RestClientType; /** * * Custom SDK functions * */ /** * This method is used to get the latency and time sync between the client and the server. * This is not official API endpoint and is only used for internal testing purposes. * Use this method to check the latency and time sync between the client and the server. * Final values might vary slightly, but it should be within few ms difference. * If you have any suggestions or improvements to this measurement, please create an issue or pull request on GitHub. */ fetchLatencySummary(): Promise; /** * * System Status Endpoints * **/ getSystemTime(): Promise>; getSystemStatus(): Promise>; /** * * Public Market Data Endpoints * **/ getSpotCurrenciesV1(): Promise>; getSpotTradingPairsV1(): Promise>; getSpotTradingPairDetailsV1(): Promise>; getSpotTickersV3(): Promise>; getSpotTickerV3(params?: { symbol: string; }): Promise>; getSpotLatestKlineV3(params: SpotKlineV3Request): Promise>; getSpotHistoryKlineV3(params: SpotKlineV3Request): Promise>; getSpotOrderBookDepthV3(params: { symbol: string; limit?: number; }): Promise>; getSpotRecentTrades(params: { symbol: string; limit?: number; }): Promise>; /** * * Public Market Data Endpoints (History Version) * **/ /** * @deprecated , use V3 or V4 instead */ getSpotTickersV2(): Promise>; /** * @deprecated , use V3 or V4 instead */ getSpotTickerV1(params: { symbol: string; }): Promise>; /** * @deprecated , use V3 or V4 instead */ getSpotKLineStepsV1(): Promise>; /** * @deprecated , use V3 or V4 instead */ getSpotKlinesV1(params: SpotKlinesV1Request): Promise>; /** * @deprecated , use V3 or V4 instead */ getSpotOrderBookDepthV1(params: SpotOrderBookDepthV1Request): Promise>; /** * * Funding Account Endpoints * **/ getAccountBalancesV1(params?: AccountBalancesV1Request): Promise>; /** * Feature: Query account KYC and API key metadata (exchange update 2026-06-25). * GET `uapi-key/v1/account/info` */ getAccountInfoV1(): Promise; /** * Feature: Funding account transfer between funding and spot accounts (exchange update 2026-06-29). * POST `account/v1/transfer` */ submitAccountTransferV1(params: SubmitAccountTransferV1Request): Promise>>; getAccountCurrenciesV1(params?: { currencies?: string; }): Promise>; getSpotWalletBalanceV1(): Promise>; getAccountDepositAddressV1(params: { currency: string; }): Promise>; getAccountWithdrawQuotaV1(params: { currency: string; }): Promise>; submitWithdrawalV1(params: SubmitWithdrawalV1Request): Promise>; getWithdrawAddressList(): Promise>; getDepositWithdrawHistoryV2(params?: DepositWithdrawHistoryV2Request): Promise>; getDepositWithdrawDetailV1(params: { id: string; }): Promise>; getMarginAccountDetailsV1(params?: { symbol?: string; }): Promise>; submitMarginAssetTransferV1(params: SubmitMarginTransferV1Request): Promise>; getBasicSpotFeeRateV1(): Promise>; getActualSpotTradeFeeRateV1(params: { symbol: string; }): Promise>; /** * * Spot/Margin Trading Endpoints * **/ submitSpotOrderV2(params: SubmitSpotOrderV2Request): Promise>; submitMarginOrderV1(params: SubmitSpotOrderV2Request): Promise>; /** * @deprecated , use V3 or V4 instead */ submitSpotBatchOrdersV2(params: { order_params: SubmitSpotOrderV2Request[]; }): Promise>; cancelSpotOrderV3(params: CancelOrdersV3Request): Promise>; submitSpotBatchOrdersV4(params: SubmitSpotBatchOrdersV4Request): Promise>; /** * Cancel batch orders (v4) */ cancelSpotBatchOrdersV4(params: CancelSpotBatchOrdersV4Request): Promise>; cancelAllSpotOrders(params?: { symbol?: string; side?: OrderSide; }): Promise>; /** * @deprecated , use V3 or V4 instead */ cancelSpotOrdersV1(params?: { symbol?: string; side?: OrderSide; }): Promise>; /** * Query a spot order by order ID */ getSpotOrderByIdV4(params: SpotOrderByIdV4Request): Promise>; /** * Query a spot order by client order ID */ getSpotOrderByClientOrderIdV4(params: SpotOrderByClientOrderIdV4Request): Promise>; getSpotOpenOrdersV4(params?: SpotOpenOrdersV4Request): Promise>; getSpotHistoricOrdersV4(params?: SpotOrderTradeHistoryV4Request): Promise>; /** * Account Trade List(v4) */ getSpotAccountTradesV4(params?: SpotOrderTradeHistoryV4Request): Promise>; /** * Get all transaction records for a single order */ getSpotAccountOrderTradesV4(params: { orderId: string; recvWindow?: number; }): Promise>; submitSpotAlgoOrderV4(params: SubmitSpotAlgoOrderV4Request): Promise>; cancelSpotAlgoOrderV4(params: CancelSpotAlgoOrderV4Request): Promise>; cancelAllSpotAlgoOrdersV4(params: CancelAllSpotAlgoOrdersV4Request): Promise>; getSpotAlgoOrderByIdV4(params: SpotAlgoOrderByIdV4Request): Promise>; getSpotAlgoOrderByClientOrderIdV4(params: SpotAlgoOrderByClientOrderIdV4Request): Promise>; getSpotAlgoOpenOrdersV4(params?: SpotAlgoOpenOrdersV4Request): Promise>; getSpotAlgoHistoryOrdersV4(params?: SpotAlgoHistoryOrdersV4Request): Promise>; /** * * Margin Loan Endpoints (History versions) * **/ marginBorrowV1(params: MarginBorrowRepayV1Request): Promise>; marginRepayV1(params: MarginBorrowRepayV1Request): Promise>; getMarginBorrowRecordV1(params: MarginBorrowRecordsV1Request): Promise>; getMarginRepayRecordV1(params: MarginRepayRecordsV1Request): Promise>; /** * Get Trading Pair Borrowing Rate and Amount */ getMarginBorrowingRatesV1(params?: { symbol?: string; }): Promise>; /** * * Subaccount Endpoints * **/ /** * Sub-Account to Main-Account (For Main Account) */ submitMainTransferSubToMainV1(params: SubmitSubTransferV1Request): Promise>; /** * Sub-Account to Main-Account (For Sub-Account) */ submitSubTransferSubToMainV1(params: SubmitSubTransferSubToMainV1Request): Promise>; submitMainTransferMainToSubV1(params: SubmitSubTransferV1Request): Promise>; submitMainTransferSubToSubV1(params: SubmitMainTransferSubToSubV1Request): Promise>; submitSubTransferSubToSubV1(params: SubmitSubTransferV1Request): Promise>; getSubTransfersV1(params: SubTransfersV1Request): Promise>; getAccountSubTransfersV1(params: AccountSubTransfersV1Request): Promise>; getSubSpotWalletBalancesV1(params: SubSpotWalletBalancesV1Request): Promise>; getSubAccountsV1(): Promise>; /** * ***************** * USD-M Futures * ***************** * */ /** * * Futures Market Data * */ /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesContractDetails(params?: { symbol?: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesContractDepth(params: { symbol: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesOpenInterest(params: { symbol: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesFundingRate(params: { symbol: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesKlines(params: FuturesKlinesRequest): Promise>; /** * * Futures Account Data * */ /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountAssets(): Promise>; /** * * Futures Trading * */ /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountOrder(params: GetFuturesOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountOrderHistory(params: FuturesAccountHistoricOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountOpenOrders(params?: FuturesAccountOpenOrdersRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountPlanOrders(params?: FuturesAccountPlanOrdersRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountPositions(params?: { symbol?: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getPositionRiskDetails(params?: { symbol?: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAccountTrades(params: FuturesAccountTradesRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesTransfers(params: FuturesAccountTransfersRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesOrder(params: SubmitFuturesOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ cancelFuturesOrder(params: CancelFuturesOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ cancelAllFuturesOrders(params: { symbol: string; }): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesPlanOrder(params: SubmitFuturesPlanOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ cancelFuturesPlanOrder(params: CancelFuturesPlanOrderRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesTransfer(params: SubmitFuturesTransferRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ setFuturesLeverage(params: SetFuturesLeverageRequest): Promise>; /** * * Futures Sub-Account Endpoints * */ /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesSubToMainTransferFromMain(params: TransferFuturesAssetsRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesMainToSubTransferFromMain(params: TransferFuturesAssetsRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ submitFuturesSubToMainSubFromSub(params: SubmitFuturesSubToMainSubFromSubRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesSubWallet(params?: FuturesSubWalletRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesSubTransfers(params: FuturesSubTransfersRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesSubTransferHistory(params: { limit: number; }): Promise>; /** * * Futures Affiliate Endpoints * */ /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAffiliateRebates(params: FuturesAffiliateRebatesRequest): Promise>; /** * @deprecated Use the FuturesClientV2 instead, it uses the new V2 domain & endpoint */ getFuturesAffiliateTrades(params: FuturesAffiliateTradesRequest): Promise>; /** * * Finance | Earn (`newearn/cloud/v1`) * */ getEarnAccountPosition(): Promise>; getFlexibleSavingProducts(params: EarnFlexibleProductListRequest): Promise>>; subscribeFlexibleSaving(params: EarnFlexibleSubscribeRequest): Promise>; redeemFlexibleSaving(params: EarnFlexibleRedeemRequest): Promise>; getFlexibleSavingPositions(params: EarnFlexiblePositionsRequest): Promise>>; getFlexibleSavingHistory(params: EarnFlexibleHistoryRequest): Promise>>; getFixedSavingProducts(params: EarnFixedProductListRequest): Promise>>; subscribeFixedSaving(params: EarnFixedSubscribeRequest): Promise>; getFixedSavingPositions(params: EarnFixedPositionsRequest): Promise>>; getFixedSavingHistory(params: EarnFixedHistoryRequest): Promise>>; redeemFixedSavingEarly(params: EarnFixedEarlyRedeemRequest): Promise>; updateFixedSavingAutoReinvest(params: EarnFixedAutoReinvestUpdateRequest): Promise>; setAutoSavingBatch(params: EarnAutoSavingBatchOperateRequest): Promise>; getAutoSavingBatchStatus(): Promise>; setFlexibleSavingAutoSubscribe(params: EarnFlexibleAutoSubscribeOperateRequest): Promise>; getFlexibleSavingAutoSubscribeStatus(params: EarnFlexibleAutoSubscribeStatusRequest): Promise>; /** * * API Broker Endpoints * **/ getBrokerRebate(params?: SpotBrokerRebateRequest): Promise>; }