node-api-huobi
Version:
Non-official implementation of Huobi's API's
243 lines (192 loc) • 13.9 kB
Markdown
# node-api-huobi
**WARNING: This package is still early beta! Expect breaking changes until this sees a major release.**
Non-official implementation of Huobi's API's. Developed for personal use.
For support on using the API's or development issues, please refer to the official API documentation. For questions regarding this package, please consult the code first.
## __PUBLIC API__
```javascript
const huobi=require('node-api-huobi');
const publicAPI=new huobi.publicApi();
```
### Reference Data
| API | DESCRIPTION |
| :---- | :---- |
| getSystemStatus | Not implemented |
| getMarketStatus | https://huobiapi.github.io/docs/spot/v1/en/#get-market-status |
| getSymbols | https://huobiapi.github.io/docs/spot/v1/en/#get-all-supported-trading-symbol-v2 |
| getCurrencies | https://huobiapi.github.io/docs/spot/v1/en/#get-all-supported-currencies-v2 |
| getCurrencySettings | https://huobiapi.github.io/docs/spot/v1/en/#get-currencys-settings |
| getSymbolSettings | https://huobiapi.github.io/docs/spot/v1/en/#get-symbols-setting |
| getMarketSettings | https://huobiapi.github.io/docs/spot/v1/en/#get-market-symbols-setting |
| getChainsInfo | https://huobiapi.github.io/docs/spot/v1/en/#get-chains-information |
| getChainCurrencies | https://huobiapi.github.io/docs/spot/v1/en/#apiv2-currency-amp-chains |
| getTimestamp | https://huobiapi.github.io/docs/spot/v1/en/#get-current-timestamp |
### Market Data
| API | DESCRIPTION |
| :---- | :---- |
| getKlines | https://huobiapi.github.io/docs/spot/v1/en/#get-klines-candles |
| getTicker | https://huobiapi.github.io/docs/spot/v1/en/#get-latest-aggregated-ticker |
| getAllTickers | https://huobiapi.github.io/docs/spot/v1/en/#get-latest-tickers-for-all-pairs |
| getMarketDepth | https://huobiapi.github.io/docs/spot/v1/en/#get-market-depth |
| getLastTrade | https://huobiapi.github.io/docs/spot/v1/en/#get-the-last-trade |
| getRecentTrades | https://huobiapi.github.io/docs/spot/v1/en/#get-the-most-recent-trades |
| getMarketSummary | https://huobiapi.github.io/docs/spot/v1/en/#get-the-last-24h-market-summary |
| getNetAssetValue | https://huobiapi.github.io/docs/spot/v1/en/#get-real-time-nav |
## __PRIVATE API__
```javascript
const huobi=require('node-api-huobi');
const auth = {
apikey: 'MY_API_KEY',
secret: 'MY_API_SECRET'
};
const privateAPI=new huobi.privateApi(auth);
```
### Account
| API | DESCRIPTION |
| :---- | :---- |
| getAccounts | https://huobiapi.github.io/docs/spot/v1/en/#get-all-accounts-of-the-current-user |
| getBalance | https://huobiapi.github.io/docs/spot/v1/en/#get-account-balance-of-a-specific-account |
| getPlatformValue | https://huobiapi.github.io/docs/spot/v1/en/#get-the-total-valuation-of-platform-assets |
| getAssetValuation | https://huobiapi.github.io/docs/spot/v1/en/#get-asset-valuation |
| transferAsset | https://huobiapi.github.io/docs/spot/v1/en/#asset-transfer |
| transferSubAccountAsset | https://huobiapi.github.io/docs/spot/v1/en/#asset-transfer |
| getAccountHistory | https://huobiapi.github.io/docs/spot/v1/en/#get-account-history |
| getAccountLedger | https://huobiapi.github.io/docs/spot/v1/en/#get-account-ledger |
| transferSpotFuture | https://huobiapi.github.io/docs/spot/v1/en/#transfer-fund-between-spot-account-and-future-contract-account |
| getPointBalance | https://huobiapi.github.io/docs/spot/v1/en/#get-point-balance |
| transferPoints | https://huobiapi.github.io/docs/spot/v1/en/#point-transfer |
### Wallet
| API | DESCRIPTION |
| :---- | :---- |
| getDepositAddress | https://huobiapi.github.io/docs/spot/v1/en/#query-deposit-address |
| getWithdrawQuota | https://huobiapi.github.io/docs/spot/v1/en/#query-withdraw-quota |
| getWithdrawAddress | https://huobiapi.github.io/docs/spot/v1/en/#query-withdraw-address |
| createWithdrawRequest | https://huobiapi.github.io/docs/spot/v1/en/#create-a-withdraw-request |
| getWithdrawal | https://huobiapi.github.io/docs/spot/v1/en/#query-withdrawal-order-by-client-order-id |
| cancelWithdrawal | https://huobiapi.github.io/docs/spot/v1/en/#cancel-a-withdraw-request |
| getWithdrawalsDeposits | https://huobiapi.github.io/docs/spot/v1/en/#search-for-existed-withdraws-and-deposits |
### Sub-User
| API | DESCRIPTION |
| :---- | :---- |
| setDeductionMode | https://huobiapi.github.io/docs/spot/v1/en/#set-a-deduction-for-parent-and-sub-user |
| getAPIKeys | https://huobiapi.github.io/docs/spot/v1/en/#api-key-query |
| getUID | https://huobiapi.github.io/docs/spot/v1/en/#get-uid |
| createSubUser | https://huobiapi.github.io/docs/spot/v1/en/#sub-user-creation |
| getSubUsersList | https://huobiapi.github.io/docs/spot/v1/en/#get-sub-user-39-s-list |
| updateSubUser | https://huobiapi.github.io/docs/spot/v1/en/#lock-unlock-sub-user |
| getSubUsersStatus | https://huobiapi.github.io/docs/spot/v1/en/#get-sub-user-39-s-status |
| setTradeableMarkets | https://huobiapi.github.io/docs/spot/v1/en/#set-tradable-market-for-sub-users |
| setAssetTransferPermission | https://huobiapi.github.io/docs/spot/v1/en/#set-asset-transfer-permission-for-sub-users |
| getSubUsersAccountList | https://huobiapi.github.io/docs/spot/v1/en/#get-sub-user-39-s-account-list |
| createSubUserAPIKey | https://huobiapi.github.io/docs/spot/v1/en/#sub-user-api-key-creation |
| updateSubUserAPIKey | https://huobiapi.github.io/docs/spot/v1/en/#sub-user-api-key-modification |
| deleteSubUserAPIKey | https://huobiapi.github.io/docs/spot/v1/en/#sub-user-api-key-deletion |
| transferSubUserAsset | https://huobiapi.github.io/docs/spot/v1/en/#transfer-asset-between-parent-and-sub-account |
| getSubUserDepositAddress | https://huobiapi.github.io/docs/spot/v1/en/#query-deposit-address-of-sub-user |
| getSubUserDeposits | https://huobiapi.github.io/docs/spot/v1/en/#query-deposit-history-of-sub-user |
| getAggregatedBalance | https://huobiapi.github.io/docs/spot/v1/en/#get-the-aggregated-balance-of-all-sub-users |
| getSubUserBalance | https://huobiapi.github.io/docs/spot/v1/en/#get-account-balance-of-a-sub-user |
### Trading
| API | DESCRIPTION |
| :---- | :---- |
| placeOrder | https://huobiapi.github.io/docs/spot/v1/en/#place-a-new-order |
| placeOrders | https://huobiapi.github.io/docs/spot/v1/en/#place-a-batch-of-orders |
| cancelOrder | https://huobiapi.github.io/docs/spot/v1/en/#submit-cancel-for-an-order https://huobiapi.github.io/docs/spot/v1/en/#submit-cancel-for-an-order-based-on-client-order-id |
| getOrders | https://huobiapi.github.io/docs/spot/v1/en/#get-all-open-orders |
| cancelOrders | https://huobiapi.github.io/docs/spot/v1/en/#submit-cancel-for-multiple-orders-by-criteria https://huobiapi.github.io/docs/spot/v1/en/#submit-cancel-for-multiple-orders-by-ids |
| cancelAllOrders | https://huobiapi.github.io/docs/spot/v1/en/#dead-man-s-switch |
| getOrderDetails | https://huobiapi.github.io/docs/spot/v1/en/#get-the-order-detail-of-an-order https://huobiapi.github.io/docs/spot/v1/en/?json#get-the-order-detail-of-an- |
| getMatchResult | https://huobiapi.github.io/docs/spot/v1/en/#get-the-match-result-of-an-order |
| searchPastOrders | https://huobiapi.github.io/docs/spot/v1/en/#search-past-orders |
| searchHistoricalOrders | https://huobiapi.github.io/docs/spot/v1/en/#search-historical-orders-within-48-hours |
| searchMatchResults | https://huobiapi.github.io/docs/spot/v1/en/#search-match-results |
| getFeeRate | https://huobiapi.github.io/docs/spot/v1/en/#get-current-fee-rate-applied-to-the-user |
### Conditional Order
| API | DESCRIPTION |
| :---- | :---- |
| placeConditionalOrder | https://huobiapi.github.io/docs/spot/v1/en/#place-a-conditional-order |
| cancelConditionalOrder | https://huobiapi.github.io/docs/spot/v1/en/#cancel-conditional-orders-before-triggering |
| getConditionalOrders | https://huobiapi.github.io/docs/spot/v1/en/#query-open-conditional-orders-before-triggering |
| searchConditionalOrderHistory | https://huobiapi.github.io/docs/spot/v1/en/#query-conditional-order-history |
| searchConditionalOrder | https://huobiapi.github.io/docs/spot/v1/en/#query-a-specific-conditional-order |
### Margin
| API | DESCRIPTION |
| :---- | :---- |
| repayMarginLoan | https://huobiapi.github.io/docs/spot/v1/en/#repay-margin-loan-cross-isolated |
| transferToMargin | https://huobiapi.github.io/docs/spot/v1/en/#transfer-asset-from-spot-trading-account-to-isolated-margin-account-isolated https://huobiapi.github.io/docs/spot/v1/en/#transfer-asset-from-spot-trading-account-to-cross-margin-account-cross |
| transferFromMargin | https://huobiapi.github.io/docs/spot/v1/en/#transfer-asset-from-isolated-margin-account-to-spot-trading-account-isolated https://huobiapi.github.io/docs/spot/v1/en/#transfer-asset-from-cross-margin-account-to-spot-trading-account-cross |
| getIsolatedLoanInfo | https://huobiapi.github.io/docs/spot/v1/en/#get-loan-interest-rate-and-quota-isolated |
| getCrossLoanInfo | https://huobiapi.github.io/docs/spot/v1/en/#get-loan-interest-rate-and-quota-cross |
| requestMarginLoan | https://huobiapi.github.io/docs/spot/v1/en/#request-a-margin-loan-isolated https://huobiapi.github.io/docs/spot/v1/en/#request-a-margin-loan-cross |
| repayIsolatedMarginLoan | https://huobiapi.github.io/docs/spot/v1/en/#repay-margin-loan-isolated |
| repayCrossMarginLoan | https://huobiapi.github.io/docs/spot/v1/en/#repay-margin-loan-cross |
| searchMarginOrders | https://huobiapi.github.io/docs/spot/v1/en/#search-past-margin-orders-isolated https://huobiapi.github.io/docs/spot/v1/en/#search-past-margin-orders-cross |
| getMarginBalance | https://huobiapi.github.io/docs/spot/v1/en/#get-the-balance-of-the-margin-loan-account-isolated https://huobiapi.github.io/docs/spot/v1/en/#get-the-balance-of-the-margin-loan-account-cross |
| getRepaymentReference | https://huobiapi.github.io/docs/spot/v1/en/#repayment-record-reference |
### Stable Coin Exchange
| API | DESCRIPTION |
| :---- | :---- |
| getExchangeRate | https://huobiapi.github.io/docs/spot/v1/en/#stable-coin-exchange |
| exchangeCoin | https://huobiapi.github.io/docs/spot/v1/en/#exchange-stable-coin |
### Exchange Traded Products (ETP)
| API | DESCRIPTION |
| :---- | :---- |
| getETPData | https://huobiapi.github.io/docs/spot/v1/en/#get-reference-data-of-etp |
| placeETPOrder | https://huobiapi.github.io/docs/spot/v1/en/#etp-creation |
| redeemETP | https://huobiapi.github.io/docs/spot/v1/en/#etp-redemption |
| getETPHistory | https://huobiapi.github.io/docs/spot/v1/en/#get-etp-creation-amp-redemption-history |
| getETPTransaction | https://huobiapi.github.io/docs/spot/v1/en/#get-specific-etp-creation-or-redemption-record |
| getRebalanceHistory | https://huobiapi.github.io/docs/spot/v1/en/#get-position-rebalance-history |
| cancelETPOrder | https://huobiapi.github.io/docs/spot/v1/en/#submit-cancel-for-an-etp-order |
| cancelETPOrders | https://huobiapi.github.io/docs/spot/v1/en/#batch-cancellation-for-etp-orders |
| getETPHoldingLimit | https://huobiapi.github.io/docs/spot/v1/en/#get-holding-limit-of-leveraged-etp |
## __WEBSOCKET API__
```javascript
const huobi=require('node-api-huobi');
const auth = {
apikey: 'MY_API_KEY',
secret: 'MY_API_SECRET'
};
const marketAPI=new huobi.sockets.marketApi();
const mbpAPI=new huobi.sockets.MBPApi();
const tradingAPI=new huobi.sockets.tradingApi(auth);
tradingAPI.setHandler('orders', (symbol,method,data,option) => { updateOrder(symbol,method,data); });
tradingAPI.socket._ws.on('authenticated', async () => { // For market API's: initialized
const res=await tradingAPI.subscribeOrderUpdates();
});
tradingAPI.socket._ws.on('closed', async () => {
// do something, like clean-up and reconnect
});
function updateOrder(symbol,method,data) {
// do something
};
```
### MARKET DATA
```javascript
const marketAPI=new huobi.sockets.marketApi();
```
| API | HANDLER | DESCRIPTION |
| :---- | :---- | :---- |
| subscribeCandles unsubscribeCandles getCandle | market.kline | https://huobiapi.github.io/docs/spot/v1/en/#market-candlestick |
| subscribeTickers unsubscribeTickers getTicker | market.ticker | https://huobiapi.github.io/docs/spot/v1/en/#market-ticker |
| subscribeMarketDepth unsubscribeMarketDepth getMarketDepth | market.depth | https://huobiapi.github.io/docs/spot/v1/en/#market-depth |
| subscribeBests unsubscribeBests getBest | market.bbo | https://huobiapi.github.io/docs/spot/v1/en/#best-bid-offer |
| subscribeTrades unsubscribeTrades getTrades | market.trade | https://huobiapi.github.io/docs/spot/v1/en/#trade-detail |
| subscribeStats unsubscribeStats getStats | market.detail | https://huobiapi.github.io/docs/spot/v1/en/#market-details |
| subscribeETP unsubscribeETP getETP | market.etp | https://huobiapi.github.io/docs/spot/v1/en/#subscribe-etp-real-time-nav |
### MARKET BY PRICE (MBP) DATA
```javascript
const mbpAPI=new huobi.sockets.MBPApi();
```
| API | HANDLER | DESCRIPTION |
| :---- | :---- | :---- |
| subscribeMBPIncremetal unsubscribeMBPIncremetal getMBPIncremetal | market.mbp | https://huobiapi.github.io/docs/spot/v1/en/#market-by-price-incremental-update |
| subscribeMBPRefresh unsubscribeMBPRefresh getMBPRefresh | market.mbp.refresh | https://huobiapi.github.io/docs/spot/v1/en/#market-by-price-refresh-update |
### ACCOUNT AND ORDER
```javascript
const tradingAPI=new huobi.sockets.tradingApi();
```
| API | HANDLER | DESCRIPTION |
| :---- | :---- | :---- |
| subscribeOrderUpdates unsubscribeOrderUpdates | orders | https://huobiapi.github.io/docs/spot/v1/en/#subscribe-order-updates |
| subscribeTradeClearing unsubscribeTradeClearing | trade.clearing | https://huobiapi.github.io/docs/spot/v1/en/#subscribe-trade-details-amp-order-cancellation-post-clearing |
| subscribeAccountChange unsubscribeAccountChange | accounts.update | https://huobiapi.github.io/docs/spot/v1/en/#subscribe-account-change |