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
TypeScript
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>>;
}