UNPKG

bitmart-api

Version:

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

247 lines 8.59 kB
import { BaseRestClient, REST_CLIENT_TYPE_ENUM, } from './lib/BaseRestClient.js'; /** * REST API client for Bitmart's V2 Futures APIs via the "api-cloud-v2.bitmart.com" domain */ export class FuturesClientV2 extends BaseRestClient { constructor(restClientOptions = {}, requestOptions = {}) { super(restClientOptions, requestOptions); return this; } getClientType() { return REST_CLIENT_TYPE_ENUM.mainV2; } /** * * System Status Endpoints * **/ getSystemTime() { return this.get('system/time'); } getSystemStatus() { return this.get('system/service'); } /** * ***************** * 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) { return this.get('contract/public/details', params); } getFuturesContractDepth(params) { return this.get('contract/public/depth', params); } getFuturesMarketTrade(params) { return this.get('contract/public/market-trade', params); } getFuturesOpenInterest(params) { return this.get('contract/public/open-interest', params); } getFuturesFundingRate(params) { return this.get('contract/public/funding-rate', params); } getFuturesKlines(params) { return this.get('contract/public/kline', params); } getFuturesMarkPriceKlines(params) { return this.get('contract/public/markprice-kline', params); } getFuturesFundingRateHistory(params) { return this.get('contract/public/funding-rate-history', params); } /** * Get current leverage risk limit for a specified contract * @param params Optional parameters including symbol * @returns Promise with leverage bracket information */ getFuturesLeverageBracket(params) { return this.get('contract/public/leverage-bracket', params); } /** * * Futures Account Data * */ getFuturesAccountAssets() { return this.getPrivate('contract/private/assets-detail'); } /** * * Futures Trading * */ getFuturesTradeFeeRate(params) { return this.getPrivate('contract/private/trade-fee-rate', params); } getFuturesAccountOrder(params) { return this.getPrivate('contract/private/order', params); } getFuturesAccountOrderHistory(params) { return this.getPrivate('contract/private/order-history', params); } getFuturesAccountOpenOrders(params) { return this.getPrivate('contract/private/get-open-orders', params); } getFuturesAccountPlanOrders(params) { return this.getPrivate('contract/private/current-plan-order', params); } getFuturesAccountPositions(params) { return this.getPrivate('contract/private/position', params); } getFuturesAccountPositionsV2(params) { return this.getPrivate('contract/private/position-v2', params); } /** * Get current position risk details */ getPositionRiskDetails(params) { return this.getPrivate('contract/private/position-risk', params); } getFuturesAccountTrades(params) { return this.getPrivate('contract/private/trades', params); } getFuturesAccountTransactionHistory(params) { return this.getPrivate('contract/private/transaction-history', params); } getFuturesTransfers(params) { return this.getPrivate('account/v1/transfer-contract-list', params); } submitFuturesOrder(params) { return this.postPrivate('contract/private/submit-order', params); } updateFuturesLimitOrder(params) { return this.postPrivate('contract/private/modify-limit-order', params); } cancelFuturesOrder(params) { return this.postPrivate('contract/private/cancel-order', params); } cancelAllFuturesOrders(params) { return this.postPrivate('contract/private/cancel-orders', params); } cancelAllFuturesOrdersAfter(params) { return this.postPrivate('contract/private/cancel-all-after', params); } submitFuturesPlanOrder(params) { return this.postPrivate('contract/private/submit-plan-order', params); } cancelFuturesPlanOrder(params) { return this.postPrivate('contract/private/cancel-plan-order', params); } submitFuturesTransfer(params) { return this.postPrivate('account/v1/transfer-contract', params); } setFuturesLeverage(params) { return this.postPrivate('contract/private/submit-leverage', params); } submitFuturesTPSLOrder(params) { return this.postPrivate('contract/private/submit-tp-sl-order', params); } updateFuturesPlanOrder(params) { return this.postPrivate('contract/private/modify-plan-order', params); } updateFuturesPresetPlanOrder(params) { return this.postPrivate('contract/private/modify-preset-plan-order', params); } updateFuturesTPSLOrder(params) { return this.postPrivate('contract/private/modify-tp-sl-order', params); } submitFuturesTrailOrder(params) { return this.postPrivate('contract/private/submit-trail-order', params); } cancelFuturesTrailOrder(params) { return this.postPrivate('contract/private/cancel-trail-order', params); } /** * Set position mode (hedge_mode or one_way_mode) */ setPositionMode(params) { return this.postPrivate('contract/private/set-position-mode', params); } /** * Get current position mode */ getPositionMode() { return this.getPrivate('contract/private/get-position-mode'); } /** * * Futures Sub-Account Endpoints * */ submitFuturesSubToMainTransferFromMain(params) { return this.postPrivate('account/contract/sub-account/main/v1/sub-to-main', params); } submitFuturesMainToSubTransferFromMain(params) { return this.postPrivate('account/contract/sub-account/main/v1/main-to-sub', params); } submitFuturesSubToMainSubFromSub(params) { return this.postPrivate('account/contract/sub-account/sub/v1/sub-to-main', params); } getFuturesSubWallet(params) { return this.getPrivate('account/contract/sub-account/main/v1/wallet', params); } getFuturesSubTransfers(params) { return this.getPrivate('account/contract/sub-account/main/v1/transfer-list', params); } getFuturesSubTransferHistory(params) { return this.getPrivate('account/contract/sub-account/v1/transfer-history', params); } /** * * Futures Affiliate Endpoints * */ getFuturesAffiliateRebates(params) { return this.getPrivate('contract/private/affiliate/rebate-list', params); } getFuturesAffiliateTrades(params) { return this.getPrivate('contract/private/affiliate/trade-list', params); } /** * Get User Rebate Data (KEYED) * Used for API affiliates to query contract rebate data within a certain time range * Feature: Query up to 60 days of data */ getFuturesAffiliateRebateUser(params) { return this.getPrivate('contract/private/affiliate/rebate-user', params); } /** * Get API Rebate Data (KEYED) * Used for API affiliates to query contract API rebate data within a certain time range * Feature: Query up to 60 days of data */ getFuturesAffiliateRebateApi(params) { return this.getPrivate('contract/private/affiliate/rebate-api', params); } /** * Simulated Claim (SIGNED) * Add available funds to the futures account (Only available in the Simulated-Environment) * * Note: This endpoint is only available in the Simulated Trading environment. * To use this endpoint, create a client instance with demoTrading: true * Example: * const simulatedClient = new FuturesClientV2({ * apiKey: 'your-api-key', * apiSecret: 'your-api-secret', * apiMemo: 'your-api-memo', * demoTrading: true * }); * * Alternatively, you can manually set baseUrl: 'https://demo-api-cloud-v2.bitmart.com' */ submitFuturesSimulatedClaim(params) { return this.postPrivate('contract/private/claim', params); } } //# sourceMappingURL=FuturesClientV2.js.map