From f908f4b5a042b4ddde4946609723e4eeafbcd331 Mon Sep 17 00:00:00 2001
From: Liang Shi <365354+2pd@users.noreply.github.com>
Date: Fri, 27 Oct 2023 17:14:52 +1100
Subject: [PATCH] update readme
---
README.md | 5355 +----------------------------------------------------
1 file changed, 3 insertions(+), 5352 deletions(-)
diff --git a/README.md b/README.md
index 405a5940..b70fa39d 100644
--- a/README.md
+++ b/README.md
@@ -1,5354 +1,5 @@
-# binance-api-node [![build](https://github.com/ViewBlock/binance-api-node/actions/workflows/ci.yaml/badge.svg?style=flat-square)](https://github.com/ViewBlock/binance-api-node/actions) [![bnb](https://img.shields.io/badge/binance-winner-yellow.svg?style=flat-square)](https://github.com/binance-exchange/binance-api-node)
+# Discontinue this Library
-> A complete API wrapper for the [Binance](https://binance.com) API.
+The support to this library is scheduled to be discontinued, and it will be offline within the next six months.
-Note: This wrapper uses Promises, if they are not supported in your environment, you might
-want to add [a polyfill](https://github.com/stefanpenner/es6-promise) for them.
-
-For PRs or issues, head over to the [source repository](https://github.com/Ashlar/binance-api-node).
-
-### Installation
-
- yarn add binance-api-node
-
-### Getting started
-
-Import the module and create a new client. Passing api keys is optional only if
-you don't plan on doing authenticated calls. You can create an api key
-[here](https://www.binance.com/userCenter/createApi.html).
-
-```js
-import Binance from 'binance-api-node'
-
-const client = Binance()
-
-// Authenticated client, can make signed calls
-const client2 = Binance({
- apiKey: 'xxx',
- apiSecret: 'xxx',
- getTime: xxx,
-})
-
-client.time().then(time => console.log(time))
-```
-
-If you do not have an appropriate babel config, you will need to use the basic commonjs requires.
-
-```js
-const Binance = require('binance-api-node').default
-```
-
-Every REST method returns a Promise, making this library [async await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function) ready.
-Following examples will use the `await` form, which requires some configuration you will have to lookup.
-
-### Table of Contents
-- [Init](#init)
-- [Public REST Endpoints](#public-rest-endpoints)
- - [ping](#ping)
- - [time](#time)
- - [exchangeInfo](#exchangeinfo)
- - [book](#book)
- - [candles](#candles)
- - [aggTrades](#aggtrades)
- - [trades](#trades)
- - [dailyStats](#dailystats)
- - [avgPrice](#avgPrice)
- - [prices](#prices)
- - [allBookTickers](#allbooktickers)
-- [Futures Public REST Endpoints](#futures-public-rest-endpoints)
- - [futures ping](#futures-ping)
- - [futures time](#futures-time)
- - [futures exchangeInfo](#futures-exchangeinfo)
- - [futures book](#futures-book)
- - [futures candles](#futures-candles)
- - [futures aggTrades](#futures-aggtrades)
- - [futures trades](#futures-trades)
- - [futures dailyStats](#futures-dailystats)
- - [futures avgPrice](#futures-avgPrice)
- - [futures prices](#futures-prices)
- - [futures allBookTickers](#futures-allbooktickers)
- - [futures markPrice](#futures-markPrice)
- - [futures allForceOrders](#futures-allForceOrders)
-- [Delivery Public REST Endpoints](#delivery-public-rest-endpoints)
- - [delivery ping](#delivery-ping)
- - [delivery time](#delivery-time)
- - [delivery exchangeInfo](#delivery-exchangeinfo)
- - [delivery book](#delivery-book)
- - [delivery candles](#delivery-candles)
- - [delivery aggTrades](#delivery-aggtrades)
- - [delivery trades](#delivery-trades)
- - [delivery dailyStats](#delivery-dailystats)
- - [delivery avgPrice](#delivery-avgPrice)
- - [delivery prices](#delivery-prices)
- - [delivery allBookTickers](#delivery-allbooktickers)
- - [delivery markPrice](#delivery-markPrice)
-- [Authenticated REST Endpoints](#authenticated-rest-endpoints)
- - [order](#order)
- - [orderTest](#ordertest)
- - [orderOco](#orderoco)
- - [getOrder](#getorder)
- - [getOrderOco](#getorderoco)
- - [cancelOrder](#cancelorder)
- - [cancelOrderOco](#cancelorderoco)
- - [cancelOpenOrders](#cancelOpenOrders)
- - [openOrders](#openorders)
- - [allOrders](#allorders)
- - [allOrdersOCO](#allordersoco)
- - [accountInfo](#accountinfo)
- - [myTrades](#mytrades)
- - [dailyAccountSnapshot](#dailyAccountSnapshot)
- - [tradesHistory](#tradeshistory)
- - [depositHistory](#deposithistory)
- - [withdrawHistory](#withdrawhistory)
- - [withdraw](#withdraw)
- - [depositAddress](#depositaddress)
- - [tradeFee](#tradefee)
- - [capitalConfigs](#capitalConfigs)
- - [universalTransfer](#universalTransfer)
- - [universalTransferHistory](#universalTransferHistory)
- - [assetDetail](#assetDetail)
- - [getBnbBurn](#getBnbBurn)
- - [setBnbBurn](#setBnbBurn)
- - [dustLog](#dustlog)
- - [dustTransfer](#dustTransfer)
- - [accountCoins](#accountCoins)
- - [lendingAccount](#lendingAccount)
- - [fundingWallet](#fundingWallet)
- - [apiPermission](#apiPermission)
-- [Margin](#margin)
- - [marginAccountInfo](#marginAccountInfo)
- - [marginLoan](#marginLoan)
- - [marginRepay](#marginRepay)
- - [marginIsolatedAccount](#marginIsolatedAccount)
- - [marginMaxBorrow](#marginMaxBorrow)
- - [marginCreateIsolated](#marginCreateIsolated)
- - [marginIsolatedTransfer](#marginIsolatedTransfer)
- - [marginIsolatedTransferHistory](#marginIsolatedTransferHistory)
- - [marginOrder](#marginOrder)
- - [marginOrderOco](#marginOrderOco)
- - [marginGetOrder](#marginGetOrder)
- - [disableMarginAccount](#disableMarginAccount)
- - [enableMarginAccount](#enableMarginAccount)
-- [Portfolio Margin](#portfolio-margin)
- - [getPortfolioMarginAccountInfo](#getPortfolioMarginAccountInfo)
-- [Futures Authenticated REST Endpoints](#futures-authenticated-rest-endpoints)
- - [futuresBatchOrders](#futuresBatchOrders)
- - [futuresGetOrder](#futuresGetOrder)
- - [futuresCancelBatchOrders](#futuresCancelBatchOrders)
- - [futuresAccountBalance](#futuresAccountBalance)
- - [futuresUserTrades](#futuresUserTrades)
- - [futuresLeverageBracket](#futuresLeverageBracket)
- - [futuresLeverage](#futuresLeverage)
- - [futuresMarginType](#futuresMarginType)
- - [futuresPositionMargin](#futuresPositionMargin)
- - [futuresMarginHistory](#futuresMarginHistory)
- - [futuresIncome](#futuresIncome)
-- [Delivery Authenticated REST Endpoints](#delivery-authenticated-rest-endpoints)
- - [deliveryBatchOrders](#deliveryBatchOrders)
- - [deliveryGetOrder](#deliveryGetOrder)
- - [deliveryCancelBatchOrders](#deliveryCancelBatchOrders)
- - [deliveryAccountBalance](#deliveryAccountBalance)
- - [deliveryUserTrades](#deliveryUserTrades)
- - [deliveryLeverageBracket](#deliveryLeverageBracket)
- - [deliveryLeverage](#deliveryLeverage)
- - [deliveryMarginType](#deliveryMarginType)
- - [deliveryPositionMargin](#deliveryPositionMargin)
- - [deliveryMarginHistory](#deliveryMarginHistory)
- - [deliveryIncome](#deliveryIncome)
-- [Websockets](#websockets)
- - [depth](#depth)
- - [partialDepth](#partialdepth)
- - [ticker](#ticker)
- - [allTickers](#alltickers)
- - [miniTicker](#miniTicker)
- - [allMiniTickers](#allMiniTickers)
- - [bookTicker](#bookTicker)
- - [candles](#candles-1)
- - [aggTrades](#aggtrades-1)
- - [trades](#trades-1)
- - [user](#user)
- - [customSubStream](#customSubStream)
-- [Futures Websockets](#futures-websockets)
- - [futuresDepth](#futuresDepth)
- - [futuresPartialDepth](#futuresPartialdepth)
- - [futuresTicker](#futuresTicker)
- - [futuresAllTickers](#futuresAlltickers)
- - [futuresCandles](#futuresCandles)
- - [futuresAggTrades](#futuresAggtrades)
- - [futuresLiquidations](#futuresLiquidations)
- - [futuresAllLiquidations](#futuresAllLiquidations)
- - [futuresUser](#futuresUser)
- - [futuresCustomSubStream](#futuresCustomSubStream)
-- [Delivery Websockets](#delivery-websockets)
- - [deliveryDepth](#deliveryDepth)
- - [deliveryPartialDepth](#deliveryPartialdepth)
- - [deliveryTicker](#deliveryTicker)
- - [deliveryAllTickers](#deliveryAlltickers)
- - [deliveryCandles](#deliveryCandles)
- - [deliveryAggTrades](#deliveryAggtrades)
- - [deliveryLiquidations](#deliveryLiquidations)
- - [deliveryAllLiquidations](#deliveryAllLiquidations)
- - [deliveryUser](#deliveryUser)
- - [deliveryCustomSubStream](#deliveryCustomSubStream)
-- [Common](#common)
- - [getInfo](#getInfo)
-- [ErrorCodes](#errorcodes)
-
-### Init
-
-| Param | Type | Required | Info |
-| ----------- | -------- | -------- | -------------------------------------------- |
-| apiKey | String | false | Required when making private calls |
-| apiSecret | String | false | Required when making private calls |
-| getTime | Function | false | Time generator, defaults to () => Date.now() |
-| httpBase | String | false | Changes the default endpoint |
-| httpFutures | String | false | Changes the default endpoint |
-| wsBase | String | false | Changes the default endpoint |
-| wsFutures | String | false | Changes the default endpoint |
-
-### Public REST Endpoints
-
-#### ping
-
-Test connectivity to the API.
-
-```js
-console.log(await client.ping())
-```
-
-#### time
-
-Test connectivity to the Rest API and get the current server time.
-
-```js
-console.log(await client.time())
-```
-
-
-Output
-
-```js
-1508478457643
-```
-
-
-
-#### exchangeInfo
-
-Get the current exchange trading rules and symbol information. You can optionally
-pass a symbol to only retrieve info of this specific one.
-
-```js
-console.log(await client.exchangeInfo())
-```
-
-| Param | Type | Required | Default |
-| ------ | ------ | -------- | ------- |
-| symbol | String | false | |
-
-
-Output
-
-```js
-{
- "timezone": "UTC",
- "serverTime": 1508631584636,
- "rateLimits": [
- {
- "rateLimitType": "REQUEST_WEIGHT",
- "interval": "MINUTE",
- "intervalNum": 1,
- "limit": 1200
- },
- {
- "rateLimitType": "ORDERS",
- "interval": "SECOND",
- "intervalNum": 1,
- "limit": 10
- },
- {
- "rateLimitType": "ORDERS",
- "interval": "DAY",
- "intervalNum": 1,
- "limit": 100000
- }
- ],
- "exchangeFilters": [],
- "symbols": [{
- "symbol": "ETHBTC",
- "status": "TRADING",
- "baseAsset": "ETH",
- "baseAssetPrecision": 8,
- "quoteAsset": "BTC",
- "quotePrecision": 8,
- "orderTypes": ["LIMIT", "MARKET"],
- "icebergAllowed": false,
- "filters": [{
- "filterType": "PRICE_FILTER",
- "minPrice": "0.00000100",
- "maxPrice": "100000.00000000",
- "tickSize": "0.00000100"
- }, {
- "filterType": "LOT_SIZE",
- "minQty": "0.00100000",
- "maxQty": "100000.00000000",
- "stepSize": "0.00100000"
- }, {
- "filterType": "MIN_NOTIONAL",
- "minNotional": "0.00100000"
- }]
- }]
-}
-```
-
-
-
-#### book
-
-Get the order book for a symbol.
-
-```js
-console.log(await client.book({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default |
-| ------ | ------ | -------- | ------- |
-| symbol | String | true |
-| limit | Number | false | `100` |
-
-
-Output
-
-```js
-{
- lastUpdateId: 17647759,
- asks:
- [
- { price: '0.05411500', quantity: '5.55000000' },
- { price: '0.05416700', quantity: '11.80100000' }
- ],
- bids:
- [
- { price: '0.05395500', quantity: '2.70000000' },
- { price: '0.05395100', quantity: '11.84100000' }
- ]
-}
-```
-
-
-
-#### candles
-
-Retrieves Candlestick for a symbol. Candlesticks are uniquely identified by their open time.
-
-```js
-console.log(await client.candles({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------- |
-| symbol | String | true |
-| interval | String | false | `5m` | `1m`, `3m`, `5m`, `15m`, `30m`, `1h`, `2h`,
`4h`, `6h`, `8h`, `12h`, `1d`, `3d`, `1w`, `1M` |
-| limit | Number | false | `500` | Max `1000` |
-| startTime | Number | false |
-| endTime | Number | false |
-
-
-Output
-
-```js
-;[
- {
- openTime: 1508328900000,
- open: '0.05655000',
- high: '0.05656500',
- low: '0.05613200',
- close: '0.05632400',
- volume: '68.88800000',
- closeTime: 1508329199999,
- quoteAssetVolume: '2.29500857',
- trades: 85,
- baseAssetVolume: '40.61900000',
- },
-]
-```
-
-
-
-#### aggTrades
-
-Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
-
-```js
-console.log(await client.aggTrades({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | -------------------------------------------------------- |
-| symbol | String | true |
-| fromId | String | false | | ID to get aggregate trades from INCLUSIVE. |
-| startTime | Number | false | | Timestamp in ms to get aggregate trades from INCLUSIVE. |
-| endTime | Number | false | | Timestamp in ms to get aggregate trades until INCLUSIVE. |
-| limit | Number | false | `500` | Max `500` |
-
-Note: If both `startTime` and `endTime` are sent, `limit` should not be sent AND the distance between `startTime` and `endTime` must be less than 1 hour.
-
-Note: If `frondId`, `startTime`, and `endTime` are not sent, the most recent aggregate trades will be returned.
-
-
-Output
-
-```js
-;[
- {
- aggId: 2107132,
- symbol: 'ETHBTC',
- price: '0.05390400',
- quantity: '1.31000000',
- firstId: 2215345,
- lastId: 2215345,
- timestamp: 1508478599481,
- isBuyerMaker: true,
- wasBestPrice: true,
- },
-]
-```
-
-
-
-#### trades
-
-Get recent trades of a symbol.
-
-```js
-console.log(await client.trades({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| ------ | ------ | -------- | ------- | ----------- |
-| symbol | String | true |
-| limit | Number | false | `500` | Max `500` |
-
-
-Output
-
-```js
-;[
- {
- id: 28457,
- price: '4.00000100',
- qty: '12.00000000',
- time: 1499865549590,
- isBuyerMaker: true,
- isBestMatch: true,
- },
-]
-```
-
-
-
-#### dailyStats
-
-24 hour price change statistics, not providing a symbol will return all tickers and is resource-expensive.
-
-```js
-console.log(await client.dailyStats({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | false |
-
-
-Output
-
-```js
-{
- symbol: 'ETHBTC',
- priceChange: '-0.00112000',
- priceChangePercent: '-1.751',
- weightedAvgPrice: '0.06324784',
- prevClosePrice: '0.06397400',
- lastPrice: '0.06285500',
- lastQty: '0.63500000',
- bidPrice: '0.06285500',
- bidQty: '0.81900000',
- askPrice: '0.06291900',
- askQty: '2.93800000',
- openPrice: '0.06397500',
- highPrice: '0.06419100',
- lowPrice: '0.06205300',
- volume: '126240.37200000',
- quoteVolume: '7984.43091340',
- openTime: 1521622289427,
- closeTime: 1521708689427,
- firstId: 45409308, // First tradeId
- lastId: 45724293, // Last tradeId
- count: 314986 // Trade count
-}
-```
-
-
-
-#### avgPrice
-
-Current average price for a symbol.
-
-```js
-console.log(await client.avgPrice({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | true |
-
-
-Output
-
-```js
-{
- "mins": 5,
- "price": "9.35751834"
-}
-```
-
-
-
-#### prices
-
-Latest price for a symbol, not providing the symbol will return prices for all symbols.
-
-```js
-console.log(await client.prices())
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | false |
-
-
-Output
-
-```js
-{
- ETHBTC: '0.05392500',
- LTCBTC: '0.01041100',
- ...
-}
-```
-
-
-
-#### allBookTickers
-
-Best price/qty on the order book for all symbols.
-
-```js
-console.log(await client.allBookTickers())
-```
-
-
-Output
-
-```js
-{
- DASHBTC: {
- symbol: 'DASHBTC',
- bidPrice: '0.04890400',
- bidQty: '0.74100000',
- askPrice: '0.05230000',
- askQty: '0.79900000'
- },
- DASHETH: {
- symbol: 'DASHETH',
- bidPrice: '0.89582000',
- bidQty: '0.63300000',
- askPrice: '1.02328000',
- askQty: '0.99900000'
- }
- ...
-}
-```
-
-
-
-### Futures Public REST Endpoints
-
-#### futures ping
-
-Test connectivity to the API.
-
-```js
-console.log(await client.futuresPing())
-```
-
-#### futures time
-
-Test connectivity to the Rest API and get the current server time.
-
-```js
-console.log(await client.futuresTime())
-```
-
-
-Output
-
-```js
-1508478457643
-```
-
-
-
-#### futures exchangeInfo
-
-Get the current exchange trading rules and symbol information.
-
-```js
-console.log(await client.futuresExchangeInfo())
-```
-
-
-Output
-
-```js
-{
- "timezone": "UTC",
- "serverTime": 1508631584636,
- "rateLimits": [
- {
- "rateLimitType": "REQUEST_WEIGHT",
- "interval": "MINUTE",
- "intervalNum": 1,
- "limit": 1200
- },
- {
- "rateLimitType": "ORDERS",
- "interval": "SECOND",
- "intervalNum": 1,
- "limit": 10
- },
- {
- "rateLimitType": "ORDERS",
- "interval": "DAY",
- "intervalNum": 1,
- "limit": 100000
- }
- ],
- "exchangeFilters": [],
- "symbols": [...]
-}
-```
-
-
-
-#### futures book
-
-Get the order book for a symbol.
-
-```js
-console.log(await client.futuresBook({ symbol: 'BTCUSDT' }))
-```
-
-| Param | Type | Required | Default |
-| ------ | ------ | -------- | ------- |
-| symbol | String | true |
-| limit | Number | false | `100` |
-
-
-Output
-
-```js
-{
- lastUpdateId: 17647759,
- asks:
- [
- { price: '8000.05411500', quantity: '54.55000000' },
- { price: '8000.05416700', quantity: '1111.80100000' }
- ],
- bids:
- [
- { price: '8000.05395500', quantity: '223.70000000' },
- { price: '8000.05395100', quantity: '1134.84100000' }
- ]
-}
-```
-
-
-
-#### futures candles
-
-Retrieves Candlestick for a symbol. Candlesticks are uniquely identified by their open time.
-
-```js
-console.log(await client.futuresCandles({ symbol: 'BTCUSDT' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------- |
-| symbol | String | true |
-| interval | String | false | `5m` | `1m`, `3m`, `5m`, `15m`, `30m`, `1h`, `2h`,
`4h`, `6h`, `8h`, `12h`, `1d`, `3d`, `1w`, `1M` |
-| limit | Number | false | `500` | Max `1000` |
-| startTime | Number | false |
-| endTime | Number | false |
-
-
-Output
-
-```js
-;[
- {
- openTime: 1508328900000,
- open: '0.05655000',
- high: '0.05656500',
- low: '0.05613200',
- close: '0.05632400',
- volume: '68.88800000',
- closeTime: 1508329199999,
- quoteAssetVolume: '2.29500857',
- trades: 85,
- baseAssetVolume: '40.61900000',
- },
-]
-```
-
-
-
-#### futures aggTrades
-
-Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
-
-```js
-console.log(await client.futuresAggTrades({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | -------------------------------------------------------- |
-| symbol | String | true | | |
-| fromId | String | false | | ID to get aggregate trades from INCLUSIVE. |
-| startTime | Number | false | | Timestamp in ms to get aggregate trades from INCLUSIVE. |
-| endTime | Number | false | | Timestamp in ms to get aggregate trades until INCLUSIVE. |
-| limit | Number | false | `500` | Max `500` |
-
-Note: If both `startTime` and `endTime` are sent, `limit` should not be sent AND the distance between `startTime` and `endTime` must be less than 24 hours.
-
-Note: If `frondId`, `startTime`, and `endTime` are not sent, the most recent aggregate trades will be returned.
-
-
-Output
-
-```js
-;[
- {
- aggId: 2107132,
- price: '0.05390400',
- quantity: '1.31000000',
- firstId: 2215345,
- lastId: 2215345,
- timestamp: 1508478599481,
- isBuyerMaker: true,
- wasBestPrice: true,
- },
-]
-```
-
-
-
-#### futures trades
-
-Get recent trades of a symbol.
-
-```js
-console.log(await client.futuresTrades({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| ------ | ------ | -------- | ------- | ----------- |
-| symbol | String | true |
-| limit | Number | false | `500` | Max `500` |
-
-
-Output
-
-```js
-;[
- {
- id: 28457,
- price: '4.00000100',
- qty: '12.00000000',
- time: 1499865549590,
- isBuyerMaker: true,
- isBestMatch: true,
- },
-]
-```
-
-
-
-#### futures dailyStats
-
-24 hour price change statistics, not providing a symbol will return all tickers and is resource-expensive.
-
-```js
-console.log(await client.futuresDailyStats({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | false |
-
-
-Output
-
-```js
-{
- symbol: 'BTCUSDT',
- priceChange: '-0.00112000',
- priceChangePercent: '-1.751',
- weightedAvgPrice: '0.06324784',
- prevClosePrice: '0.06397400',
- lastPrice: '0.06285500',
- lastQty: '0.63500000',
- bidPrice: '0.06285500',
- bidQty: '0.81900000',
- askPrice: '0.06291900',
- askQty: '2.93800000',
- openPrice: '0.06397500',
- highPrice: '0.06419100',
- lowPrice: '0.06205300',
- volume: '126240.37200000',
- quoteVolume: '7984.43091340',
- openTime: 1521622289427,
- closeTime: 1521708689427,
- firstId: 45409308, // First tradeId
- lastId: 45724293, // Last tradeId
- count: 314986 // Trade count
-}
-```
-
-
-
-#### futures prices
-
-Latest price for symbol, not providing a symbol will return latest price for all symbols and is resource-expensive.
-
-```js
-console.log(await client.futuresPrices())
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | false |
-
-
-Output
-
-```js
-{
- BTCUSDT: '8590.05392500',
- ETHUSDT: '154.1100',
- ...
-}
-```
-
-
-
-#### futures allBookTickers
-
-Best price/qty on the order book for all symbols.
-
-```js
-console.log(await client.futuresAllBookTickers())
-```
-
-
-Output
-
-```js
-{
- BTCUSDT: {
- symbol: 'BTCUSDT',
- bidPrice: '0.04890400',
- bidQty: '0.74100000',
- askPrice: '0.05230000',
- askQty: '0.79900000'
- },
- ETHUSDT: {
- symbol: 'ETHUSDT',
- bidPrice: '0.89582000',
- bidQty: '0.63300000',
- askPrice: '1.02328000',
- askQty: '0.99900000'
- }
- ...
-}
-```
-
-
-
-#### futures markPrice
-
-Mark Price and Funding Rate.
-
-```js
-console.log(await client.futuresMarkPrice())
-```
-
-
-Output
-
-```js
-{
- "symbol": "BTCUSDT",
- "markPrice": "11012.80409769",
- "lastFundingRate": "-0.03750000",
- "nextFundingTime": 1562569200000,
- "time": 1562566020000
-}
-```
-
-
-
-#### futures AllForceOrders
-
-Get all Liquidation Orders.
-
-```js
-console.log(await client.futuresAllForceOrders())
-```
-
-| Param | Type | Required |
-| --------- | ------ | -------- |
-| symbol | String | false |
-| startTime | Long | false |
-| endTime | Long | false |
-| limit | Long | false |
-
-
-Output
-
-```js
-;[
- {
- symbol: 'BTCUSDT', // SYMBOL
- price: '7918.33', // ORDER_PRICE
- origQty: '0.014', // ORDER_AMOUNT
- executedQty: '0.014', // FILLED_AMOUNT
- avragePrice: '7918.33', // AVG_PRICE
- status: 'FILLED', // STATUS
- timeInForce: 'IOC', // TIME_IN_FORCE
- type: 'LIMIT',
- side: 'SELL', // DIRECTION
- time: 1568014460893,
- },
-]
-```
-
-
-
-### Delivery Public REST Endpoints
-
-#### delivery ping
-
-Test connectivity to the API.
-
-```js
-console.log(await client.deliveryPing())
-```
-
-#### delivery time
-
-Test connectivity to the Rest API and get the current server time.
-
-```js
-console.log(await client.deliveryTime())
-```
-
-
-Output
-
-```js
-1508478457643
-```
-
-
-
-#### delivery exchangeInfo
-
-Get the current exchange trading rules and symbol information.
-
-```js
-console.log(await client.deliveryExchangeInfo())
-```
-
-
-Output
-
-```js
-{
- timezone: 'UTC',
- serverTime: 1663099219744,
- rateLimits: [
- {
- rateLimitType: 'REQUEST_WEIGHT',
- interval: 'MINUTE',
- intervalNum: 1,
- limit: 2400
- },
- {
- rateLimitType: 'ORDERS',
- interval: 'MINUTE',
- intervalNum: 1,
- limit: 1200
- }
- ],
- exchangeFilters: [],
- symbols: [...]
-}
-```
-
-
-
-#### delivery book
-
-Get the order book for a symbol.
-
-```js
-console.log(await client.deliveryBook({ symbol: 'TRXUSD_PERP' }))
-```
-
-| Param | Type | Required | Default |
-| ------ | ------ | -------- | ------- |
-| symbol | String | true |
-| limit | Number | false | `500` |
-
-
-Output
-
-```js
-{
- lastUpdateId: 17647759,
- asks:
- [
- { price: '8000.05411500', quantity: '54.55000000' },
- { price: '8000.05416700', quantity: '1111.80100000' }
- ],
- bids:
- [
- { price: '8000.05395500', quantity: '223.70000000' },
- { price: '8000.05395100', quantity: '1134.84100000' }
- ]
-}
-```
-
-
-
-#### delivery candles
-
-Retrieves Candlestick for a symbol. Candlesticks are uniquely identified by their open time.
-
-```js
-console.log(await client.deliveryCandles({ symbol: 'TRXUSD_PERP' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------- |
-| symbol | String | true |
-| interval | String | false | `5m` | `1m`, `3m`, `5m`, `15m`, `30m`, `1h`, `2h`,
`4h`, `6h`, `8h`, `12h`, `1d`, `3d`, `1w`, `1M` |
-| limit | Number | false | `500` | Max `1000` |
-| startTime | Number | false |
-| endTime | Number | false |
-
-
-Output
-
-```js
-[
- {
- openTime: 1663104600000,
- open: '0.06091',
- high: '0.06091',
- low: '0.06086',
- close: '0.06090',
- volume: '7927',
- closeTime: 1663104899999,
- baseVolume: '1302212.12820796',
- trades: 75,
- quoteAssetVolume: '386',
- baseAssetVolume: '63382.78318786'
- }
-]
-```
-
-
-
-#### delivery aggTrades
-
-Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
-
-```js
-console.log(await client.deliveryAggTrades({ symbol: 'TRXUSD_PERP' }))
-```
-
-| Param | Type | Required | Default | Description |
-| --------- | ------ | -------- | ------- | -------------------------------------------------------- |
-| symbol | String | true | | |
-| fromId | String | false | | ID to get aggregate trades from INCLUSIVE. |
-| startTime | Number | false | | Timestamp in ms to get aggregate trades from INCLUSIVE. |
-| endTime | Number | false | | Timestamp in ms to get aggregate trades until INCLUSIVE. |
-| limit | Number | false | `500` | Max `1000` |
-
-Note: If both `startTime` and `endTime` are sent, `limit` should not be sent AND the distance between `startTime` and `endTime` must be less than 24 hours.
-
-Note: If `fromId`, `startTime`, and `endTime` are not sent, the most recent aggregate trades will be returned.
-
-Note : Only market trades will be aggregated and returned, which means the insurance fund trades and ADL trades won't be aggregated.
-
-
-Output
-
-```js
-[
- {
- aggId: 14642023,
- symbol: 'TRXUSD_PERP',
- price: '0.06087',
- quantity: '50',
- firstId: 26319898,
- lastId: 26319898,
- timestamp: 1663105187120,
- isBuyerMaker: false,
- }
-]
-```
-
-
-
-#### delivery trades
-
-Get recent trades of a symbol.
-
-```js
-console.log(await client.deliveryTrades({ symbol: 'TRXUSD_PERP' }))
-```
-
-| Param | Type | Required | Default | Description |
-| ------ | ------ | -------- | ------- | ----------- |
-| symbol | String | true |
-| limit | Number | false | `500` | Max `1000` |
-
-
-Output
-
-```js
-;[
- {
- id: 26319660,
- price: '0.06097',
- qty: '28',
- baseQty: '4592.42250287',
- time: 1663103746267,
- isBuyerMaker: true
- },
-]
-```
-
-
-
-#### delivery dailyStats
-
-24 hour price change statistics, not providing a symbol will return all tickers and is resource-expensive.
-
-```js
-console.log(await client.deliveryDailyStats({ symbol: 'TRXUSD_PERP' }))
-```
-
-| Param | Type | Required |
-| ------ | ------ | -------- |
-| symbol | String | false |
-| pair | String | false |
-
-
-Output
-
-```js
-{
- symbol: 'TRXUSD_PERP',
- pair: 'TRXUSD',
- priceChange: '-0.00277',
- priceChangePercent: '-4.353',
- weightedAvgPrice: '0.06248010',
- lastPrice: '0.06087',
- lastQty: '4',
- openPrice: '0.06364',
- highPrice: '0.06395',
- lowPrice: '0.06069',
- volume: '545316',
- baseVolume: '87278342.48218514',
- openTime: 1663019640000,
- closeTime: 1663106045576,
- firstId: 26308774,
- lastId: 26320065,
- count: 11292
-}
-```
-
-
-
-#### delivery prices
-
-Latest price for all symbols.
-
-```js
-console.log(await client.futuresPrices())
-```
-
-
-Output
-
-```js
-{
- BTCUSDT: '8590.05392500',
- ETHUSDT: '154.1100',
- ...
-}
-```
-
-
-
-#### delivery allBookTickers
-
-Best price/qty on the order book for all symbols.
-
-```js
-console.log(await client.deliveryAllBookTickers())
-```
-
-
-Output
-
-```js
-{
- BTCUSD_PERP: {
- symbol: 'BTCUSD_PERP',
- pair: 'BTCUSD',
- bidPrice: '20120.9',
- bidQty: '13673',
- askPrice: '20121.0',
- askQty: '2628',
- time: 1663106372658
- },
- ETHUSD_PERP: {
- symbol: 'ETHUSD_PERP',
- pair: 'ETHUSD',
- bidPrice: '1593.63',
- bidQty: '7210',
- askPrice: '1593.64',
- askQty: '27547',
- time: 1663106372667
- }
- ...
-}
-```
-
-
-
-#### delivery markPrice
-
-Mark Price and Funding Rate.
-
-```js
-console.log(await client.deliveryMarkPrice())
-```
-
-
-Output
-
-```js
-[
- {
- symbol: 'BTCUSD_221230',
- pair: 'BTCUSD',
- markPrice: '20158.81560758',
- indexPrice: '20152.05327273',
- estimatedSettlePrice: '20147.96717735',
- lastFundingRate: '',
- interestRate: '',
- nextFundingTime: 0,
- time: 1663106459005
- },
- {
- symbol: 'FILUSD_PERP',
- pair: 'FILUSD',
- markPrice: '5.88720470',
- indexPrice: '5.89106242',
- estimatedSettlePrice: '5.89377086',
- lastFundingRate: '0.00010000',
- interestRate: '0.00010000',
- nextFundingTime: 1663113600000,
- time: 1663106459005
- }
- ...
-]
-```
-
-
-
-### Authenticated REST Endpoints
-
-Note that for all authenticated endpoints, you can pass an extra parameter
-`useServerTime` set to `true` in order to fetch the server time before making
-the request.
-
-#### order
-
-Creates a new order.
-
-```js
-console.log(
- await client.order({
- symbol: 'XLMETH',
- side: 'BUY',
- quantity: '100',
- price: '0.0002',
- }),
-)
-```
-
-| Param | Type | Required | Default | Description |
-| ---------------- | ------ | -------- | -------- | ------------------------------------------------------------------- |
-| symbol | String | true | | |
-| side | String | true | | `BUY`,`SELL` |
-| type | String | false | `LIMIT` | `LIMIT`, `MARKET` |
-| quantity | String | true | | |
-| price | String | true | | Optional for `MARKET` orders |
-| timeInForce | String | false | `GTC` | `FOK`, `GTC`, `IOC` |
-| newClientOrderId | String | false | | A unique id for the order. Automatically generated if not sent. |
-| stopPrice | Number | false | | Used with stop orders |
-| activationPrice | Number | false | | Used with `TRAILING_STOP_MARKET` |
-| callbackRate | Number | false | | Used with `TRAILING_STOP_MARKET` |
-| newOrderRespType | String | false | `RESULT` | Returns more complete info of the order. `ACK`, `RESULT`, or `FULL` |
-| icebergQty | Number | false | | Used with iceberg orders |
-| recvWindow | Number | false | | |
-
-Additional mandatory parameters based on `type`:
-
-| Type | Additional mandatory parameters |
-| -----------------------| ----------------------------------------------- |
-| `LIMIT` | `timeInForce`, `quantity`, `price` |
-| `MARKET` | `quantity` |
-| `STOP` | `quantity`, `price`, `stopPrice` |
-| `STOP_LOSS_LIMIT` | `timeInForce`, `quantity`, `price`, `stopPrice` |
-| `STOP_LOSS_MARKET` | `stopPrice` |
-| `TAKE_PROFIT` | `quantity`, `price`, `stopPrice` |
-| `TAKE_PROFIT_MARKET` | `stopPrice` |
-| `STOP_PROFIT_LIMIT` | `timeInForce`, `quantity`, `price`, `stopPrice` |
-| `LIMIT_MAKER` | `quantity`, `price` |
-| `TRAILING_STOP_MARKET` | `callbackRate`, `activationPrice` |
-
-- `LIMIT_MAKER` are `LIMIT` orders that will be rejected if they would immediately match and trade as a taker.
-- `STOP` and `TAKE_PROFIT` will execute a `MARKET` order when the `stopPrice` is reached.
-- Any `LIMIT` or `LIMIT_MAKER` type order can be made an iceberg order by sending an `icebergQty`.
-- Any order with an `icebergQty` MUST have `timeInForce` set to `GTC`.
-
-
-Output
-
-```js
-{
- symbol: 'XLMETH',
- orderId: 1740797,
- clientOrderId: '1XZTVBTGS4K1e',
- transactTime: 1514418413947,
- price: '0.00020000',
- origQty: '100.00000000',
- executedQty: '0.00000000',
- status: 'NEW',
- timeInForce: 'GTC',
- type: 'LIMIT',
- side: 'BUY'
-}
-```
-
-
-
-#### orderTest
-
-Test new order creation and signature/recvWindow. Creates and validates a new order but does not send it into the matching engine.
-
-Same API as above, but does not return any output on success.
-
-#### orderOco
-
-Creates a new OCO order.
-
-```js
-console.log(
- await client.orderOco({
- symbol: 'XLMETH',
- side: 'SELL',
- quantity: 100,
- price: 0.0002,
- stopPrice: 0.0001,
- stopLimitPrice: 0.0001,
- }),
-)
-```
-
-| Param | Type | Required | Description
-|----------------------|--------|----------|------------
-| symbol | String | true |
-| listClientOrderId | String | false | A unique Id for the entire orderList
-| side | String | true | `BUY`,`SELL`
-| quantity | Number | true |
-| limitClientOrderId | String | false | A unique Id for the limit order
-| price | Number | true |
-| limitIcebergQty | Number | false | Used to make the `LIMIT_MAKER` leg an iceberg order.
-| stopClientOrderId | String | false | A unique Id for the stop loss/stop loss limit leg
-| stopPrice | Number | true
-| stopLimitPrice | Number | false | If provided, `stopLimitTimeInForce` is required.
-| stopIcebergQty | Number | false | Used with `STOP_LOSS_LIMIT` leg to make an iceberg order.
-| stopLimitTimeInForce | String | false | `FOK`, `GTC`, `IOC`
-| newOrderRespType | String | false | Returns more complete info of the order. `ACK`, `RESULT`, or `FULL`
-| recvWindow | Number | false | The value cannot be greater than `60000`
-
-Additional Info:
-- Price Restrictions:
- - `SELL`: Limit Price > Last Price > Stop Price
- - `BUY`: Limit Price < Last Price < Stop Price
-- Quantity Restrictions:
- - Both legs must have the same quantity.
- - ```ICEBERG``` quantities however do not have to be the same
-
-
-Output
-
-```js
-{
- "orderListId": 0,
- "contingencyType": "OCO",
- "listStatusType": "EXEC_STARTED",
- "listOrderStatus": "EXECUTING",
- "listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
- "transactionTime": 1514418413947,
- "symbol": "XLMETH",
- "orders": [
- {
- "symbol": "XLMETH",
- "orderId": 1740797,
- "clientOrderId": "1XZTVBTGS4K1e"
- },
- {
- "symbol": "XLMETH",
- "orderId": 1740798,
- "clientOrderId": "1XZTVBTGS4K1f"
- }
- ],
- "orderReports": [
- {
- "symbol": "XLMETH",
- "orderId": 1740797,
- "orderListId": 0,
- "clientOrderId": "1XZTVBTGS4K1e",
- "transactTime": 1514418413947,
- "price": "0.000000",
- "origQty": "100",
- "executedQty": "0.000000",
- "cummulativeQuoteQty": "0.000000",
- "status": "NEW",
- "timeInForce": "GTC",
- "type": "STOP_LOSS",
- "side": "SELL",
- "stopPrice": "0.0001"
- },
- {
- "symbol": "XLMETH",
- "orderId": 1740798,
- "orderListId": 0,
- "clientOrderId": "1XZTVBTGS4K1f",
- "transactTime": 1514418413947,
- "price": "0.0002",
- "origQty": "100",
- "executedQty": "0.000000",
- "cummulativeQuoteQty": "0.000000",
- "status": "NEW",
- "timeInForce": "GTC",
- "type": "LIMIT_MAKER",
- "side": "SELL"
- }
- ]
-}
-```
-
-
-
-#### getOrder
-
-Check an order's status.
-
-```js
-console.log(
- await client.getOrder({
- symbol: 'BNBETH',
- orderId: 50167927,
- }),
-)
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------ | -------- | ------------------------------------------- |
-| symbol | String | true |
-| orderId | Number | true | Not required if `origClientOrderId` is used |
-| origClientOrderId | String | false |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- clientOrderId: 'NkQnNkdBV1RGjUALLhAzNy',
- cummulativeQuoteQty: '0.16961580',
- executedQty: '3.91000000',
- icebergQty: '0.00000000',
- isWorking: true,
- orderId: 50167927,
- origQty: '3.91000000',
- price: '0.04338000',
- side: 'SELL',
- status: 'FILLED',
- stopPrice: '0.00000000',
- symbol: 'BNBETH',
- time: 1547075007821,
- timeInForce: 'GTC',
- type: 'LIMIT',
- updateTime: 1547075016737
-}
-
-```
-
-
-
-#### getOrderOco
-
-Retrieves a specific OCO based on provided optional parameters
-
-```js
-console.log(
- await client.getOrderOco({
- orderListId: 27,
- }),
-)
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------ | -------- | ------------------------------------------- |
-| orderListId | Number | true | Not required if `listClientOrderId` is used |
-| listClientOrderId | String | false |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- orderListId: 27,
- contingencyType: 'OCO',
- listStatusType: 'EXEC_STARTED',
- listOrderStatus: 'EXECUTING',
- listClientOrderId: 'h2USkA5YQpaXHPIrkd96xE',
- transactionTime: 1565245656253,
- symbol: 'LTCBTC',
- orders: [
- {
- symbol: 'LTCBTC',
- orderId: 4,
- clientOrderId: 'qD1gy3kc3Gx0rihm9Y3xwS'
- },
- {
- symbol: 'LTCBTC',
- orderId: 5,
- clientOrderId: 'ARzZ9I00CPM8i3NhmU9Ega'
- }
- ]
-}
-```
-
-
-
-#### cancelOrder
-
-Cancels an active order.
-
-```js
-console.log(
- await client.cancelOrder({
- symbol: 'ETHBTC',
- orderId: 1,
- }),
-)
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------ | -------- | -------------------------------------------------------------------------- |
-| symbol | String | true |
-| orderId | Number | true | Not required if `origClientOrderId` is used |
-| origClientOrderId | String | false |
-| newClientOrderId | String | false | Used to uniquely identify this cancel. Automatically generated by default. |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- symbol: 'ETHBTC',
- origClientOrderId: 'bnAoRHgI18gRD80FJmsfNP',
- orderId: 1,
- clientOrderId: 'RViSsQPTp1v3WmLYpeKT11'
-}
-```
-
-
-
-#### cancelOrderOco
-
-Cancel an entire Order List.
-
-```js
-console.log(
- await client.cancelOrderOco({
- symbol: 'ETHBTC',
- orderListId: 0,
- }),
-)
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------ | -------- | -------------------------------------------------------------------------- |
-| symbol | String | true |
-| orderListId | Number | true | Not required if `listClientOrderId` is used |
-| listClientOrderId | String | false |
-| newClientOrderId | String | false | Used to uniquely identify this cancel. Automatically generated by default. |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- orderListId: 0,
- contingencyType: 'OCO',
- listStatusType: 'ALL_DONE',
- listOrderStatus: 'ALL_DONE',
- listClientOrderId: 'C3wyj4WVEktd7u9aVBRXcN',
- transactionTime: 1574040868128,
- symbol: 'LTCBTC',
- orders: [
- {
- symbol: 'LTCBTC',
- orderId: 2,
- clientOrderId: 'pO9ufTiFGg3nw2fOdgeOXa'
- },
- {
- symbol: 'LTCBTC',
- orderId: 3,
- clientOrderId: 'TXOvglzXuaubXAaENpaRCB'
- }
- ],
- orderReports: [
- {
- symbol: 'LTCBTC',
- origClientOrderId: 'pO9ufTiFGg3nw2fOdgeOXa',
- orderId: 2,
- orderListId: 0,
- clientOrderId: 'unfWT8ig8i0uj6lPuYLez6',
- price: '1.00000000',
- origQty: '10.00000000',
- executedQty: '0.00000000',
- cummulativeQuoteQty: '0.00000000',
- status: 'CANCELED',
- timeInForce: 'GTC',
- type: 'STOP_LOSS_LIMIT',
- side: 'SELL',
- stopPrice: '1.00000000'
- },
- {
- symbol: 'LTCBTC',
- origClientOrderId: 'TXOvglzXuaubXAaENpaRCB',
- orderId: 3,
- orderListId: 0,
- clientOrderId: 'unfWT8ig8i0uj6lPuYLez6',
- price: '3.00000000',
- origQty: '10.00000000',
- executedQty: '0.00000000',
- cummulativeQuoteQty: '0.00000000',
- status: 'CANCELED',
- timeInForce: 'GTC',
- type: 'LIMIT_MAKER',
- side: 'SELL'
- }
- ]
-}
-```
-
-
-
-#### cancelOpenOrders
-
-Cancels all active orders on a symbol.
-This includes OCO orders.
-
-```js
-console.log(
- await client.cancelOpenOrders({
- symbol: 'ETHBTC'
- }),
-)
-```
-| Param | Type | Required |
-|------------|----------|-----------|
-| symbol | String | true |
-
-
-Output
-
-```js
-[
- {
- symbol: 'ETHBTC',
- origClientOrderId: 'bnAoRHgI18gRD80FJmsfNP',
- orderId: 1,
- clientOrderId: 'RViSsQPTp1v3WmLYpeKT11'
- },
- {
- symbol: 'ETHBTC',
- origClientOrderId: 'IDbzcGmfwSCKihxILK1snu',
- orderId: 2,
- clientOrderId: 'HKFcuWAm9euMgRuwVGR8CL'
- }
-]
-```
-
-
-
-#### openOrders
-
-Get all open orders on a symbol.
-
-```js
-console.log(
- await client.openOrders({
- symbol: 'XLMBTC',
- }),
-)
-```
-
-| Param | Type | Required |
-| ---------- | ------ | -------- |
-| symbol | String | true |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-;[
- {
- symbol: 'XLMBTC',
- orderId: 11271740,
- clientOrderId: 'ekHkROfW98gBN80LTfufQZ',
- price: '0.00001081',
- origQty: '1331.00000000',
- executedQty: '0.00000000',
- status: 'NEW',
- timeInForce: 'GTC',
- type: 'LIMIT',
- side: 'BUY',
- stopPrice: '0.00000000',
- icebergQty: '0.00000000',
- time: 1522682290485,
- isWorking: true,
- },
-]
-```
-
-
-
-#### allOrders
-
-Get all account orders on a symbol; active, canceled, or filled.
-
-```js
-console.log(
- await client.allOrders({
- symbol: 'ETHBTC',
- }),
-)
-```
-
-| Param | Type | Required | Default | Description |
-| ---------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------- |
-| symbol | String | true |
-| orderId | Number | false | | If set, it will get orders >= that orderId. Otherwise most recent orders are returned. |
-| limit | Number | false | `500` | Max `500` |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-;[
- {
- symbol: 'ENGETH',
- orderId: 191938,
- clientOrderId: '1XZTVBTGS4K1e',
- price: '0.00138000',
- origQty: '1.00000000',
- executedQty: '1.00000000',
- status: 'FILLED',
- timeInForce: 'GTC',
- type: 'LIMIT',
- side: 'SELL',
- stopPrice: '0.00000000',
- icebergQty: '0.00000000',
- time: 1508611114735,
- isWorking: true,
- },
-]
-```
-
-
-
-
-#### allOrdersOCO
-
-Retrieves all OCO based on provided optional parameters
-
-```js
-console.log(
- await client.allOrdersOCO({
- timestamp: 1565245913483,
- }),
-)
-```
-
-| Param | Type | Required | Default | Description |
-|------------|---------|----------|---------|-----------------------------------------------------------|
-| timestamp | Number | true | | |
-| startTime | Number | false | | |
-| endTime | Number | false | | |
-| limit | Integer | false | `500` | Max `1000` |
-| recvWindow | Number | false | | The value cannot be greater than 60000 |
-| formId | Number | false | | If supplied, neither startTime or endTime can be provided |
-
-
-Output
-
-```js
-;[
- {
- "orderListId": 29,
- "contingencyType": "OCO",
- "listStatusType": "EXEC_STARTED",
- "listOrderStatus": "EXECUTING",
- "listClientOrderId": "amEEAXryFzFwYF1FeRpUoZ",
- "transactionTime": 1565245913483,
- "symbol": "LTCBTC",
- "orders": [
- {
- "symbol": "LTCBTC",
- "orderId": 4,
- "clientOrderId": "oD7aesZqjEGlZrbtRpy5zB"
- },
- {
- "symbol": "LTCBTC",
- "orderId": 5,
- "clientOrderId": "Jr1h6xirOxgeJOUuYQS7V3"
- }
- ]
- },
- {
- "orderListId": 28,
- "contingencyType": "OCO",
- "listStatusType": "EXEC_STARTED",
- "listOrderStatus": "EXECUTING",
- "listClientOrderId": "hG7hFNxJV6cZy3Ze4AUT4d",
- "transactionTime": 1565245913407,
- "symbol": "LTCBTC",
- "orders": [
- {
- "symbol": "LTCBTC",
- "orderId": 2,
- "clientOrderId": "j6lFOfbmFMRjTYA7rRJ0LP"
- },
- {
- "symbol": "LTCBTC",
- "orderId": 3,
- "clientOrderId": "z0KCjOdditiLS5ekAFtK81"
- }
- ]
- }
-]
-```
-
-
-
-
-#### accountInfo
-
-Get current account information.
-
-```js
-console.log(await client.accountInfo())
-```
-
-| Param | Type | Required |
-| ---------- | ------ | -------- |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- makerCommission: 10,
- takerCommission: 10,
- buyerCommission: 0,
- sellerCommission: 0,
- canTrade: true,
- canWithdraw: true,
- canDeposit: true,
- balances: [
- { asset: 'BTC', free: '0.00000000', locked: '0.00000000' },
- { asset: 'LTC', free: '0.00000000', locked: '0.00000000' },
- ]
-}
-```
-
-
-
-#### myTrades
-
-Get trades for the current authenticated account and symbol.
-
-```js
-console.log(
- await client.myTrades({
- symbol: 'ETHBTC',
- }),
-)
-```
-
-| Param | Type | Required | Default | Description |
-| ---------- | ------ | -------- | ------- | ------------------------------------------------------- |
-| symbol | String | true |
-| limit | Number | false | `500` | Max `1000` |
-| fromId | Number | false | | TradeId to fetch from. Default gets most recent trades. |
-| orderId | Number | false | | This can only be used in combination with symbol. |
-| startTime | Number | false | | |
-| endTime | Number | false | | |
-| recvWindow | Number | false | `5000` | The value cannot be greater than `60000`. |
-
-
-Output
-
-```js
-;[
- {
- id: 9960,
- orderId: 191939,
- price: '0.00138000',
- qty: '10.00000000',
- commission: '0.00001380',
- commissionAsset: 'ETH',
- time: 1508611114735,
- isBuyer: false,
- isMaker: false,
- isBestMatch: true,
- },
-]
-```
-
-
-
-#### dailyAccountSnapshot
-
-Get asset snapshot for the current authenticated account.
-
-```js
-console.log(
- await client.accountSnapshot({
- "type": "SPOT"
- });
-)
-```
-
-| Param | Type | Required | Default | Description |
-| ---------- | ------ | -------- | ------- | ------------------------------------------------------- |
-| type | String | true |
-| startTime | Number | false |
-| endTime | Number | false |
-| limit | Number | false | `5` | min `5`, max `30`, default `5` |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "code":200, // 200 for success; others are error codes
- "msg":"", // error message
- "snapshotVos":[
- {
- "data":{
- "balances":[
- {
- "asset":"BTC",
- "free":"0.09905021",
- "locked":"0.00000000"
- },
- {
- "asset":"USDT",
- "free":"1.89109409",
- "locked":"0.00000000"
- }
- ],
- "totalAssetOfBtc":"0.09942700"
- },
- "type":"spot",
- "updateTime":1576281599000
- }
- ]
-}
-```
-
-
-
-#### tradesHistory
-
-Lookup symbol trades history.
-
-```js
-console.log(await client.tradesHistory({ symbol: 'ETHBTC' }))
-```
-
-| Param | Type | Required | Default | Description |
-| ------ | ------ | -------- | ------- | ------------------------------------------------------- |
-| symbol | String | true |
-| limit | Number | false | `500` | Max `500` |
-| fromId | Number | false | `null` | TradeId to fetch from. Default gets most recent trades. |
-
-
-Output
-
-```js
-;[
- {
- id: 28457,
- price: '4.00000100',
- qty: '12.00000000',
- time: 1499865549590,
- isBuyerMaker: true,
- isBestMatch: true,
- },
-]
-```
-
-
-
-#### withdrawHistory
-
-Get the account withdraw history.
-
-```js
-console.log(await client.withdrawHistory())
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------- |
-| asset | String | false | |
-| status | Number | false | 0 (0: Email Sent, 1: Cancelled 2: Awaiting Approval, 3: Rejected, 4: Processing, 5: Failure, 6: Completed) |
-| offset | Number | false | |
-| limit | Number | false | |
-| startTime | Number | false | |
-| endTime | Number | false | |
-| recvWindow | Number | false | |
-
-
-Output
-
-```js
-[
- {
- "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
- "amount": "8.91000000",
- "applyTime": "2019-10-12 11:12:02",
- "coin": "USDT",
- "id": "b6ae22b3aa844210a7041aee7589627c",
- "withdrawOrderId": "WITHDRAWtest123", // will not be returned if there's no withdrawOrderId for this withdraw.
- "network": "ETH",
- "transferType": 0, // 1 for internal transfer, 0 for external transfer
- "status": 6,
- "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
- },
- {
- "address": "1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB",
- "amount": "0.00150000",
- "applyTime": "2019-09-24 12:43:45",
- "coin": "BTC",
- "id": "156ec387f49b41df8724fa744fa82719",
- "network": "BTC",
- "status": 6,
- "txId": "60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354"
- }
-]
-```
-
-
-
-#### withdraw
-
-Triggers the withdraw process (_untested for now_).
-
-```js
-console.log(
- await client.withdraw({
- asset: 'ETH',
- address: '0xfa97c22a03d8522988c709c24283c0918a59c795',
- amount: 100,
- }),
-)
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | -------------------------- |
-| asset | String | true |
-| address | String | true |
-| amount | Number | true |
-| name | String | false | Description of the address |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "id":"7213fea8e94b4a5593d507237e5a555b"
-}
-```
-
-
-
-#### depositAddress
-
-Fetch deposit address with network.
-
-```js
-console.log(await client.depositAddress({ coin: 'NEO' }))
-```
-
-| Param | Type | Required | Description |
-| -------- | ------ | -------- | ---------------- |
-| coin | String | true | The coin name |
-| network | String | false | The network name |
-
-
-Output
-
-```js
-{
- address: 'AM6ytPW78KYxQCmU2pHYGcee7GypZ7Yhhc',
- coin: 'NEO',
- tag: '',
- url: 'https://neoscan.io/address/AM6ytPW78KYxQCmU2pHYGcee7GypZ7Yhhc'
-}
-```
-
-
-
-
-#### depositHistory
-
-Fetch deposit address with network.
-
-```js
-console.log(await client.depositHistory())
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ---------------- |
-| coin | String | false | The coin name |
-| status | Number | false | 0 (0:pending, 6: credited but cannot withdraw, 1:success) |
-| startTime | Number | false | Default: 90 days from current timestamp |
-| endTime | Number | false | Default: present timestamp |
-| offset | Number | false | default: 0 |
-| limit | Number | false | |
-| recvWindow | Number | false | |
-
-
-Output
-
-```js
-[
- {
- "amount": "0.00999800",
- "coin": "PAXG",
- "network": "ETH",
- "status": 1,
- "address": "0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
- "addressTag": "",
- "txId": "0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
- "insertTime": 1599621997000,
- "transferType": 0,
- "confirmTimes": "12/12"
- },
- {
- "amount": "0.50000000",
- "coin": "IOTA",
- "network": "IOTA",
- "status": 1,
- "address": "SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
- "addressTag": "",
- "txId": "ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
- "insertTime": 1599620082000,
- "transferType": 0,
- "confirmTimes": "1/1"
- }
-]
-```
-
-
-
-#### tradeFee
-
-Retrieve the account trade Fee per asset.
-
-```js
-console.log(await client.tradeFee())
-```
-
-
-Output
-
-```js
-[
- {
- "symbol": "ADABNB",
- "makerCommission": 0.9000,
- "takerCommission": 1.0000
- },
- {
- "symbol": "BNBBTC",
- "makerCommission": 0.3000,
- "takerCommission": 0.3000
- }
-]
-
-```
-
-
-
-#### capitalConfigs
-
-Get information of coins (available for deposit and withdraw) for user.
-
-```js
-console.log(await client.capitalConfigs())
-```
-
-
-Output
-
-```js
-[
- {
- 'coin': 'CTR',
- 'depositAllEnable': false,
- 'free': '0.00000000',
- 'freeze': '0.00000000',
- 'ipoable': '0.00000000',
- 'ipoing': '0.00000000',
- 'isLegalMoney': false,
- 'locked': '0.00000000',
- 'name': 'Centra',
- 'networkList': [
- {
- 'addressRegex': '^(0x)[0-9A-Fa-f]{40}$',
- 'coin': 'CTR',
- 'depositDesc': 'Delisted, Deposit Suspended',
- 'depositEnable': false,
- 'isDefault': true,
- 'memoRegex': '',
- 'minConfirm': 12,
- 'name': 'ERC20',
- 'network': 'ETH',
- 'resetAddressStatus': false,
- 'specialTips': '',
- 'unLockConfirm': 0,
- 'withdrawDesc': '',
- 'withdrawEnable': true,
- 'withdrawFee': '35.00000000',
- 'withdrawIntegerMultiple': '0.00000001',
- 'withdrawMax': '0.00000000',
- 'withdrawMin': '70.00000000'
- }
- ],
- 'storage': '0.00000000',
- 'trading': false,
- 'withdrawAllEnable': true,
- 'withdrawing': '0.00000000'
- }
-]
-```
-
-
-
-#### universalTransfer
-
-You need to enable Permits Universal Transfer option for the api key which requests this endpoint.
-
-```js
-console.log(await client.universalTransfer({ type: 'MAIN_C2C', asset: 'USDT', amount: '1000' }))
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ---------------- |
-| type | String | true |
-| asset | String | true |
-| amount | String | true |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- tranId:13526853623
-}
-```
-
-
-
-#### universalTransferHistory
-
-```js
-console.log(await client.universalTransferHistory({ type: 'MAIN_C2C' }))
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ------------------- |
-| type | String | true |
-| startTime | Number | false |
-| endTime | Number | false |
-| current | Number | false | Default 1 |
-| size | Number | false | Default 10, Max 100 |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "total": 2,
- "rows": [
- {
- "asset":"USDT",
- "amount":"1",
- "type":"MAIN_C2C"
- "status": "CONFIRMED",
- "tranId": 11415955596,
- "timestamp":1544433328000
- },
- {
- "asset":"USDT",
- "amount":"2",
- "type":"MAIN_C2C",
- "status": "CONFIRMED",
- "tranId": 11366865406,
- "timestamp":1544433328000
- }
- ]
-}
-```
-
-
-
-#### assetDetail
-
-```js
-console.log(await client.assetDetail())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "CTR": {
- "minWithdrawAmount": "70.00000000", //min withdraw amount
- "depositStatus": false,//deposit status (false if ALL of networks' are false)
- "withdrawFee": 35, // withdraw fee
- "withdrawStatus": true, //withdraw status (false if ALL of networks' are false)
- "depositTip": "Delisted, Deposit Suspended" //reason
- },
- "SKY": {
- "minWithdrawAmount": "0.02000000",
- "depositStatus": true,
- "withdrawFee": 0.01,
- "withdrawStatus": true
- }
-}
-```
-
-
-
-#### getBnbBurn
-
-```js
-console.log(await client.getBnbBurn())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "spotBNBBurn":true,
- "interestBNBBurn": false
-}
-```
-
-
-
-#### setBnbBurn
-
-```js
-console.log(await client.setBnbBurn({ spotBNBBurn: "true" }))
-```
-
-| Param | Type | Required | Description |
-| --------------- | -------- | -------- | ------------------- |
-| spotBNBBurn | String | false | "true" or "false"; Determines whether to use BNB to pay for trading fees on SPOT |
-| interestBNBBurn | String | false | "true" or "false"; Determines whether to use BNB to pay for margin loan's interest |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "spotBNBBurn":true,
- "interestBNBBurn": false
-}
-```
-
-
-
-#### dustLog
-
-```js
-console.log(await client.dustLog())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| startTime | Number | false |
-| endTime | Number | false |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "total": 8, //Total counts of exchange
- "userAssetDribblets": [
- {
- "operateTime": 1615985535000,
- "totalTransferedAmount": "0.00132256",
- "totalServiceChargeAmount": "0.00002699",
- "transId": 45178372831,
- "userAssetDribbletDetails": [
- {
- "transId": 4359321,
- "serviceChargeAmount": "0.000009",
- "amount": "0.0009",
- "operateTime": 1615985535000,
- "transferedAmount": "0.000441",
- "fromAsset": "USDT"
- },
- {
- "transId": 4359321,
- "serviceChargeAmount": "0.00001799",
- "amount": "0.0009",
- "operateTime": 1615985535000,
- "transferedAmount": "0.00088156",
- "fromAsset": "ETH"
- }
- ]
- },
- {
- "operateTime":1616203180000,
- "totalTransferedAmount": "0.00058795",
- "totalServiceChargeAmount": "0.000012",
- "transId": 4357015,
- "userAssetDribbletDetails": [
- {
- "transId": 4357015,
- "serviceChargeAmount": "0.00001",
- "amount": "0.001",
- "operateTime": 1616203180000,
- "transferedAmount": "0.00049",
- "fromAsset": "USDT"
- },
- {
- "transId": 4357015,
- "serviceChargeAmount": "0.000002",
- "amount": "0.0001",
- "operateTime": 1616203180000,
- "transferedAmount": "0.00009795",
- "fromAsset": "ETH"
- }
- ]
- }
- ]
- }
-}
-```
-
-
-
-#### dustTransfer
-
-```js
-console.log(await client.dustTransfer({ asset: ['ETH', 'LTC', 'TRX'] }))
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| asset | [String] | true |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "totalServiceCharge":"0.02102542",
- "totalTransfered":"1.05127099",
- "transferResult":[
- {
- "amount":"0.03000000",
- "fromAsset":"ETH",
- "operateTime":1563368549307,
- "serviceChargeAmount":"0.00500000",
- "tranId":2970932918,
- "transferedAmount":"0.25000000"
- },
- {
- "amount":"0.09000000",
- "fromAsset":"LTC",
- "operateTime":1563368549404,
- "serviceChargeAmount":"0.01548000",
- "tranId":2970932918,
- "transferedAmount":"0.77400000"
- },
- {
- "amount":"248.61878453",
- "fromAsset":"TRX",
- "operateTime":1563368549489,
- "serviceChargeAmount":"0.00054542",
- "tranId":2970932918,
- "transferedAmount":"0.02727099"
- }
- ]
-}
-```
-
-
-
-#### accountCoins
-
-Retrieve account coins related information. Implemented as `getAll` in Binance Docs.
-
-```js
-console.log(await client.accountCoins())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-[
- {
- "coin": "BTC",
- "depositAllEnable": true,
- "free": "0.08074558",
- "freeze": "0.00000000",
- "ipoable": "0.00000000",
- "ipoing": "0.00000000",
- "isLegalMoney": false,
- "locked": "0.00000000",
- "name": "Bitcoin",
- "networkList": [
- {
- "addressRegex": "^(bnb1)[0-9a-z]{38}$",
- "coin": "BTC",
- "depositDesc": "Wallet Maintenance, Deposit Suspended", // shown only when "depositEnable" is false.
- "depositEnable": false,
- "isDefault": false,
- "memoRegex": "^[0-9A-Za-z\\-_]{1,120}$",
- "minConfirm": 1, // min number for balance confirmation
- "name": "BEP2",
- "network": "BNB",
- "resetAddressStatus": false,
- "specialTips": "Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.",
- "unLockConfirm": 0, // confirmation number for balance unlock
- "withdrawDesc": "Wallet Maintenance, Withdrawal Suspended", // shown only when "withdrawEnable" is false.
- "withdrawEnable": false,
- "withdrawFee": "0.00000220",
- "withdrawMin": "0.00000440"
- },
- {
- "addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$",
- "coin": "BTC",
- "depositEnable": true,
- "insertTime": 1563532929000,
- "isDefault": true,
- "memoRegex": "",
- "minConfirm": 1,
- "name": "BTC",
- "network": "BTC",
- "resetAddressStatus": false,
- "specialTips": "",
- "unLockConfirm": 2,
- "updateTime": 1571014804000,
- "withdrawEnable": true,
- "withdrawFee": "0.00050000",
- "withdrawIntegerMultiple": "0.00000001",
- "withdrawMin": "0.00100000"
- }
- ],
- "storage": "0.00000000",
- "trading": true,
- "withdrawAllEnable": true,
- "withdrawing": "0.00000000"
- }
-]
-```
-
-
-
-#### lendingAccount
-
-Get information of lending assets for user.
-
-```js
-console.log(await client.lendingAccount())
-```
-
-
-Output
-
-```js
-{
- "positionAmountVos": [
- {
- "amount": "75.46000000",
- "amountInBTC": "0.01044819",
- "amountInUSDT": "75.46000000",
- "asset": "USDT"
- },
- {
- "amount": "1.67072036",
- "amountInBTC": "0.00023163",
- "amountInUSDT": "1.67289230",
- "asset": "BUSD"
- }
- ],
- "totalAmountInBTC": "0.01067982",
- "totalAmountInUSDT": "77.13289230",
- "totalFixedAmountInBTC": "0.00000000",
- "totalFixedAmountInUSDT": "0.00000000",
- "totalFlexibleInBTC": "0.01067982",
- "totalFlexibleInUSDT": "77.13289230"
- }
-```
-
-
-
-#### fundingWallet
-
-Query funding wallet, includes Binance Pay, Binance Card, Binance Gift Card, Stock Token.
-
-```js
-console.log(await client.fundingWallet())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| asset | String | false |
-| needBtcValuation | String | false | 'true' or 'false'
-
-
-Output
-
-```js
-[
- {
- "asset": "USDT",
- "free": "1",
- "locked": "0",
- "freeze": "0",
- "withdrawing": "0",
- "btcValuation": "0.00000091"
- }
-]
-```
-
-
-
-#### apiPermission
-
-Get API Key Permission.
-
-```js
-console.log(await client.apiPermission())
-```
-
-| Param | Type | Required | Description |
-| ---------- | -------- | -------- | ------------------- |
-| recvWindow | Number | false |
-
-
-Output
-
-```js
-{
- "ipRestrict": false,
- "createTime": 1623840271000,
- "enableWithdrawals": false, // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to withdrawals
- "enableInternalTransfer": true, // This option authorizes this key to transfer funds between your master account and your sub account instantly
- "permitsUniversalTransfer": true, // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization
- "enableVanillaOptions": false, // Authorizes this key to Vanilla options trading
- "enableReading": true,
- "enableFutures": false, // API Key created before your futures account opened does not support futures API service
- "enableMargin": false, // This option can be adjusted after the Cross Margin account transfer is completed
- "enableSpotAndMarginTrading": false, // Spot and margin trading
- "tradingAuthorityExpirationTime": 1628985600000 // Expiration time for spot and margin trading permission
-}
-```
-
-
-
-### Margin
-
-#### marginAccountInfo
-
-Query cross margin account details (USER_DATA)
-
-```js
-console.log(await client.marginAccountInfo());
-```
-
-| Param | Type | Required | Description |
-| ----- | ------ | -------- | -------------- |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "borrowEnabled": true,
- "marginLevel": "11.64405625",
- "totalAssetOfBtc": "6.82728457",
- "totalLiabilityOfBtc": "0.58633215",
- "totalNetAssetOfBtc": "6.24095242",
- "tradeEnabled": true,
- "transferEnabled": true,
- "userAssets": [
- {
- "asset": "BTC",
- "borrowed": "0.00000000",
- "free": "0.00499500",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "0.00499500"
- },
- {
- "asset": "BNB",
- "borrowed": "201.66666672",
- "free": "2346.50000000",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "2144.83333328"
- },
- {
- "asset": "ETH",
- "borrowed": "0.00000000",
- "free": "0.00000000",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "0.00000000"
- },
- {
- "asset": "USDT",
- "borrowed": "0.00000000",
- "free": "0.00000000",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "0.00000000"
- }
- ]
-}
-```
-
-
-
-
-#### marginLoan
-
-Create a loan for margin account.
-
-```js
-console.log(await client.marginLoan({ asset: 'BTC', amount:'0.0001' }));
-```
-
-| Param | Type | Required | Description |
-| ------ | ------ | -------- | -------------- |
-| asset | String | true | The asset name |
-| amount | Number | true |
-
-
-
-Output
-
-```js
-{
- "tranId": 100000001 //transaction id
-}
-```
-
-
-
-#### marginRepay
-
-Repay loan for margin account.
-
-```js
-console.log(await client.marginRepay({ asset: 'BTC', amount:'0.0001' }));
-```
-
-| Param | Type | Required | Description |
-| ------ | ------ | -------- | -------------- |
-| asset | String | true | The asset name |
-| amount | Number | true |
-
-
-
-Output
-
-```js
-{
- "tranId": 100000001 //transaction id
-}
-```
-
-
-
-#### marginIsolatedAccount
-
-Query Isolated Margin Account Info
-
-```js
-console.log(await client.marginIsolatedAccount({ symbols: 'BTCUSDT'}));
-```
-
-| Param | Type | Required | Description |
-| ----- | ------ | -------- | -------------- |
-| symbols | String | false | Max 5 symbols can be sent; separated by "," |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "assets":[
- {
- "baseAsset":
- {
- "asset": "BTC",
- "borrowEnabled": true,
- "borrowed": "0.00000000",
- "free": "0.00000000",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "0.00000000",
- "netAssetOfBtc": "0.00000000",
- "repayEnabled": true,
- "totalAsset": "0.00000000"
- },
- "quoteAsset":
- {
- "asset": "USDT",
- "borrowEnabled": true,
- "borrowed": "0.00000000",
- "free": "0.00000000",
- "interest": "0.00000000",
- "locked": "0.00000000",
- "netAsset": "0.00000000",
- "netAssetOfBtc": "0.00000000",
- "repayEnabled": true,
- "totalAsset": "0.00000000"
- },
- "symbol": "BTCUSDT"
- "isolatedCreated": true,
- "marginLevel": "0.00000000",
- "marginLevelStatus": "EXCESSIVE", // "EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"
- "marginRatio": "0.00000000",
- "indexPrice": "10000.00000000"
- "liquidatePrice": "1000.00000000",
- "liquidateRate": "1.00000000"
- "tradeEnabled": true
- }
- ],
- "totalAssetOfBtc": "0.00000000",
- "totalLiabilityOfBtc": "0.00000000",
- "totalNetAssetOfBtc": "0.00000000"
-}
-```
-
-
-
-#### disableMarginAccount
-
-Inactive Isolated Margin trading pair for symbol
-
-```js
-console.log(await client.disableMarginAccount({ symbol: 'BTCUSDT' }));
-```
-
-| Param | Type | Required | Description |
-| ----- | ------ | -------- | -------------- |
-| symbol | String | true | |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "success": true,
- "symbol": "BTCUSDT"
-}
-```
-
-
-#### enableMarginAccount
-
-Active Isolated Margin trading pair for symbol
-
-```js
-console.log(await client.enableMarginAccount({ symbol: 'BTCUSDT' }));
-```
-
-| Param | Type | Required | Description |
-| ----- | ------ | -------- | -------------- |
-| symbol | String | true | |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "success": true,
- "symbol": "BTCUSDT"
-}
-```
-
-
-
-#### marginMaxBorrow
-
-If isolatedSymbol is not sent, crossed margin data will be sent.
-
-```js
-console.log(await client.marginMaxBorrow({ asset: 'BTC', isolatedSymbol: 'BTCUSDT'}));
-```
-
-| Param | Type | Required | Description |
-| ----- | ------ | -------- | -------------- |
-| asset | String | true |
-| isolatedSymbol| String | false |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "amount": "1.69248805", // account's currently max borrowable amount with sufficient system availability
- "borrowLimit": "60" // max borrowable amount limited by the account level
-}
-```
-
-
-
-#### marginCreateIsolated
-
-```js
-console.log(await client.marginCreateIsolated({ base: 'BTC', quote: 'USDT'}));
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | --------------------- |
-| base | String | true | Base asset of symbol |
-| quote | String | true | Quote asset of symbol |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "success": true,
- "symbol": "BTCUSDT"
-}
-```
-
-
-#### marginIsolatedTransfer
-
-```js
-console.log(await client.marginIsolatedTransfer({ asset: 'USDT', symbol: 'BNBUSDT', transFrom: 'ISOLATED_MARGIN', transTo: 'SPOT', amount: 1}));
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ------------------------- |
-| asset | String | true | asset,such as BTC |
-| symbol | String | true |
-| transFrom | String | true | "SPOT", "ISOLATED_MARGIN" |
-| transTo | String | true | "SPOT", "ISOLATED_MARGIN" |
-| amount | Number | true |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- //transaction id
- "tranId": 100000001
-}
-```
-
-
-
-#### marginIsolatedTransferHistory
-
-```js
-console.log(await client.marginIsolatedTransferHistory({ symbol: 'BNBUSDT'}));
-```
-
-| Param | Type | Required | Description |
-| ---------- | ------ | -------- | ------------------------- |
-| asset | String | false | asset,such as BTC |
-| symbol | String | true |
-| transFrom | String | false | "SPOT", "ISOLATED_MARGIN" |
-| transTo | String | false | "SPOT", "ISOLATED_MARGIN" |
-| startTime | Number | false |
-| endTime | Number | false |
-| current | Number | false | Current page, default 1 |
-| size | Number | false | Default 10, max 100 |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "rows": [
- {
- "amount": "0.10000000",
- "asset": "BNB",
- "status": "CONFIRMED",
- "timestamp": 1566898617000,
- "txId": 5240372201,
- "transFrom": "SPOT",
- "transTo": "ISOLATED_MARGIN"
- },
- {
- "amount": "5.00000000",
- "asset": "USDT",
- "status": "CONFIRMED",
- "timestamp": 1566888436123,
- "txId": 5239810406,
- "transFrom": "ISOLATED_MARGIN",
- "transTo": "SPOT"
- }
- ],
- "total": 2
-}
-```
-
-
-
-#### marginOrder
-
-```js
-console.log(await client.marginOrder({
- symbol: 'BTCUSDT',
- type: 'MARKET',
- side: 'SELL',
- quantity: '10',
- }));
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------- | -------- | ------------------------- |
-| symbol | String | true | asset, such as `BTC` |
-| isIsolated | String | false | for isolated margin or not, `TRUE`, `FALSE`, default `FALSE`
-| side | String | true | `BUY` `SELL` |
-| type | String | true |
-| quantity | String | false |
-| quoteOrderQty | String | false |
-| price | String | false |
-| stopPrice | String | false | Used with `STOP_LOSS`, `STOP_LOSS_LIMIT`, `TAKE_PROFIT`, and `TAKE_PROFIT_LIMIT` orders.
-| newClientOrderId | String | false | A unique id among open orders. Automatically generated if not sent.
-| icebergQty | Boolean | false | Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order.
-| newOrderRespType | String | false | Set the response JSON. `ACK`, `RESULT`, or `FULL`; `MARKET` and `LIMIT` order types default to `FULL`, all other orders default to `ACK`.
-| sideEffectType | String | false | `NO_SIDE_EFFECT`, `MARGIN_BUY`, `AUTO_REPAY`; default `NO_SIDE_EFFECT`.
-| timeInForce | String | false | `GTC`,`IOC`,`FOK` |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "symbol": "BTCUSDT",
- "orderId": 28,
- "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
- "transactTime": 1507725176595,
- "price": "1.00000000",
- "origQty": "10.00000000",
- "executedQty": "10.00000000",
- "cummulativeQuoteQty": "10.00000000",
- "status": "FILLED",
- "timeInForce": "GTC",
- "type": "MARKET",
- "side": "SELL",
- "marginBuyBorrowAmount": 5, // will not return if no margin trade happens
- "marginBuyBorrowAsset": "BTC", // will not return if no margin trade happens
- "isIsolated": true, // if isolated margin
- "fills": [
- {
- "price": "4000.00000000",
- "qty": "1.00000000",
- "commission": "4.00000000",
- "commissionAsset": "USDT"
- },
- {
- "price": "3999.00000000",
- "qty": "5.00000000",
- "commission": "19.99500000",
- "commissionAsset": "USDT"
- },
- {
- "price": "3998.00000000",
- "qty": "2.00000000",
- "commission": "7.99600000",
- "commissionAsset": "USDT"
- },
- {
- "price": "3997.00000000",
- "qty": "1.00000000",
- "commission": "3.99700000",
- "commissionAsset": "USDT"
- },
- {
- "price": "3995.00000000",
- "qty": "1.00000000",
- "commission": "3.99500000",
- "commissionAsset": "USDT"
- }
- ]
-}
-```
-
-
-
-#### marginOrderOco
-
-```js
-console.log(await client.marginOrderOco({
- symbol: 'AUDIOUSDT',
- type: 'MARKET',
- side: 'SELL',
- quantity: '10',
- }));
-```
-
-| Param | Type | Required | Description |
-| ----------------- | ------- | -------- | ------------------------- |
-| symbol | String | true | asset, such as `BTC` |
-| isIsolated | String | false | for isolated margin or not, `TRUE`, `FALSE`, default `FALSE`
-| side | String | true | `BUY` `SELL` |
-| type | String | true |
-| quantity | String | false |
-| quoteOrderQty | String | false |
-| price | String | false |
-| stopPrice | String | false | Used with `STOP_LOSS`, `STOP_LOSS_LIMIT`, `TAKE_PROFIT`, and `TAKE_PROFIT_LIMIT` orders.
-| stopLimitPrice | String | false | Used with `STOP_LOSS_LIMIT` orders.
-| newClientOrderId | String | false | A unique id among open orders. Automatically generated if not sent.
-| icebergQty | Boolean | false | Used with `LIMIT`, `STOP_LOSS_LIMIT`, and `TAKE_PROFIT_LIMIT` to create an iceberg order.
-| newOrderRespType | String | false | Set the response JSON. `ACK`, `RESULT`, or `FULL`; `MARKET` and `LIMIT` order types default to `FULL`, all other orders default to `ACK`.
-| sideEffectType | String | false | `NO_SIDE_EFFECT`, `MARGIN_BUY`, `AUTO_REPAY`; default `NO_SIDE_EFFECT`.
-| timeInForce | String | false | `GTC`,`IOC`,`FOK` |
-| recvWindow | Number | false | No more than 60000 |
-
-
-Output
-
-```js
-{
- "orderListId": 45514668,
- "contingencyType": 'OCO',
- "listStatusType": 'EXEC_STARTED',
- "listOrderStatus": 'EXECUTING',
- "listClientOrderId": 'CD9UzEJfmcGZ4kLfZT2ga2',
- "transactionTime": 1632192162785,
- "symbol": 'AUDIOUSDT',
- "isIsolated": true,
- "orders": [
- {
- "symbol": 'AUDIOUSDT',
- "orderId": 239313661,
- "clientOrderId": 'ZbUwgKv6UB8eMzf2yfXENl'
- },
- {
- "symbol": 'AUDIOUSDT',
- "orderId": 239313662,
- "clientOrderId": 'f5u1RIHAPRd4W3fFhFykBo'
- }
- ],
- "orderReports": [
- {
- "symbol": 'AUDIOUSDT',
- "orderId": 239313661,
- "orderListId": 45514668,
- "clientOrderId": 'ZbUwgKv6UB8eMzf2yfXENl',
- "transactTime": 1632192162785,
- "price": '2.20000000',
- "origQty": '12.80000000',
- "executedQty": '0',
- "cummulativeQuoteQty": '0',
- "status": 'NEW',
- "timeInForce": 'GTC',
- "type": 'STOP_LOSS_LIMIT',
- "side": 'SELL',
- "stopPrice": '2.20000000'
- },
- {
- "symbol": 'AUDIOUSDT',
- "orderId": 239313662,
- "orderListId": 45514668,
- "clientOrderId": 'f5u1RIHAPRd4W3fFhFykBo',
- "transactTime": 1632192162785,
- "price": '2.50000000',
- "origQty": '12.80000000',
- "executedQty": '0',
- "cummulativeQuoteQty": '0',
- "status": 'NEW',
- "timeInForce": 'GTC',
- "type": 'LIMIT_MAKER',
- "side": 'SELL'
- }
- ]
-}
-```
-
-
-
-#### marginGetOrder
-
-Query Margin Account's Order
-
-```js
-console.log(await client.marginGetOrder({
- symbol: 'BNBBTC',
- orderId: '213205622',
- }));
-```
-
-| Param | Type | Required | Description |
-| -------------------- | ------ | -------- | ------------------------- |
-| symbol | String | true | asset,such as BTC |
-| isIsolated | String | false | for isolated margin or not, `TRUE`, `FALSE`, default `FALSE`
-| orderId | String | false |
-| origClientOrderId | String | false |
-| recvWindow | Number | false | The value cannot be greater than `60000`
-
-
-Output
-
-```js
-{
- "clientOrderId": "ZwfQzuDIGpceVhKW5DvCmO",
- "cummulativeQuoteQty": "0.00000000",
- "executedQty": "0.00000000",
- "icebergQty": "0.00000000",
- "isWorking": true,
- "orderId": 213205622,
- "origQty": "0.30000000",
- "price": "0.00493630",
- "side": "SELL",
- "status": "NEW",
- "stopPrice": "0.00000000",
- "symbol": "BNBBTC",
- "isIsolated": true,
- "time": 1562133008725,
- "timeInForce": "GTC",
- "type": "LIMIT",
- "updateTime": 1562133008725
-}
-```
-
-
-
-### Portfolio Margin Endpoints
-
-Only Portfolio Margin Account is accessible to these endpoints.
-
-#### getPortfolioMarginAccountInfo
-
-Get a Portfolio Margin Account Info.
-
-```js
-console.log(await client.getPortfolioMarginAccountInfo())
-```
-
-
-Output
-
-```js
-{
- "uniMMR": "1.87987800", // Portfolio margin account maintenance margin rate
- "accountEquity": "122607.35137903", // Account equity, unit:USD
- "accountMaintMargin": "23.72469206", // Portfolio margin account maintenance margin, unit:USD
- "accountStatus": "NORMAL" // Portfolio margin account status:"NORMAL", "MARGIN_CALL", "SUPPLY_MARGIN", "REDUCE_ONLY", "ACTIVE_LIQUIDATION", "FORCE_LIQUIDATION", "BANKRUPTED"
-}
-```
-
-
-### Futures Authenticated REST endpoints
-
-#### futuresGetOrder
-
-Check an order's status.
-
-- These orders will not be found
- - order status is CANCELED or EXPIRED, AND
- - order has NO filled trade, AND
- - created time + 7 days < current time
-
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ---------------- |
-| symbol | STRING | YES | The pair name |
-| orderId | LONG | NO | |
-| origClientOrderId | STRING | NO | |
-| recvWindow | LONG | NO | |
-
-
-Either orderId or origClientOrderId must be sent.
-
-```js
-console.log(
- await client.futuresGetOrder({
- symbol: 'BNBETH',
- orderId: 50167927,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "avgPrice": "0.00000",
- "clientOrderId": "abc",
- "cumQuote": "0",
- "executedQty": "0",
- "orderId": 1917641,
- "origQty": "0.40",
- "origType": "TRAILING_STOP_MARKET",
- "price": "0",
- "reduceOnly": false,
- "side": "BUY",
- "positionSide": "SHORT",
- "status": "NEW",
- "stopPrice": "9300", // please ignore when order type is TRAILING_STOP_MARKET
- "closePosition": false, // if Close-All
- "symbol": "BTCUSDT",
- "time": 1579276756075, // order time
- "timeInForce": "GTC",
- "type": "TRAILING_STOP_MARKET",
- "activatePrice": "9020", // activation price, only return with TRAILING_STOP_MARKET order
- "priceRate": "0.3", // callback rate, only return with TRAILING_STOP_MARKET order
- "updateTime": 1579276756075, // update time
- "workingType": "CONTRACT_PRICE",
- "priceProtect": false // if conditional order trigger is protected
-}
-```
-
-
-#### futuresAllOrders
-
-Get all account orders; active, canceled, or filled.
-
-- These orders will not be found
- - order status is CANCELED or EXPIRED, AND
- - order has NO filled trade, AND
- - created time + 7 days < current time
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ---------------------- |
-| symbol | STRING | YES | The pair name |
-| orderId | LONG | NO | |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 500; max 1000. |
-| recvWindow | LONG | NO | |
-
-If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.
-
-```js
-console.log(
- await client.futuresAllOrders({
- symbol: 'BNBETH',
- orderId: 50167927,
- startTime: 1579276756075,
- limit: 700,
- })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "avgPrice": "0.00000",
- "clientOrderId": "abc",
- "cumQuote": "0",
- "executedQty": "0",
- "orderId": 1917641,
- "origQty": "0.40",
- "origType": "TRAILING_STOP_MARKET",
- "price": "0",
- "reduceOnly": false,
- "side": "BUY",
- "positionSide": "SHORT",
- "status": "NEW",
- "stopPrice": "9300", // please ignore when order type is TRAILING_STOP_MARKET
- "closePosition": false, // if Close-All
- "symbol": "BTCUSDT",
- "time": 1579276756075, // order time
- "timeInForce": "GTC",
- "type": "TRAILING_STOP_MARKET",
- "activatePrice": "9020", // activation price, only return with TRAILING_STOP_MARKET order
- "priceRate": "0.3", // callback rate, only return with TRAILING_STOP_MARKET order
- "updateTime": 1579276756075, // update time
- "workingType": "CONTRACT_PRICE",
- "priceProtect": false // if conditional order trigger is protected
- }
-]
-```
-
-
-#### futuresBatchOrders
-
-Place multiple orders
-
-| Name | Type | Mandatory | Description |
-|-----------------------|--------|-----------|-------------------------------------------------------------------------------------------|
-| batchOrders | LIST | YES | order list. Max 5 orders |
-
-
-
-#### futuresCancelBatchOrders
-
-Cancel multiple orders
-
-| Name | Type | Mandatory | Description |
-|-----------------------|--------|-----------|-------------------------------------------------------------------------------------------|
-| symbol | STRING | YES | The pair name |
-| orderIdList | STRING | NO | max length 10
e.g. `'[1234567,2345678]'` |
-| origClientOrderIdList | STRING | NO | max length 10
e.g. `'["my_id_1","my_id_2"]'`, encode the double quotes. No space after comma. |
-
-
-#### futuresLeverage
-
-Change user's initial leverage of specific symbol market.
-
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------ |
-| symbol | STRING | YES | The pair name |
-| leverage | INT | YES | target initial leverage: int from 1 to 125 |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.futuresLeverage({
- symbol: 'BTCUSDT',
- leverage: 21,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "leverage": 21,
- "maxNotionalValue": "1000000",
- "symbol": "BTCUSDT"
-}
-```
-
-
-#### futuresMarginType
-
-Change margin type.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ----------------- |
-| symbol | STRING | YES | The pair name |
-| marginType | ENUM | YES | ISOLATED, CROSSED |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.futuresMarginType({
- symbol: 'BTCUSDT',
- marginType: 'ISOLATED',
- })
-)
-```
-
-
-Output
-
-```js
-{
- "code": 200,
- "msg": "success"
-}
-```
-
-
-#### futuresPositionMargin
-
-Modify isolated position margin.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------- | -------- | ------------------------------------------------- |
-| symbol | STRING | YES | The pair name |
-| positionSide | ENUM | NO | Default BOTH for One-way Mode;
LONG or SHORT for Hedge Mode.
It must be sent with Hedge Mode. |
-| amount | DECIMAL | YES | |
-| type | INT | YES | 1: Add position margin,2: Reduce position margin |
-| recvWindow | LONG | NO | |
-
-Only for isolated symbol.
-
-```js
-console.log(
- await client.futuresPositionMargin({
- symbol: 'BTCUSDT',
- amount: 100,
- type: 1,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "amount": 100.0,
- "code": 200,
- "msg": "Successfully modify position margin.",
- "type": 1
-}
-```
-
-
-#### futuresMarginHistory
-
-Get position margin change history.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------------- |
-| symbol | STRING | YES | The pair name |
-| type | INT | NO | 1: Add position margin,2: Reduce position margin |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 500; |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.futuresMarginHistory({
- symbol: 'BTCUSDT',
- type: 1,
- startTime: 1579276756075,
- limit: 700,
- })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "amount": "23.36332311",
- "asset": "USDT",
- "symbol": "BTCUSDT",
- "time": 1578047897183,
- "type": 1,
- "positionSide": "BOTH"
- },
- {
- "amount": "100",
- "asset": "USDT",
- "symbol": "BTCUSDT",
- "time": 1578047900425,
- "type": 1,
- "positionSide": "LONG"
- }
-]
-```
-
-
-#### futuresIncome
-
-Get income history.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------------- |
-| symbol | STRING | NO | The pair name |
-| incomeType | STRING | NO | "TRANSFER","WELCOME_BONUS", "REALIZED_PNL",
"FUNDING_FEE", "COMMISSION", and "INSURANCE_CLEAR" |
-| startTime | LONG | NO | Timestamp in ms to get funding from INCLUSIVE. |
-| endTime | LONG | NO | Timestamp in ms to get funding until INCLUSIVE. |
-| limit | INT | NO | Default 100; max 1000 |
-| recvWindow | LONG | NO | |
-
-- If incomeType is not sent, all kinds of flow will be returned
-- "trandId" is unique in the same incomeType for a user
-
-```js
-console.log(
- await client.futuresIncome({
- symbol: 'BTCUSDT',
- startTime: 1579276756075,
- limit: 700,
- })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "symbol": "", // trade symbol, if existing
- "incomeType": "TRANSFER", // income type
- "income": "-0.37500000", // income amount
- "asset": "USDT", // income asset
- "info":"TRANSFER", // extra information
- "time": 1570608000000,
- "tranId":"9689322392", // transaction id
- "tradeId":"" // trade id, if existing
- },
- {
- "symbol": "BTCUSDT",
- "incomeType": "COMMISSION",
- "income": "-0.01000000",
- "asset": "USDT",
- "info":"COMMISSION",
- "time": 1570636800000,
- "tranId":"9689322392",
- "tradeId":"2059192"
- }
-]
-```
-
-
-#### futuresAccountBalance
-
-Get futures account balance
-
-```js
-console.log(await client.futuresAccountBalance());
-```
-
-
-Output
-
-```js
-[
- {
- "accountAlias": "SgsR", // unique account code
- "asset": "USDT", // asset name
- "balance": "122607.35137903", // wallet balance
- "crossWalletBalance": "23.72469206", // crossed wallet balance
- "crossUnPnl": "0.00000000" // unrealized profit of crossed positions
- "availableBalance": "23.72469206", // available balance
- "maxWithdrawAmount": "23.72469206" // maximum amount for transfer out
- }
-]
-```
-
-
-
-#### futuresUserTrades
-
-Get trades for a specific account and symbol.
-
-```js
-console.log(
- await client.futuresUserTrades({
- symbol: 'ETHBTC',
- }),
-)
-```
-
-| Param | Type | Mandatory | Description |
-| ---------- | ------ | --------- | -------------------------------------------------------- |
-| symbol | STRING | YES | |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 500; max 1000. |
-| fromId | LONG | NO | Trade id to fetch from. Default gets most recent trades. |
-| recvWindow | LONG | NO | |
-
-
-Output
-
-```js
-[
- {
- "buyer": false,
- "commission": "-0.07819010",
- "commissionAsset": "USDT",
- "id": 698759,
- "maker": false,
- "orderId": 25851813,
- "price": "7819.01",
- "qty": "0.002",
- "quoteQty": "15.63802",
- "realizedPnl": "-0.91539999",
- "side": "SELL",
- "positionSide": "SHORT",
- "symbol": "BTCUSDT",
- "time": 1569514978020
- }
-]
-```
-
-
-
-#### futuresLeverageBracket
-
-Get notional and leverage brackets.
-
-```js
-console.log(
- await client.futuresLeverageBracket({
- symbol: 'ETHBTC', // Optional
- }),
-)
-```
-
-| Param | Type | Mandatory | Description |
-| ---------- | ------ | --------- | ----------------------------------------------------------|
-| symbol | STRING | NO | Use if you are only interested in brackets for one symbol |
-| recvWindow | LONG | NO | |
-
-
-Output
-
-```js
-[
- {
- "symbol": "ETHUSDT",
- "brackets": [
- {
- "bracket": 1, // Notional bracket
- "initialLeverage": 75, // Max initial leverage for this bracket
- "notionalCap": 10000, // Cap notional of this bracket
- "notionalFloor": 0, // Notional threshold of this bracket
- "maintMarginRatio": 0.0065, // Maintenance ratio for this bracket
- "cum":0 // Auxiliary number for quick calculation
-
- },
- ]
- }
-]
-```
-
-
-### Delivery Authenticated REST endpoints
-
-#### deliveryGetOrder
-
-Check an order's status.
-
-- These orders will not be found
- - order status is CANCELED or EXPIRED, AND
- - order has NO filled trade, AND
- - created time + 7 days < current time
-
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ---------------- |
-| symbol | STRING | YES | |
-| orderId | LONG | NO | |
-| origClientOrderId | STRING | NO | |
-| recvWindow | LONG | NO | |
-
-
-Either orderId or origClientOrderId must be sent.
-
-```js
-console.log(
- await client.deliveryGetOrder({
- symbol: 'BTCUSD_200925',
- orderId: 1917641,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "avgPrice": "0.0",
- "clientOrderId": "abc",
- "cumBase": "0",
- "executedQty": "0",
- "orderId": 1917641,
- "origQty": "0.40",
- "origType": "TRAILING_STOP_MARKET",
- "price": "0",
- "reduceOnly": false,
- "side": "BUY",
- "status": "NEW",
- "stopPrice": "9300", // please ignore when order type is TRAILING_STOP_MARKET
- "closePosition": false, // if Close-All
- "symbol": "BTCUSD_200925",
- "pair": "BTCUSD",
- "time": 1579276756075, // order time
- "timeInForce": "GTC",
- "type": "TRAILING_STOP_MARKET",
- "activatePrice": "9020", // activation price, only return with TRAILING_STOP_MARKET order
- "priceRate": "0.3", // callback rate, only return with TRAILING_STOP_MARKET order
- "updateTime": 1579276756075, // update time
- "workingType": "CONTRACT_PRICE",
- "priceProtect": false // if conditional order trigger is protected
-}
-```
-
-
-#### deliveryAllOrders
-
-Get all account orders; active, canceled, or filled.
-
-- These orders will not be found
- - order status is CANCELED or EXPIRED, AND
- - order has NO filled trade, AND
- - created time + 7 days < current time
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ---------------------- |
-| symbol | STRING | YES | The pair name |
-| orderId | LONG | NO | |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 500; max 1000. |
-| recvWindow | LONG | NO | |
-
-If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.
-
-```js
-console.log(
- await client.deliveryAllOrders({ symbol: 'BTCUSD_200925' })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "avgPrice": "0.0",
- "clientOrderId": "abc",
- "cumBase": "0",
- "executedQty": "0",
- "orderId": 1917641,
- "origQty": "0.40",
- "origType": "TRAILING_STOP_MARKET",
- "price": "0",
- "reduceOnly": false,
- "side": "BUY",
- "positionSide": "SHORT",
- "status": "NEW",
- "stopPrice": "9300", // please ignore when order type is TRAILING_STOP_MARKET
- "closePosition": false, // if Close-All
- "symbol": "BTCUSD_200925",
- "pair": "BTCUSD",
- "time": 1579276756075, // order time
- "timeInForce": "GTC",
- "type": "TRAILING_STOP_MARKET",
- "activatePrice": "9020", // activation price, only return with TRAILING_STOP_MARKET order
- "priceRate": "0.3", // callback rate, only return with TRAILING_STOP_MARKET order
- "updateTime": 1579276756075, // update time
- "workingType": "CONTRACT_PRICE",
- "priceProtect": false // if conditional order trigger is protected
- }
- ...
-]
-```
-
-
-#### deliveryBatchOrders
-
-Place multiple orders
-
-| Name | Type | Mandatory | Description |
-|-----------------------|--------|-----------|-------------------------------------------------------------------------------------------|
-| batchOrders | LIST | YES | order list. Max 5 orders |
-
-
-
-#### deliveryCancelBatchOrders
-
-Cancel multiple orders
-
-| Name | Type | Mandatory | Description |
-|-----------------------|--------|-----------|-------------------------------------------------------------------------------------------|
-| symbol | STRING | YES | The pair name |
-| orderIdList | STRING | NO | max length 10
e.g. `'[1234567,2345678]'` |
-| origClientOrderIdList | STRING | NO | max length 10
e.g. `'["my_id_1","my_id_2"]'`, encode the double quotes. No space after comma. |
-
-
-#### deliveryLeverage
-
-Change user's initial leverage of specific symbol market.
-
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------ |
-| symbol | STRING | YES | The pair name |
-| leverage | INT | YES | target initial leverage: int from 1 to 125 |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.deliveryLeverage({
- symbol: 'BTCUSD_200925',
- leverage: 21,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "leverage": 21,
- "maxQty": "1000", // maximum quantity of base asset
- "symbol": "BTCUSD_200925"
-}
-```
-
-
-#### deliveryMarginType
-
-Change margin type.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ----------------- |
-| symbol | STRING | YES | The pair name |
-| marginType | ENUM | YES | ISOLATED, CROSSED |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.futuresMarginType({
- symbol: 'BTCUSD_200925',
- marginType: 'ISOLATED',
- })
-)
-```
-
-
-Output
-
-```js
-{
- "code": 200,
- "msg": "success"
-}
-```
-
-
-#### deliveryPositionMargin
-
-Modify isolated position margin.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------- | -------- | ------------------------------------------------- |
-| symbol | STRING | YES | The pair name |
-| positionSide | ENUM | NO | Default BOTH for One-way Mode;
LONG or SHORT for Hedge Mode.
It must be sent with Hedge Mode. |
-| amount | DECIMAL | YES | |
-| type | INT | YES | 1: Add position margin,2: Reduce position margin |
-| recvWindow | LONG | NO | |
-
-Only for isolated symbol.
-
-```js
-console.log(
- await client.deliveryPositionMargin({
- symbol: 'BTCUSD_200925',
- amount: 100,
- type: 1,
- })
-)
-```
-
-
-Output
-
-```js
-{
- "amount": 100.0,
- "code": 200,
- "msg": "Successfully modify position margin.",
- "type": 1
-}
-```
-
-
-#### deliveryMarginHistory
-
-Get position margin change history.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------------- |
-| symbol | STRING | YES | The pair name |
-| type | INT | NO | 1: Add position margin,2: Reduce position margin |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 50; |
-| recvWindow | LONG | NO | |
-
-```js
-console.log(
- await client.deliveryMarginHistory({
- symbol: 'BTCUSD_200925',
- type: 1,
- startTime: 1578047897180,
- limit: 10,
- })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "amount": "23.36332311",
- "asset": "BTC",
- "symbol": "BTCUSD_200925",
- "time": 1578047897183,
- "type": 1,
- "positionSide": "BOTH"
- },
- {
- "amount": "100",
- "asset": "BTC",
- "symbol": "BTCUSD_200925",
- "time": 1578047900425,
- "type": 1,
- "positionSide": "LONG"
- }
- ...
-]
-```
-
-
-#### deliveryIncome
-
-Get income history.
-
-| Name | Type | Mandatory | Description |
-| ----------------- | ------ | -------- | ------------------------------------------------- |
-| symbol | STRING | NO | The pair name |
-| incomeType | STRING | NO | "TRANSFER","WELCOME_BONUS", "REALIZED_PNL",
"FUNDING_FEE", "COMMISSION", and "INSURANCE_CLEAR" |
-| startTime | LONG | NO | Timestamp in ms to get funding from INCLUSIVE. |
-| endTime | LONG | NO | Timestamp in ms to get funding until INCLUSIVE. |
-| limit | INT | NO | Default 100; max 1000 |
-| recvWindow | LONG | NO | |
-
-- If `incomeType` is not sent, all kinds of flow will be returned
-- `trandId` is unique in the same incomeType for a user
-- The interval between `startTime` and `endTime` can not exceed 200 days:
- - If `startTime` and `endTime` are not sent, the last 200 days will be returned
-
-```js
-console.log(
- await client.deliveryIncome({
- symbol: 'BTCUSD_200925',
- startTime: 1570608000000,
- limit: 700,
- })
-)
-```
-
-
-Output
-
-```js
-[
- {
- "symbol": "", // trade symbol, if existing
- "incomeType": "TRANSFER", // income type
- "income": "-0.37500000", // income amount
- "asset": "BTC", // income asset
- "info":"WITHDRAW", // extra information
- "time": 1570608000000,
- "tranId":"9689322392", // transaction id
- "tradeId":"" // trade id, if existing
- },
- {
- "symbol": "BTCUSD_200925",
- "incomeType": "COMMISSION",
- "income": "-0.01000000",
- "asset": "BTC",
- "info":"",
- "time": 1570636800000,
- "tranId":"9689322392",
- "tradeId":"2059192"
- }
-]
-```
-
-
-#### deliveryAccountBalance
-
-Get delivery account balance
-
-```js
-console.log(await client.deliveryAccountBalance());
-```
-
-
-Output
-
-```js
-[
- {
- "accountAlias": "SgsR", // unique account code
- "asset": "BTC",
- "balance": "0.00250000",
- "withdrawAvailable": "0.00250000",
- "crossWalletBalance": "0.00241969",
- "crossUnPnl": "0.00000000",
- "availableBalance": "0.00241969",
- "updateTime": 1592468353979
- }
- ...
-]
-```
-
-
-
-#### deliveryUserTrades
-
-Get trades for a specific account and symbol.
-
-```js
-console.log(
- await client.deliveryUserTrades({
- symbol: 'BTCUSD_200626',
- }),
-)
-```
-
-| Param | Type | Mandatory | Description |
-| ---------- | ------ | --------- | -------------------------------------------------------- |
-| symbol | STRING | NO | |
-| pair | STRING | NO | |
-| startTime | LONG | NO | |
-| endTime | LONG | NO | |
-| limit | INT | NO | Default 50; max 1000. |
-| fromId | LONG | NO | Trade id to fetch from. Default gets most recent trades. |
-| recvWindow | LONG | NO | |
-
-- Either symbol or pair must be sent
-- Symbol and pair cannot be sent together
-- Pair and fromId cannot be sent together
-- If a pair is sent,tickers for all symbols of the pair will be returned
-- The parameter `fromId` cannot be sent with `startTime` or `endTime`
-
-
-Output
-
-```js
-[
- {
- 'symbol': 'BTCUSD_200626',
- 'id': 6,
- 'orderId': 28,
- 'pair': 'BTCUSD',
- 'side': 'SELL',
- 'price': '8800',
- 'qty': '1',
- 'realizedPnl': '0',
- 'marginAsset': 'BTC',
- 'baseQty': '0.01136364',
- 'commission': '0.00000454',
- 'commissionAsset': 'BTC',
- 'time': 1590743483586,
- 'positionSide': 'BOTH',
- 'buyer': false,
- 'maker': false
- }
- ...
-]
-
-```
-
-
-
-#### deliveryLeverageBracket
-
-Get the pair's default notional bracket list.
-
-```js
-console.log(
- await client.deliveryLeverageBracket({
- pair: 'BTCUSD', // Optional
- }),
-)
-```
-
-| Param | Type | Mandatory | Description |
-| ---------- | ------ | --------- | ----------------------------------------------------------|
-| symbol | STRING | NO | Use if you are only interested in brackets for one symbol |
-| recvWindow | LONG | NO | |
-
-
-Output
-
-```js
-[
- {
- "pair": "BTCUSD",
- "brackets": [
- {
- "bracket": 1, // bracket level
- "initialLeverage": 125, // the maximum leverage
- "qtyCap": 50, // upper edge of base asset quantity
- "qtylFloor": 0, // lower edge of base asset quantity
- "maintMarginRatio": 0.004 // maintenance margin rate
- "cum": 0.0 // Auxiliary number for quick calculation
- },
- ]
- }
-]
-```
-
-
-### WebSockets
-
-Every websocket utility returns a function you can call to close the opened
-connection and avoid memory issues.
-
-```js
-const clean = client.ws.depth('ETHBTC', depth => {
- console.log(depth)
-})
-
-// After you're done
-clean()
-```
-
-#### depth
-
-Live depth market data feed. The first parameter can either
-be a single symbol string or an array of symbols. If you wish
-to specify the update speed (can either be `1000ms` or `100ms`)
-of the stream then append the speed at the end of the symbol
-string as follows: `ETHBTC@100ms`
-
-```js
-client.ws.depth('ETHBTC', depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'depthUpdate',
- eventTime: 1508612956950,
- symbol: 'ETHBTC',
- firstUpdateId: 18331140,
- finalUpdateId: 18331145,
- bidDepth: [
- { price: '0.04896500', quantity: '0.00000000' },
- { price: '0.04891100', quantity: '15.00000000' },
- { price: '0.04891000', quantity: '0.00000000' } ],
- askDepth: [
- { price: '0.04910600', quantity: '0.00000000' },
- { price: '0.04910700', quantity: '11.24900000' }
- ]
-}
-```
-
-
-
-#### customSubStream
-
-You can add custom sub streams by view [docs](#https://binance-docs.github.io/apidocs/futures/cn/#websocket)
-
-```js
-client.ws.customSubStream('!markPrice@arr@1s', console.log)
-```
-
-#### partialDepth
-
-Top levels bids and asks, pushed every second. Valid levels are 5, 10, or 20.
-Accepts an array of objects for multiple depths. If you wish
-to specify the update speed (can either be `1000ms` or `100ms`)
-of the stream then append the speed at the end of the symbol
-string as follows: `ETHBTC@100ms`
-
-```js
-client.ws.partialDepth({ symbol: 'ETHBTC', level: 10 }, depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
- symbol: 'ETHBTC',
- level: 10,
- bids: [
- { price: '0.04896500', quantity: '0.00000000' },
- { price: '0.04891100', quantity: '15.00000000' },
- { price: '0.04891000', quantity: '0.00000000' }
- ],
- asks: [
- { price: '0.04910600', quantity: '0.00000000' },
- { price: '0.04910700', quantity: '11.24900000' }
- ]
-}
-```
-
-
-
-#### ticker
-
-24hr Ticker statistics for a symbol pushed every second. Accepts an array of symbols.
-
-```js
-client.ws.ticker('HSRETH', ticker => {
- console.log(ticker)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: '24hrTicker',
- eventTime: 1514670820924,
- symbol: 'HSRETH',
- priceChange: '-0.00409700',
- priceChangePercent: '-11.307',
- weightedAvg: '0.03394946',
- prevDayClose: '0.03623500',
- curDayClose: '0.03213800',
- closeTradeQuantity: '7.02000000',
- bestBid: '0.03204200',
- bestBidQnt: '78.00000000',
- bestAsk: '0.03239800',
- bestAskQnt: '7.00000000',
- open: '0.03623500',
- high: '0.03659900',
- low: '0.03126000',
- volume: '100605.15000000',
- volumeQuote: '3415.49097353',
- openTime: 1514584420922,
- closeTime: 1514670820922,
- firstTradeId: 344803,
- lastTradeId: 351380,
- totalTrades: 6578
-}
-```
-
-
-
-#### allTickers
-
-Retrieves all the tickers.
-
-```js
-client.ws.allTickers(tickers => {
- console.log(tickers)
-})
-```
-#### miniTicker
-
-24hr Mini Ticker statistics for a symbol pushed every second. Accepts an array of symbols.
-
-```js
-client.ws.miniTicker('HSRETH', ticker => {
- console.log(ticker)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: '24hrMiniTicker',
- eventTime: 1514670820924,
- symbol: 'HSRETH',
- curDayClose: '0.03213800',
- open: '0.03623500',
- high: '0.03659900',
- low: '0.03126000',
- volume: '100605.15000000',
- volumeQuote: '3415.49097353'
-}
-```
-
-
-
-#### allMiniTickers
-
-Retrieves all the mini tickers.
-
-```js
-client.ws.allMiniTickers(tickers => {
- console.log(tickers)
-})
-```
-
-#### bookTicker
-
-Pushes any update to the best bid or ask's price or quantity in real-time for a specified symbol. Accepts a single symbol or an array of symbols.
-
-```js
-client.ws.bookTicker('BTCUSDT', ticker => {
- console.log(ticker)
-})
-```
-
-
-Output
-
-```js
-{
- updateId: 23099391508,
- symbol: 'BTCUSDT',
- bestBid: '21620.03000000',
- bestBidQnt: '0.09918000',
- bestAsk: '21621.65000000',
- bestAskQnt: '0.06919000'
-}
-```
-
-
-
-#### candles
-
-Live candle data feed for a given interval. You can pass either a symbol string
-or a symbol array.
-
-```js
-client.ws.candles('ETHBTC', '1m', candle => {
- console.log(candle)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'kline',
- eventTime: 1508613366276,
- symbol: 'ETHBTC',
- open: '0.04898000',
- high: '0.04902700',
- low: '0.04898000',
- close: '0.04901900',
- volume: '37.89600000',
- trades: 30,
- interval: '5m',
- isFinal: false,
- quoteVolume: '1.85728874',
- buyVolume: '21.79900000',
- quoteBuyVolume: '1.06838790'
-}
-```
-
-
-
-#### trades
-
-Live trade data feed. Pass either a single symbol string or an array of symbols. The trade streams push raw trade information; each trade has a unique buyer and seller.
-
-```js
-client.ws.trades(['ETHBTC', 'BNBBTC'], trade => {
- console.log(trade)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'trade',
- eventTime: 1508614495052,
- tradeTime: 1508614495050,
- symbol: 'ETHBTC',
- price: '0.04923600',
- quantity: '3.43500000',
- isBuyerMaker: true,
- maker: true,
- tradeId: 2148226,
- buyerOrderId: 390876,
- sellerOrderId: 390752
-}
-```
-
-
-
-#### aggTrades
-
-Live trade data feed. Pass either a single symbol string or an array of symbols. The aggregate trade streams push trade information that is aggregated for a single taker order.
-
-```js
-client.ws.aggTrades(['ETHBTC', 'BNBBTC'], trade => {
- console.log(trade)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'aggTrade',
- eventTime: 1508614495052,
- aggId: 2148226,
- price: '0.04923600',
- quantity: '3.43500000',
- firstId: 37856,
- lastId: 37904,
- timestamp: 1508614495050,
- symbol: 'ETHBTC',
- isBuyerMaker: false,
- wasBestPrice: true
-}
-```
-
-
-
-#### user
-
-Live user messages data feed.
-
-**Requires authentication**
-
-```js
-const clean = await client.ws.user(msg => {
- console.log(msg)
-})
-```
-
-There is also equivalent function to query the margin wallet:
-
-```js
-client.ws.marginUser()
-```
-
-Note that this method return a promise which will resolve the `clean` callback.
-
-
-Output
-
-```js
-{
- eventType: 'account',
- eventTime: 1508614885818,
- balances: {
- '123': { available: '0.00000000', locked: '0.00000000' },
- '456': { available: '0.00000000', locked: '0.00000000' },
- BTC: { available: '0.00000000', locked: '0.00000000' },
- }
-}
-```
-
-
-
-### Futures WebSockets
-
-Every websocket utility returns a function you can call to close the opened
-connection and avoid memory issues.
-
-```js
-const clean = client.ws.futuresDepth('ETHBTC', depth => {
- console.log(depth)
-})
-
-// After you're done
-clean()
-```
-
-Each websocket utility supports the ability to get a clean callback without data transformation, for this, pass the third attribute FALSE.
-
-```js
-const clean = client.ws.futuresDepth('ETHBTC', depth => {
- console.log(depth)
-}, false)
-```
-
-
-Output
-
-```js
-{
- "e": "depthUpdate", // Event type
- "E": 123456789, // Event time
- "T": 123456788, // transaction time
- "s": "BTCUSDT", // Symbol
- "U": 157, // First update ID in event
- "u": 160, // Final update ID in event
- "pu": 149, // Final update Id in last stream(ie `u` in last stream)
- "b": [ // Bids to be updated
- [
- "0.0024", // Price level to be updated
- "10" // Quantity
- ]
- ],
- "a": [ // Asks to be updated
- [
- "0.0026", // Price level to be updated
- "100" // Quantity
- ]
- ]
-}
-```
-
-
-#### futuresDepth
-
-Live futuresDepth market data feed. The first parameter can either
-be a single symbol string or an array of symbols.
-
-```js
-client.ws.futuresDepth('ETHBTC', depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'depthUpdate',
- eventTime: 1508612956950,
- symbol: 'ETHBTC',
- firstUpdateId: 18331140,
- finalUpdateId: 18331145,
- bidDepth: [
- { price: '0.04896500', quantity: '0.00000000' },
- { price: '0.04891100', quantity: '15.00000000' },
- { price: '0.04891000', quantity: '0.00000000' } ],
- askDepth: [
- { price: '0.04910600', quantity: '0.00000000' },
- { price: '0.04910700', quantity: '11.24900000' }
- ]
-}
-```
-
-
-#### futuresPartialDepth
-
-Top levels bids and asks, pushed every second. Valid levels are 5, 10, or 20.
-Accepts an array of objects for multiple depths.
-
-```js
-client.ws.futuresPartialDepth({ symbol: 'ETHBTC', level: 10 }, depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
-
- eventType: 'depthUpdate',
- eventTime: 1508612956950,
- symbol: 'ETHBTC',
- level: 10,
- firstUpdateId: 18331140,
- finalUpdateId: 18331145,
- bidDepth: [
- { price: '0.04896500', quantity: '0.00000000' },
- { price: '0.04891100', quantity: '15.00000000' },
- { price: '0.04891000', quantity: '0.00000000' } ],
- askDepth: [
- { price: '0.04910600', quantity: '0.00000000' },
- { price: '0.04910700', quantity: '11.24900000' }
- ]
-}
-```
-
-
-#### futuresTicker
-
-24hr Ticker statistics for a symbol pushed every 500ms. Accepts an array of symbols.
-
-```js
-client.ws.futuresTicker('HSRETH', ticker => {
- console.log(ticker)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: '24hrTicker',
- eventTime: 123456789,
- symbol: 'BTCUSDT',
- priceChange: '0.0015',
- priceChangePercent: '250.00',
- weightedAvg: '0.0018',
- curDayClose: '0.0025',
- closeTradeQuantity: '10',
- open: '0.0010',
- high: '0.0025',
- low: '0.0010',
- volume: '10000',
- volumeQuote: '18',
- openTime: 0,
- closeTime: 86400000,
- firstTradeId: 0,
- lastTradeId: 18150,
- totalTrades: 18151,
-}
-```
-
-
-#### futuresAllTickers
-
-Retrieves all the tickers.
-
-```js
-client.ws.futuresAllTickers(tickers => {
- console.log(tickers)
-})
-```
-
-#### futuresCandles
-
-Live candle data feed for a given interval. You can pass either a symbol string
-or a symbol array.
-
-```js
-client.ws.futuresCandles('ETHBTC', '1m', candle => {
- console.log(candle)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'kline',
- eventTime: 1508613366276,
- symbol: 'ETHBTC',
- open: '0.04898000',
- high: '0.04902700',
- low: '0.04898000',
- close: '0.04901900',
- volume: '37.89600000',
- trades: 30,
- interval: '5m',
- isFinal: false,
- quoteVolume: '1.85728874',
- buyVolume: '21.79900000',
- quoteBuyVolume: '1.06838790'
-}
-```
-
-
-#### futuresAggTrades
-
-Live trade data feed. Pass either a single symbol string or an array of symbols. The Aggregate Trade Streams push trade information that is aggregated for a single taker order every 100 milliseconds.
-
-```js
-client.ws.futuresAggTrades(['ETHBTC', 'BNBBTC'], trade => {
- console.log(trade)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'aggTrade',
- eventTime: 1508614495052,
- aggId: 2148226,
- price: '0.04923600',
- quantity: '3.43500000',
- firstId: 37856,
- lastId: 37904,
- timestamp: 1508614495050,
- symbol: 'ETHBTC',
- isBuyerMaker: false,
-}
-```
-
-
-
-#### futuresLiquidations
-
-Live liquidation data feed. Pass either a single symbol string or an array of symbols. The Liquidation Order Streams push force liquidation order information for specific symbol(s).
-
-```js
-client.ws.futuresLiquidations(['ETHBTC', 'BNBBTC'], liquidation => {
- console.log(liquidation)
-})
-```
-
-
-Output
-
-```js
-{
- symbol: string
- price: '0.04923600',
- origQty: '3.43500000',
- lastFilledQty: '3.43500000',
- accumulatedQty: '3.43500000',
- averagePrice: '0.04923600',
- status: 'FILLED',
- timeInForce: 'IOC',
- type: 'LIMIT',
- side: 'SELL',
- time: 1508614495050
-}
-```
-
-
-
-#### futuresAllLiquidations
-
-Live liquidation data feed. Pass either a single symbol string or an array of symbols. The All Liquidation Order Streams push force liquidation order information for all symbols in the market.
-
-```js
-client.ws.futuresAllLiquidations(liquidation => {
- console.log(liquidation)
-})
-```
-
-
-Output
-
-```js
-{
- symbol: string
- price: '0.04923600',
- origQty: '3.43500000',
- lastFilledQty: '3.43500000',
- accumulatedQty: '3.43500000',
- averagePrice: '0.04923600',
- status: 'FILLED',
- timeInForce: 'IOC',
- type: 'LIMIT',
- side: 'SELL',
- time: 1508614495050
-}
-```
-
-
-
-#### futuresCustomSubStream
-
-You can add custom sub streams by view [docs](#https://binance-docs.github.io/apidocs/futures/cn/#websocket)
-
-```js
-client.ws.futuresCustomSubStream(['!markPrice@arr','ETHBTC@markPrice@1s'], console.log)
-```
-
-#### futuresUser
-
-Live user messages data feed.
-
-**Requires authentication**
-
-```js
-const futuresUser = await client.ws.futuresUser(msg => {
- console.log(msg)
-})
-```
-
-
-Output
-
-```js
-{
- eventTime: 1564745798939,
- transactionTime: 1564745798938,
- eventType: 'ACCOUNT_UPDATE',
- eventReasonType: 'ORDER',
- balances: [
- {
- asset:'USDT',
- walletBalance:'122624.12345678',
- crossWalletBalance:'100.12345678'
- },
- {
- asset:'BNB',
- walletBalance:'1.00000000',
- crossWalletBalance:'0.00000000'
- }
- ],
- positions: [
- {
- symbol:'BTCUSDT',
- positionAmount:'0',
- entryPrice:'0.00000',
- accumulatedRealized:'200',
- unrealizedPnL:'0',
- marginType:'isolated',
- isolatedWallet:'0.00000000',
- positionSide:'BOTH'
- },
- {
- symbol:'BTCUSDT',
- positionAmount:'20',
- entryPrice:'6563.66500',
- accumulatedRealized:'0',
- unrealizedPnL:'2850.21200',
- marginType:'isolated',
- isolatedWallet:'13200.70726908',
- positionSide:'LONG'
- }
- ],
-}
-```
-
-
-### Delivery WebSockets
-
-Every websocket utility returns a function you can call to close the opened
-connection and avoid memory issues.
-
-```js
-const clean = client.ws.deliveryDepth('BTCUSD_200626', depth => {
- console.log(depth)
-})
-
-// After you're done
-clean()
-```
-
-Each websocket utility supports the ability to get a clean callback without data transformation, for this, pass the third attribute FALSE.
-
-```js
-const clean = client.ws.deliveryDepth('BTCUSD_200626', depth => {
- console.log(depth)
-}, false)
-```
-
-
-Output
-
-```js
-{
- "e": "depthUpdate", // Event type
- "E": 1591270260907, // Event time
- "T": 1591270260891, // Transction time
- "s": "BTCUSD_200626", // Symbol
- "ps": "BTCUSD", // Pair
- "U": 17285681, // First update ID in event
- "u": 17285702, // Final update ID in event
- "pu": 17285675, // Final update Id in last stream(ie `u` in last stream)
- "b": [ // Bids to be updated
- [
- "9517.6", // Price level to be updated
- "10" // Quantity
- ]
- ],
- "a": [ // Asks to be updated
- [
- "9518.5", // Price level to be updated
- "45" // Quantity
- ]
- ]
-}
-```
-
-
-#### deliveryDepth
-
-Live futuresDepth market data feed. The first parameter can either
-be a single symbol string or an array of symbols.
-
-```js
-client.ws.deliveryDepth('TRXUSD_PERP', depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'depthUpdate',
- eventTime: 1663111254317,
- transactionTime: 1663111254138,
- symbol: 'TRXUSD_PERP',
- pair: 'TRXUSD',
- firstUpdateId: 558024151999,
- finalUpdateId: 558024152633,
- prevFinalUpdateId: 558024150524,
- bidDepth: [
- { price: '0.06052', quantity: '1805' },
- { price: '0.06061', quantity: '313' }
- ],
- askDepth: [
- { price: '0.06062', quantity: '314' },
- { price: '0.06063', quantity: '790' },
- { price: '0.06065', quantity: '1665' },
- { price: '0.06066', quantity: '2420' }
- ]
-}
-```
-
-
-#### deliveryPartialDepth
-
-Top bids and asks. Valid levels are 5, 10, or 20.
-Update Speed : 250ms, 500ms or 100ms.
-Accepts an array of objects for multiple depths.
-
-```js
-client.ws.deliveryPartialDepth({ symbol: 'TRXUSD_PERP', level: 10 }, depth => {
- console.log(depth)
-})
-```
-
-
-Output
-
-```js
-{
- level: 10,
- eventType: 'depthUpdate',
- eventTime: 1663111554598,
- transactionTime: 1663111554498,
- symbol: 'TRXUSD_PERP',
- pair: 'TRXUSD',
- firstUpdateId: 558027933795,
- finalUpdateId: 558027935097,
- prevFinalUpdateId: 558027932895,
- bidDepth: [
- { price: '0.06063', quantity: '604' },
- { price: '0.06062', quantity: '227' },
- { price: '0.06061', quantity: '327' }
- ],
- askDepth: [
- { price: '0.06064', quantity: '468' },
- { price: '0.06065', quantity: '131' }
- ]
-}
-```
-
-
-#### deliveryTicker
-
-24hr rollwing window ticker statistics for a single symbol. These are NOT the statistics of the UTC day, but a 24hr rolling window from requestTime to 24hrs before.
-Accepts an array of symbols.
-
-```js
-client.ws.deliveryTicker('BNBUSD_PERP', ticker => {
- console.log(ticker)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: '24hrTicker',
- eventTime: 1664834148221,
- symbol: 'BNBUSD_PERP',
- pair: 'BNBUSD',
- priceChange: '0.130',
- priceChangePercent: '0.046',
- weightedAvg: '286.02648763',
- curDayClose: '285.745',
- closeTradeQuantity: '1',
- open: '285.615',
- high: '289.050',
- low: '282.910',
- volume: '9220364',
- volumeBase: '322360.49452795',
- openTime: 1664747700000,
- closeTime: 1664834148215,
- firstTradeId: 179381113,
- lastTradeId: 179462069,
- totalTrades: 80957
-}
-```
-
-
-#### deliveryAllTickers
-
-Retrieves all the tickers.
-
-```js
-client.ws.deliveryAllTickers(tickers => {
- console.log(tickers)
-})
-```
-
-#### deliveryCandles
-
-Live candle data feed for a given interval. You can pass either a symbol string
-or a symbol array.
-
-```js
-client.ws.deliveryCandles('ETHUSD_PERP', '1m', candle => {
- console.log(candle)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'kline',
- eventTime: 1664834318306,
- symbol: 'ETHUSD_PERP',
- startTime: 1664834280000,
- closeTime: 1664834339999,
- firstTradeId: 545784425,
- lastTradeId: 545784494,
- open: '1317.68',
- high: '1317.91',
- low: '1317.68',
- close: '1317.91',
- volume: '6180',
- trades: 70,
- interval: '1m',
- isFinal: false,
- baseVolume: '46.89730466',
- buyVolume: '5822',
- baseBuyVolume: '44.18040830'
-}
-```
-
-
-#### deliveryAggTrades
-
-Live trade data feed. Pass either a single symbol string or an array of symbols. The Aggregate Trade Streams push trade information that is aggregated for a single taker order every 100 milliseconds.
-
-```js
-client.ws.deliveryAggTrades(['ETHUSD_PERP', 'BNBUSD_PERP'], trade => {
- console.log(trade)
-})
-```
-
-
-Output
-
-```js
-{
- eventType: 'aggTrade',
- eventTime: 1664834403682,
- symbol: 'ETHUSD_PERP',
- aggId: 216344302,
- price: '1317.57',
- quantity: '1318',
- firstId: 545784591,
- lastId: 545784591,
- timestamp: 1664834403523,
- isBuyerMaker: false
-}
-```
-
-
-
-#### deliveryCustomSubStream
-
-You can add custom sub streams by view [docs](https://binance-docs.github.io/apidocs/delivery/en/#websocket-market-streams)
-
-```js
-client.ws.deliveryCustomSubStream(['!miniTicker@arr','ETHUSD_PERP@markPrice@1s'], console.log)
-```
-
-#### deliveryUser
-
-Live user messages data feed.
-For different event types, see [official documentation](https://binance-docs.github.io/apidocs/delivery/en/#user-data-streams)
-
-**Requires authentication**
-
-```js
-const deliveryUser = await client.ws.deliveryUser(msg => {
- console.log(msg)
-})
-```
-
-
-Output
-
-```js
-{
- eventTime: 1664834883117,
- transactionTime: 1664834883101,
- eventType: 'ACCOUNT_UPDATE',
- eventReasonType: 'ORDER',
- balances: [
- {
- asset: 'BUSD',
- walletBalance: '123.45678901',
- crossWalletBalance: '123.45678901',
- balanceChange: '0'
- },
- {
- asset: 'BNB',
- walletBalance: '0.12345678',
- crossWalletBalance: '0.12345678',
- balanceChange: '0'
- }
- ],
- positions: [
- {
- symbol: 'ETHBUSD',
- positionAmount: '420.024',
- entryPrice: '1234.56789',
- accumulatedRealized: '9000.12345678',
- unrealizedPnL: '0.38498800',
- marginType: 'cross',
- isolatedWallet: '0',
- positionSide: 'BOTH'
- }
- ]
-}
-```
-
-
-#### Common
-
-#### getInfo
-
-To get information about limits from response headers call getInfo()
-
-```js
-console.log(client.getInfo())
-```
-
-
-Output
-
-```js
-{
- futures: {
- futuresLatency: "2ms",
- orderCount1m: "10",
- usedWeigh1m: "1",
- },
- spot: {
- orderCount1d: "347",
- orderCount10s: "1",
- usedWeigh1m: "15",
- },
- delivery: {
- usedWeight1m: '13',
- responseTime: '4ms',
- orderCount1m: '1'
- }
-}
-```
-
-
-### ErrorCodes
-
-An utility error code map is also being exported by the package in order for you to make readable
-conditionals upon specific errors that could occur while using the API.
-
-```js
-import Binance, { ErrorCodes } from 'binance-api-node'
-
-console.log(ErrorCodes.INVALID_ORDER_TYPE) // -1116
-```
+Please consider this offically supported Node.js library available at https://github.com/binance/binance-connector-node
\ No newline at end of file