poloniex-node-api v8.0.1
Poloniex Node.js API

Node.js library for Poloniex.
Installation
npm install poloniex-node-apiUsage
Legacy API
See here
PublicClient
import { PublicClient } from "poloniex-node-api";
const client = new PublicClient();const markets = await client.getMarkets();const symbol = "ETH_BTC";
const volume = await client.getMarket({ symbol });const currency = "BNB";
const currency_info = await client.getCurrency({ currency });or
const includeMultiChainCurrencies = true;
const all = await client.getCurrency({ includeMultiChainCurrencies });const time = await client.getSystemTime();const prices = await client.getPrices();const symbol = "ETH_BTC";
const price = await client.getPrice({ symbol });const prices = await client.getMarkPrices();const symbol = "ZEC_USDT";
const price = await client.getMarkPrice({ symbol });const symbol = "ZEC_USDT";
const prices = await client.getMarkPriceComponents({ symbol });const symbol = "ETH_BTC";
const limit = 5;
const scale = "0.01";
const book = await client.getOrderBook({ symbol, limit, scale });const symbol = "ETH_BTC";
const interval = "HOUR_1";
const limit = 2;
const endTime = Date.now();
const startTime = endTime - 1000 * 60 * 60 * 24;
const candles = await client.getOrderBook({
symbol,
interval,
limit,
startTime,
endTime,
});const symbol = "ETH_BTC";
const limit = 2;
const trades = await client.getPublicTrades({ symbol, limit });const tickers = await client.getTickers();const symbol = "ETH_BTC";
const ticker = await client.getTicker({ symbol });const currency = "ETH";
const collateral = await client.getCollateral({ currency });or
const all = await client.getCollateral();const symbol = "ETH_BTC";
const ticker = await client.getTicker({ symbol });AuthenticatedClient
import { AuthenticatedClient } from "poloniex-node-api";
const key = "poloniex-api-key";
const secret = "poloniex-api-secret";
const client = new AuthenticatedClient({ key, secret });Accounts
const accounts = await client.getAccounts();const balances = await client.getAccountBalances();const activity = await client.getAccountActivity();const currency = "USDT";
const amount = "10.5";
const fromAccount = "SPOT";
const toAccount = "FUTURES";
const { transferId } = await client.transfer({
currency,
amout,
fromAccount,
toAccount,
});const transfers = await client.getAccountTransfers();const fee_info = await client.getFeeInfo();Wallets
const wallets = await client.getWallets();const { deposits, withdrawals } = await client.getWalletsActivity();const { address } = await client.newAddress();const { withdrawalRequestsId } = await client.withdraw();Margin
const info = await client.getMargin();const status = await client.getBorrowStatus();const size = await client.getMaxSize();Orders
const symbol = "BTC_USDT";
const type = "LIMIT";
const quantity = "100";
const side = "BUY";
const price = "40000.50000";
const timeInForce = "IOC";
const clientOrderId = "1234Abc";
const { id, clientOrderId } = await client.createOrder({
symbol,
type,
quantity,
side,
price,
timeInForce,
clientOrderId,
});or
const symbol = "BTC_USDT";
const quantity = "100";
const side = "BUY";
const { id } = await client.createOrder({ symbol, quantity, side });const orders = [
{ symbol: "BTC_USDT", amount: "100", side: "BUY" },
{
symbol: "BTC_USDT",
type: "LIMIT",
quantity: "100",
side: "BUY",
price: "40000.50000",
timeInForce: "IOC",
clientOrderId: "1234Abc",
},
{ symbol: "ETH_USDT", amount: "1000", side: "BUY" },
{
symbol: "TRX_USDT",
type: "LIMIT",
quantity: "15000",
side: "SELL",
price: "0.0623423423",
timeInForce: "IOC",
clientOrderId: "456Xyz",
},
];
const response = await client.createOrders(orders);const id = "234235233423";
const price = "18000";
const clientOrderId = "1234";
const response = await client.replaceOrder({ id }, { price, clientOrderId });or
const clientOrderId = "1234Abc";
const price = "18000";
const quantity = "20";
const response = await client.replaceOrder(
{ clientOrderId },
{ price, quantity },
);const symbol = "ELON_USDC";
const side = "SELL";
const direction = "PRE";
const limit = 10;
const orders = await client.getOpenOrders({ symbol, side, direction, limit });or
const orders = await client.getOpenOrders();const id = "21934611974062080";
const order = await client.getOrder({ id });or by clientOrderId
const clientOrderId = "123";
const order = await client.getOrder({ clientOrderId });const id = "21934611974062080";
const order = await client.cancelOrder({ id });or by clientOrderId
const clientOrderId = "123";
const order = await client.cancelOrder({ clientOrderId });const orders = [{ id: "12345" }, { clientOrderId: "myId-1" }];
const results = await client.cancelOrders(orders);const symbols = ["BTC_USDT", "ETH_USDT"];
const accountTypes = ["SPOT"];
const results = await client.cancelAllOrders({ symbols, accountTypes });or (to cancel all orders)
const results = await client.cancelAllOrders();const timeout = 60;
const status = await client.killSwitch({ timeout });const status = await client.getKillSwitch();Smart Orders
const symbol = "BTC_USDT";
const side = "BUY";
const type = "STOP_LIMIT";
const quantity = "100";
const price = "60100.00";
const timeInForce = "FOK";
const stopPrice = "60000.00";
const clientOrderId = "999999910";
const { id, clientOrderId } = await client.createSmartOrder({
symbol,
side,
type,
quantity,
price,
timeInForce,
stopPrice,
clientOrderId,
});replaceSmartOrder(https://docs.poloniex.com/#authenticated-endpoints-smart-orders-cancel-replace-order
const id = "234235233423";
const stopPrice = "18000";
const clientOrderId = "1234Abc";
const response = await client.replaceOrder(
{ id },
{ stopPrice, clientOrderId },
);or by clientOrderId
const clientOrderId = "1234Abc";
const price = "18000";
const quantity = "20";
const response = await client.replaceOrder(
{ clientOrderId },
{ stopPrice, quantity },
);const limit = 10;
const orders = await client.getOpenSmartOrders({ limit });or
const orders = await client.getOpenSmartOrders();const id = "14368195657859072";
const order = await client.getSmartOrder({ id });or by clientOrderId
const clientOrderId = "18113";
const order = await client.getSmartOrder({ clientOrderId });const id = "9876543";
const order = await client.cancelSmartOrder({ id });or by clientOrderId
const clientOrderId = "88888";
const order = await client.cancelSmartOrder({ clientOrderId });const orders = [{ id: "12345" }, { clientOrderId: "myId-1" }];
const results = await client.cancelSmartOrders(orders);const symbols = ["BTC_USDT", "ETH_USDT"];
const accountTypes = ["SPOT"];
const results = await client.cancelAllSmartOrders({ symbols, accountTypes });or (to cancel all orders)
const results = await client.cancelAllSmartOrders();Order history
const type = ["MARKET", "LIMIT"];
const side = "BUY";
const symbol = "TRX_USDC";
const states = ["FILLED", "PARTIALLY_CANCELED"];
const limit = 10;
const hideCancel = true;
const startTime = 1649106321040;
const endTime = 1649427963598;
const orders = await client.getOrders({
type,
side,
symbol,
states,
limit,
hideCancel,
startTime,
endTime,
});Trades
const limit = 10;
const endTime = 1648635115535;
const startTime = endTime - 1000 * 60 * 60;
const direction = "PRE";
const symbols = ["BTC_USDT", "ETH_USDT"];
const trades = await client.getTrades({
limit,
startTime,
endTime,
direction,
symbols,
});const id = "30249408733945856";
const trades = await client.getOrderTrades({ id });WebSocketClient
const key = "<POLONIEX API KEY>";
const secret = "<POLONIEX API SECRET>";
const client = new WebSocketClient({ key, secret })
.on("message", (msg) => {
console.log("Message:\t", msg);
})
.on("error", (error) => {
console.log("Error:\t", error);
});await client.connectPublicWS();await client.connectPrivateWS();await client.disconnectPublicWS();await client.disconnectPrivateWS();await client.auth();const ac = new AbortController();
setTimeout(() => {
ac.abort();
}, 10000).unref();
await client.pingPublic({ signal: ac.signal });await client.pingPrivate();await client.unsubscribePublic();await client.unsubscribePrivate();const { subscriptions } = await client.getPublicSubscriptions();const { subscriptions } = await client.getPrivateSubscriptions();const payload = {
event: "subscribe",
channel: ["candles_minute_1", "ticker"],
symbols: ["BTC_USDT", "ETH_USDT"],
};
await client.send(payload, "public");or
const payload = {
event: "subscribe",
channel: ["orders", "balances"],
symbols: ["all"],
};
await client.send(payload, "private");Candlesticks
subscribeCandles
await client.subscribeCandles();unsubscribeCandles
await client.unsubscribeCandles();candles
const channel = "candles_day_1";
for await (const candle of client.candles()) {
console.log(candle);
}Trades
subscribeTrades
const symbols = ["BTC_USDT", "ETH_USDT"];
await client.subscribeTrades({ symbols });unsubscribeTrades
const symbols = ["BTC_USDT"];
await client.unsubscribeTrades({ symbols });trades
for await (const trade of client.trades()) {
console.log(trade);
}Ticker
subscribeTicker
const symbols = "all";
await client.subscribeTicker({ symbols });unsubscribeTicker
const symbols = "all";
await client.unsubscribeTicker({ symbols });tickers
for await (const ticker of client.tickers()) {
console.log(ticker);
}Book
subscribeBook
await client.subscribeBook();unsubscribeBook
const symbols = "all";
await client.unsubscribeBook({ symbols });books
const depth = 10;
for await (const book of client.books({ depth })) {
console.log(book);
}Book Level 2
subscribeLv2Book
const symbols = ["BTC_USDT"];
await client.subscribeLv2Book({ symbols });unsubscribeLv2Book
const symbols = "all";
await client.unsubscribeLv2Book({ symbols });booksLv2
for await (const book of client.booksLv2()) {
console.log(book);
}Orders
subscribeOrders
const symbols = "all";
await client.subscribeOrders({ symbols });unsubscribeOrders
const symbols = "all";
await client.unsubscribeOrders({ symbols });orders
for await (const order of client.orders()) {
console.log(order);
}Balances
subscribeBalances
await client.subscribeBalances();unsubscribeBalances
await client.unsubscribeBalances();balances
for await (const balance of client.balances()) {
console.log(balance);
}Test
npm testCoverage
npm run coverage12 months ago
12 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago