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