UNPKG

binance-futures-wrapper

Version:

A comprehensive TypeScript wrapper for Binance USDT-M Futures API with full REST and WebSocket support

337 lines 9.22 kB
/** * REST API client for Binance Futures */ import { BinanceConfig, ExchangeInfo, Kline, PriceTickerData, BookTicker, OrderBook, MarketTrade, AggTrade, MarkPrice, FundingRate, AccountInfo, AccountPosition, Order, Trade, ForceOrder, PositionRisk, Income, NewOrderParams, ModifyOrderParams, Ticker24hr, PositionModeResponse, MultiAssetsResponse, OpenInterestResponse, BaseResponse, ServerTimeResponse, ListenKeyResponse, LeverageBracket, AdlQuantile, ApiTradingStatus, CancelOrderResponse, CancelAllOrdersResponse, BatchOrderResponse } from '../types'; import { EndpointKey } from './endpoints'; export declare class RestClient { private config; private client; private logger; private rateLimiter; private baseUrl; constructor(config: BinanceConfig); private setupInterceptors; private handleError; /** * Generic request method */ request<T = any>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', endpoint: string, params?: Record<string, any>, signed?: boolean): Promise<T>; /** * Call predefined endpoint */ call<T = any>(endpointKey: EndpointKey, params?: Record<string, any>): Promise<T>; /** * Test connectivity to the Rest API */ ping(): Promise<{}>; /** * Test connectivity to the Rest API and get the current server time */ time(): Promise<ServerTimeResponse>; /** * Current exchange trading rules and symbol information */ exchangeInfo(): Promise<ExchangeInfo>; /** * Get orderbook for symbol */ orderBook(params: { symbol: string; limit?: number; }): Promise<OrderBook>; /** * Get recent trades list */ trades(params: { symbol: string; limit?: number; }): Promise<MarketTrade[]>; /** * Get older market trades */ historicalTrades(params: { symbol: string; limit?: number; fromId?: number; }): Promise<MarketTrade[]>; /** * Get compressed, aggregate trades */ aggTrades(params: { symbol: string; fromId?: number; startTime?: number; endTime?: number; limit?: number; }): Promise<AggTrade[]>; /** * Kline/candlestick bars for a symbol */ klines(params: { symbol: string; interval: string; startTime?: number; endTime?: number; limit?: number; }): Promise<Kline[]>; /** * Continuous contract kline/candlestick bars for a pair */ continuousKlines(params: { pair: string; contractType: string; interval: string; startTime?: number; endTime?: number; limit?: number; }): Promise<Kline[]>; /** * Index price kline/candlestick bars for a pair */ indexPriceKlines(params: { pair: string; interval: string; startTime?: number; endTime?: number; limit?: number; }): Promise<Kline[]>; /** * Mark price kline/candlestick bars for a symbol */ markPriceKlines(params: { symbol: string; interval: string; startTime?: number; endTime?: number; limit?: number; }): Promise<Kline[]>; /** * Mark Price and Funding Rate */ markPrice(params?: { symbol?: string; }): Promise<MarkPrice | MarkPrice[]>; /** * Get funding rate history */ fundingRate(params?: { symbol?: string; startTime?: number; endTime?: number; limit?: number; }): Promise<FundingRate[]>; /** * 24hr ticker price change statistics */ ticker24hr(params?: { symbol?: string; }): Promise<Ticker24hr | Ticker24hr[]>; /** * Latest price for a symbol or symbols */ tickerPrice(params?: { symbol?: string; }): Promise<PriceTickerData | PriceTickerData[]>; /** * Best price/qty on the order book for a symbol or symbols */ bookTicker(params?: { symbol?: string; }): Promise<BookTicker | BookTicker[]>; /** * Get present open interest of a specific symbol */ openInterest(params: { symbol: string; }): Promise<OpenInterestResponse>; /** * Change user's position mode (Hedge Mode or One-way Mode) on EVERY symbol */ changePositionMode(params: { dualSidePosition: boolean; }): Promise<BaseResponse>; /** * Get user's position mode (Hedge Mode or One-way Mode) on EVERY symbol */ getPositionMode(): Promise<PositionModeResponse>; /** * Change user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol */ changeMultiAssetsMode(params: { multiAssetsMargin: boolean; }): Promise<BaseResponse>; /** * Get user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol */ getMultiAssetsMode(): Promise<MultiAssetsResponse>; /** * Send in a new order */ newOrder(params: NewOrderParams): Promise<Order>; /** * Modify an open order */ modifyOrder(params: ModifyOrderParams): Promise<Order>; /** * Place multiple orders */ newBatchOrders(params: { batchOrders: NewOrderParams[]; }): Promise<BatchOrderResponse>; /** * Check an order's status */ getOrder(params: { symbol: string; orderId?: number; origClientOrderId?: string; }): Promise<Order>; /** * Cancel an active order */ cancelOrder(params: { symbol: string; orderId?: number; origClientOrderId?: string; }): Promise<CancelOrderResponse>; /** * Cancel all open orders for a symbol */ cancelAllOrders(params: { symbol: string; }): Promise<CancelAllOrdersResponse>; /** * Cancel multiple orders */ cancelBatchOrders(params: { symbol: string; orderIdList?: number[]; origClientOrderIdList?: string[]; }): Promise<CancelOrderResponse[]>; /** * Get all open orders on a symbol */ getOpenOrders(params?: { symbol?: string; }): Promise<Order[]>; /** * Get all account orders; active, canceled, or filled */ getAllOrders(params: { symbol: string; orderId?: number; startTime?: number; endTime?: number; limit?: number; }): Promise<Order[]>; /** * Get futures account balance */ balance(): Promise<AccountPosition[]>; /** * Get current account information */ account(): Promise<AccountInfo>; /** * Change user's initial leverage of specific symbol market */ changeInitialLeverage(params: { symbol: string; leverage: number; }): Promise<BaseResponse>; /** * Change user's margin type of specific symbol market */ changeMarginType(params: { symbol: string; marginType: string; }): Promise<BaseResponse>; /** * Modify isolated position margin */ modifyPositionMargin(params: { symbol: string; positionSide?: string; amount: string; type: number; }): Promise<BaseResponse>; /** * Get position margin change history */ getPositionMarginHistory(params: { symbol: string; type?: number; startTime?: number; endTime?: number; limit?: number; }): Promise<any[]>; /** * Get current position information */ positionRisk(params?: { symbol?: string; }): Promise<PositionRisk[]>; /** * Get trades for a specific account and symbol */ userTrades(params: { symbol: string; startTime?: number; endTime?: number; fromId?: number; limit?: number; }): Promise<Trade[]>; /** * Get income history */ getIncomeHistory(params?: { symbol?: string; incomeType?: string; startTime?: number; endTime?: number; limit?: number; }): Promise<Income[]>; /** * Notional and Leverage Brackets */ leverageBracket(params?: { symbol?: string; }): Promise<LeverageBracket | LeverageBracket[]>; /** * Position ADL Quantile Estimation */ adlQuantile(params?: { symbol?: string; }): Promise<AdlQuantile[]>; /** * User's Force Orders */ forceOrders(params?: { symbol?: string; autoCloseType?: string; startTime?: number; endTime?: number; limit?: number; }): Promise<ForceOrder[]>; /** * User API Trading Quantitative Rules Indicators */ apiTradingStatus(): Promise<ApiTradingStatus>; /** * Start a new user data stream */ createListenKey(): Promise<ListenKeyResponse>; /** * Keepalive a user data stream to prevent a time out */ keepaliveListenKey(params: { listenKey: string; }): Promise<BaseResponse>; /** * Close out a user data stream */ closeListenKey(params: { listenKey: string; }): Promise<BaseResponse>; } //# sourceMappingURL=client.d.ts.map