UNPKG

bitmart-api

Version:

Complete & robust Node.js SDK for BitMart's REST APIs and WebSockets, with TypeScript declarations.

191 lines (190 loc) 8.91 kB
import { AxiosRequestConfig } from 'axios'; import { BaseRestClient, RestClientType } from './lib/BaseRestClient.js'; import { RestClientOptions } from './lib/requestUtils.js'; import { FuturesAccountHistoricOrderRequest, FuturesAccountHistoricTransactionRequest, FuturesAccountOpenOrdersRequest, FuturesAccountOrderRequest, FuturesAccountPlanOrdersRequest, FuturesAccountTradesRequest, FuturesAccountTransfersRequest, FuturesAffiliateRebatesRequest, FuturesAffiliateTradesRequest, FuturesKlinesRequest, FuturesSubTransfersRequest, FuturesSubWalletRequest, SetFuturesLeverageRequest, SubmitFuturesOrderRequest, SubmitFuturesPlanOrderRequest, SubmitFuturesSubToMainSubFromSubRequest, SubmitFuturesTPSLOrderRequest, SubmitFuturesTrailOrderRequest, SubmitFuturesTransferRequest, TransferFuturesAssetsRequest, UpdateFuturesLimitOrderRequest, UpdateFuturesPlanOrderRequest, UpdateFuturesPresetPlanOrderRequest, UpdateFuturesTPSLOrderRequest } from './types/request/futures.types.js'; import { FuturesAccountAsset, FuturesAccountHistoricOrder, FuturesAccountHistoricTransaction, FuturesAccountOpenOrder, FuturesAccountOrder, FuturesAccountPlanOrders, FuturesAccountPosition, FuturesAccountPositionV2, FuturesAccountSetLeverageResult, FuturesAccountSubTransfer, FuturesAccountTrade, FuturesAccountTransfer, FuturesContractDepth, FuturesContractDetails, FuturesFundingRate, FuturesFundingRateHistory, FuturesKline, FuturesLeverageBracketRule, FuturesMarketTrade, FuturesOpenInterest, FuturesOrderSubmitResult, FuturesTransferSubmitResult, PositionRisk } from './types/response/futures.types.js'; import { AccountCurrencyBalanceV1, APIResponse } from './types/response/shared.types.js'; import { ServiceStatus } from './types/response/spot.types.js'; /** * REST API client for Bitmart's V2 Futures APIs via the "api-cloud-v2.bitmart.com" domain */ export declare class FuturesClientV2 extends BaseRestClient { constructor(restClientOptions?: RestClientOptions, requestOptions?: AxiosRequestConfig); getClientType(): RestClientType; /** * * System Status Endpoints * **/ getSystemTime(): Promise<APIResponse<{ server_time: number; }>>; getSystemStatus(): Promise<APIResponse<{ service: ServiceStatus[]; }>>; /** * ***************** * USD-M Futures V2 * ***************** * */ /** * * Futures Market Data * */ /** * Get a list of all symbols, including most recent price, rules (min/max precision/volume/etc) and other metrics (funding rate, open interest, contract expiry, etc). */ getFuturesContractDetails(params?: { symbol?: string; }): Promise<APIResponse<{ symbols: FuturesContractDetails[]; }>>; getFuturesContractDepth(params: { symbol: string; }): Promise<APIResponse<FuturesContractDepth>>; getFuturesMarketTrade(params: { symbol: string; limit?: number; }): Promise<APIResponse<FuturesMarketTrade[]>>; getFuturesOpenInterest(params: { symbol: string; }): Promise<APIResponse<FuturesOpenInterest>>; getFuturesFundingRate(params: { symbol: string; }): Promise<APIResponse<FuturesFundingRate>>; getFuturesKlines(params: FuturesKlinesRequest): Promise<APIResponse<FuturesKline[]>>; getFuturesMarkPriceKlines(params: FuturesKlinesRequest): Promise<APIResponse<FuturesKline[]>>; getFuturesFundingRateHistory(params: { symbol: string; limit?: string; }): Promise<APIResponse<{ list: FuturesFundingRateHistory[]; }>>; /** * Get current leverage risk limit for a specified contract * @param params Optional parameters including symbol * @returns Promise with leverage bracket information */ getFuturesLeverageBracket(params?: { symbol?: string; }): Promise<APIResponse<{ rules: FuturesLeverageBracketRule[]; }>>; /** * * Futures Account Data * */ getFuturesAccountAssets(): Promise<APIResponse<FuturesAccountAsset[]>>; /** * * Futures Trading * */ getFuturesTradeFeeRate(params: { symbol: string; }): Promise<APIResponse<{ symbol: string; taker_fee_rate: string; maker_fee_rate: string; }>>; getFuturesAccountOrder(params: FuturesAccountOrderRequest): Promise<APIResponse<FuturesAccountOrder>>; getFuturesAccountOrderHistory(params: FuturesAccountHistoricOrderRequest): Promise<APIResponse<FuturesAccountHistoricOrder>>; getFuturesAccountOpenOrders(params?: FuturesAccountOpenOrdersRequest): Promise<APIResponse<FuturesAccountOpenOrder[]>>; getFuturesAccountPlanOrders(params?: FuturesAccountPlanOrdersRequest): Promise<APIResponse<FuturesAccountPlanOrders[]>>; getFuturesAccountPositions(params?: { symbol?: string; account?: string; }): Promise<APIResponse<FuturesAccountPosition[]>>; getFuturesAccountPositionsV2(params?: { symbol?: string; account?: string; }): Promise<APIResponse<FuturesAccountPositionV2[]>>; /** * Get current position risk details */ getPositionRiskDetails(params?: { symbol?: string; account?: string; }): Promise<APIResponse<PositionRisk[]>>; getFuturesAccountTrades(params: FuturesAccountTradesRequest): Promise<APIResponse<FuturesAccountTrade[]>>; getFuturesAccountTransactionHistory(params: FuturesAccountHistoricTransactionRequest): Promise<APIResponse<FuturesAccountHistoricTransaction[]>>; getFuturesTransfers(params: FuturesAccountTransfersRequest): Promise<APIResponse<{ records: FuturesAccountTransfer[]; }>>; submitFuturesOrder(params: SubmitFuturesOrderRequest): Promise<APIResponse<FuturesOrderSubmitResult>>; updateFuturesLimitOrder(params: UpdateFuturesLimitOrderRequest): Promise<APIResponse<{ order_id: number; client_order_id?: string; }>>; cancelFuturesOrder(params: FuturesAccountOrderRequest): Promise<APIResponse<any>>; cancelAllFuturesOrders(params: { symbol: string; }): Promise<APIResponse<any>>; cancelAllFuturesOrdersAfter(params: { timeout: number; symbol: string; }): Promise<APIResponse<any>>; submitFuturesPlanOrder(params: SubmitFuturesPlanOrderRequest): Promise<APIResponse<{ order_id: number; }>>; cancelFuturesPlanOrder(params: FuturesAccountOrderRequest): Promise<APIResponse<any>>; submitFuturesTransfer(params: SubmitFuturesTransferRequest): Promise<APIResponse<FuturesTransferSubmitResult>>; setFuturesLeverage(params: SetFuturesLeverageRequest): Promise<APIResponse<FuturesAccountSetLeverageResult>>; submitFuturesTPSLOrder(params: SubmitFuturesTPSLOrderRequest): Promise<APIResponse<{ order_id: string; client_order_id?: string; }>>; updateFuturesPlanOrder(params: UpdateFuturesPlanOrderRequest): Promise<APIResponse<{ order_id: string; }>>; updateFuturesPresetPlanOrder(params: UpdateFuturesPresetPlanOrderRequest): Promise<APIResponse<{ order_id: string; }>>; updateFuturesTPSLOrder(params: UpdateFuturesTPSLOrderRequest): Promise<APIResponse<{ order_id: string; }>>; submitFuturesTrailOrder(params: SubmitFuturesTrailOrderRequest): Promise<APIResponse<{ order_id: number; }>>; cancelFuturesTrailOrder(params: FuturesAccountOrderRequest): Promise<APIResponse<any>>; /** * Set position mode (hedge_mode or one_way_mode) */ setPositionMode(params: { position_mode: 'hedge_mode' | 'one_way_mode'; }): Promise<APIResponse<{ position_mode: 'hedge_mode' | 'one_way_mode'; }>>; /** * Get current position mode */ getPositionMode(): Promise<APIResponse<{ position_mode: 'hedge_mode' | 'one_way_mode'; }>>; /** * * Futures Sub-Account Endpoints * */ submitFuturesSubToMainTransferFromMain(params: TransferFuturesAssetsRequest): Promise<APIResponse<any>>; submitFuturesMainToSubTransferFromMain(params: TransferFuturesAssetsRequest): Promise<APIResponse<any>>; submitFuturesSubToMainSubFromSub(params: SubmitFuturesSubToMainSubFromSubRequest): Promise<APIResponse<any>>; getFuturesSubWallet(params?: FuturesSubWalletRequest): Promise<APIResponse<{ wallet: AccountCurrencyBalanceV1[]; }>>; getFuturesSubTransfers(params: FuturesSubTransfersRequest): Promise<APIResponse<FuturesAccountSubTransfer[]>>; getFuturesSubTransferHistory(params: { limit: number; }): Promise<APIResponse<FuturesAccountSubTransfer[]>>; /** * * Futures Affiliate Endpoints * */ getFuturesAffiliateRebates(params: FuturesAffiliateRebatesRequest): Promise<APIResponse<any>>; getFuturesAffiliateTrades(params: FuturesAffiliateTradesRequest): Promise<APIResponse<any>>; }