Introduction
Setup
# make sure you have curl installed
Poloniex provides both HTTP and websocket APIs for interacting with the exchange. Both allow read access to public market data and private read access to your account. Private write access to your account is available via the private HTTP API.
The public HTTP endpoint is accessed via GET requests while the private endpoint is accessed via HMAC-SHA512 signed POST requests using API keys. Both types of HTTP endpoints return results in JSON format.
The websocket API allows push notifications about the public order books, lend books and your private account. Similarly to the HTTP API, it requires HMAC-SHA512 signed requests using API keys for requests related to your private account.
Getting Started
Sign Up
If you do not have a Poloniex account yet, use the button below to sign up.
Create an API Key
Once you are verified and have an account, you can create an API Key.
Enabling IP address restrictions for API keys is strongly recommended. Withdrawals are disabled by default and must be enabled on a per key basis.
As the name implies, your secret must remain private! If you suspect your key has been compromised, immediately disable that key and generate a new one.
Authenticate
# Find the HMAC-SHA512 signature of your POST parameters
# using your secret key. Set the nonce to the current
# milliseconds. (available with date +%s00000)
echo -n "command=returnBalances&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
# You will use this signature as a header in your request.
# For example:
curl -X POST \
-d "command=returnBalances&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Private HTTP endpoints are authenticated using HMAC-SHA512 signed POST request.
Private HTTP endpoints also require a nonce, which must be an integer greater than the previous nonce used. There is no requirement that nonces increase by a specific amount, so the current epoch time in milliseconds is an easy choice. As each API key has its own nonce tracking, using a different key for each client process can greatly simplify nonce management.
Minimize Latency
If you will be performing high-frequency trading, you may wish to locate your bots as close to our servers as possible. As Poloniex uses Cloudflare for all requests, you can minimize network latency by positioning your client near the Cloudflare gateway in Dublin, Ireland. You can identify which Cloudflare gateway your client is accessing by running this command on the same machine as your bot:
curl -s https://www.cloudflare.com/cdn-cgi/trace
Cloudflare’s Dublin data center will return a “colo” field of “DUB”. If you get a different “colo” value, you can look up the location at https://www.cloudflarestatus.com.
HTTP API
The HTTP API allows read access to public market data through the public endpoint and read / write access to your private account via the private endpoint.
- Public HTTP Endpoint:
https://poloniex.com/public - Private HTTP Endpoint:
https://poloniex.com/tradingApi
Please note that there is a default limit of 6 calls per second. If you require more than this, please consider optimizing your application using the websocket-based push API, the "moveOrder" command, or the "all" parameter where appropriate.
Making more than 6 calls per second to the API, or repeatedly and needlessly fetching excessive amounts of data, can result in rate limit. Please be careful.
Public HTTP API Methods
The public HTTP API allows read access to public market data.
There are seven public methods, all of which take HTTP GET requests and return output in JSON format. No authentication is necessary but you must not excessively use any API endpoint.
returnTicker
curl "https://poloniex.com/public?command=returnTicker"
Example output:
...
{ BTC_BCN:
{ id: 7,
last: '0.00000024',
lowestAsk: '0.00000025',
highestBid: '0.00000024',
percentChange: '0.04347826',
baseVolume: '58.19056621',
quoteVolume: '245399098.35236773',
isFrozen: '0',
high24hr: '0.00000025',
low24hr: '0.00000022' },
USDC_BTC:
{ id: 224,
last: '6437.65329245',
lowestAsk: '6436.73575054',
highestBid: '6425.68259132',
percentChange: '0.00744080',
baseVolume: '1193053.18913982',
quoteVolume: '185.43611063',
isFrozen: '0',
high24hr: '6499.09114231',
low24hr: '6370.00000000' },
...
Retrieves summary information for each currency pair listed on the exchange. Fields include:
| Field | Description |
|---|---|
| id | Id of the currency pair. |
| last | Execution price for the most recent trade for this pair. |
| lowestAsk | Lowest current purchase price for this asset. |
| highestBid | Highest current sale price for this asset. |
| percentChange | Price change percentage. |
| baseVolume | Base units traded in the last 24 hours. |
| quoteVolume | Quoted units traded in the last 24 hours. |
| isFrozen | Indicates if this market is currently trading or not. |
| high24hr | The highest execution price for this pair within the last 24 hours. |
| low24hr | The lowest execution price for this pair within the last 24 hours. |
return24hVolume
curl "https://poloniex.com/public?command=return24hVolume"
Example output:
{ BTC_LTC: { BTC: '38.13504038', LTC: '4662.34229096' },
BTC_MAID: { BTC: '10.38010322', MAID: '359919.71515255' },
...
USDC_BTC: { USDC: '481389.13175764', BTC: '74.73988488' },
USDC_ETH: { USDC: '72302.27016210', ETH: '357.72884034' },
totalBTC: '2340.96441558',
totalETH: '2771.63218462',
totalUSDC: '681255.56961992' }
Returns the 24-hour volume for all markets as well as totals for primary currencies.
Primary currencies include BTC, ETH, USDT, USDC and show the total amount of those tokens that have traded within the last 24 hours.
returnOrderBook
curl "https://poloniex.com/public?command=returnOrderBook¤cyPair=BTC_ETH&depth=10"
Example output for a selected market:
{ asks:
[ [ '0.03142500', 16.5322 ],
[ '0.03143140', 0.14561998 ],
[ '0.03144000', 149.2466 ],
...
[ '0.03175915', 3.95025486 ],
[ '0.03176634', 0.01579061 ] ],
bids:
[ [ '0.03141658', 4.75222193 ],
[ '0.03141644', 0.05252027 ],
[ '0.03141608', 0.20943191 ],
...
[ '0.03129457', 0.01861854 ],
[ '0.03128648', 0.47593681 ] ],
isFrozen: '0',
seq: 595100792 }
Example output for all markets:
{ BTC_ETH:
{ asks:
[ [ '0.03143500', 46.84591041 ],
[ '0.03144000', 100.086388 ],
[ '0.03144865', 6.01683252 ],
...
[ '0.03132669', 0.01619218 ] ],
isFrozen: '0',
seq: 130962406 },
BTC_LTC:
{ asks:
[ [ '0.00812000', 6.82726987 ],
[ '0.00812253', 6.6911383 ],
[ '0.00812500', 84.1323 ],
...
[ '1.06900000', 0.0162 ],
[ '1.06800000', 0.0162 ],
[ '1.06700000', 0.0162 ] ],
isFrozen: '0',
seq: 51055117 } }
Returns the order book for a given market, as well as a sequence number used by websockets for synchronization of book updates and an indicator specifying whether the market is frozen. You may set currencyPair to "all" to get the order books of all markets.
| Request Parameter | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. Use "all" for all markets. |
| depth (optional) | Default depth is 50. Max depth is 100. |
| Field | Description |
|---|---|
| asks | An array of price aggregated offers in the book ordered from low to high price. |
| bids | An array of price aggregated bids in the book ordered from high to low price. |
| isFrozen | Indicates if trading the market is currently disabled or not. |
| seq | An always-incrementing sequence number for this market. |
returnTradeHistory (public)
curl "https://poloniex.com/public?command=returnTradeHistory¤cyPair=BTC_ETH"
curl "https://poloniex.com/public?command=returnTradeHistory¤cyPair=BTC_ETH&start=1410158341&end=1410499372"
Example output:
[ { globalTradeID: 394604821,
tradeID: 45205037,
date: '2018-10-22 15:03:57',
type: 'sell',
rate: '0.03143485',
amount: '0.00009034',
total: '0.00000283' },
{ globalTradeID: 394604809,
tradeID: 45205036,
date: '2018-10-22 15:03:47',
type: 'buy',
rate: '0.03143485',
amount: '0.00770177',
total: '0.00024210' },
...
{ globalTradeID: 394603147,
tradeID: 45204939,
date: '2018-10-22 14:31:59',
type: 'sell',
rate: '0.03139500',
amount: '0.00041216',
total: '0.00001293' },
{ globalTradeID: 394603133,
tradeID: 45204938,
date: '2018-10-22 14:31:41',
type: 'sell',
rate: '0.03140030',
amount: '2.42099000',
total: '0.07601981' } ]
Returns the past 200 trades for a given market, or up to 1,000 trades between a range specified in UNIX timestamps by the "start" and "end" GET parameters. Fields include:
| Field | Description |
|---|---|
| globalTradeID | The globally unique ID associated with this trade. |
| tradeID | The ID unique only to this currency pair associated with this trade. |
| date | The UTC date and time of the trade execution. |
| type | Designates this trade as a buy or a sell from the side of the taker. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The number of units transacted in this trade. |
| total | The total price in base units for this trade. |
returnChartData
curl "https://poloniex.com/public?command=returnChartData¤cyPair=BTC_XMR&start=1546300800&end=1546646400&period=14400"
Example output:
[ { date: 1539864000,
high: 0.03149999,
low: 0.031,
open: 0.03144307,
close: 0.03124064,
volume: 64.36480422,
quoteVolume: 2055.56810329,
weightedAverage: 0.03131241 },
{ date: 1539878400,
high: 0.03129379,
low: 0.03095999,
open: 0.03124064,
close: 0.03108499,
volume: 50.21821153,
quoteVolume: 1615.31999527,
weightedAverage: 0.0310887 },
...
{ date: 1540195200,
high: 0.03160347,
low: 0.03140002,
open: 0.031455,
close: 0.03151499,
volume: 21.44394862,
quoteVolume: 681.30276558,
weightedAverage: 0.03147491 },
{ date: 1540209600,
high: 0.03153475,
low: 0.031265,
open: 0.03151497,
close: 0.03141781,
volume: 39.82606009,
quoteVolume: 1268.53159161,
weightedAverage: 0.0313954 } ]
Returns candlestick chart data. Required GET parameters are "currencyPair", "period" (candlestick period in seconds; valid values are 300, 900, 1800, 7200, 14400, and 86400), "start", and "end". "Start" and "end" are given in UNIX timestamp format and used to specify the date range for the data returned. Fields include:
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| period | Candlestick period in seconds. Valid values are 300, 900, 1800, 7200, 14400, and 86400. |
| start | The start of the window in seconds since the unix epoch. |
| end | The end of the window in seconds since the unix epoch. |
Output Fields
| Field | Description |
|---|---|
| date | The UTC date for this candle in miliseconds since the Unix epoch. |
| high | The highest price for this asset within this candle. |
| low | The lowest price for this asset within this candle. |
| open | The price for this asset at the start of the candle. |
| close | The price for this asset at the end of the candle. |
| volume | The total amount of this asset transacted within this candle. |
| quoteVolume | The total amount of base currency transacted for this asset within this candle. |
| weightedAverage | The average price paid for this asset within this candle. |
returnCurrencies
curl "https://poloniex.com/public?command=returnCurrencies"
Example output:
{ '1CR':
{ id: 1,
name: '1CRedit',
txFee: '0.01000000',
minConf: 10000,
depositAddress: null,
disabled: 1,
delisted: 1,
frozen: 0 },
ABY:
{ id: 2,
name: 'ArtByte',
txFee: '0.01000000',
minConf: 10000,
depositAddress: null,
disabled: 1,
delisted: 1,
frozen: 0 },
...
ZEC:
{ id: 286,
name: 'Zcash',
txFee: '0.00100000',
minConf: 8,
depositAddress: null,
disabled: 0,
delisted: 0,
frozen: 0 },
ZRX:
{ id: 293,
name: '0x',
txFee: '5.00000000',
minConf: 30,
depositAddress: null,
disabled: 0,
delisted: 0,
frozen: 0 } }
Returns information about currencies. Fields include:
| Field | Description |
|---|---|
| name | Name of the currency. |
| txFee | The network fee necessary to withdraw this currency. |
| minConf | The minimum number of blocks necessary before a deposit can be credited to an account. |
| depositAddress | If available, the deposit address for this currency. |
| disabled | Designates whether (1) or not (0) deposits and withdrawals are disabled. |
| delisted | Designates whether (1) or not (0) this currency has been delisted from the exchange. |
| frozen | Designates whether (1) or not (0) trading for this currency is disabled for trading. |
If the currency lists a deposit address, deposits to that address must be accompanied by a deposit message unique to your account. See the Balances, Deposits & Withdrawals page for more information.
returnLoanOrders
curl "https://poloniex.com/public?command=returnLoanOrders¤cy=BTC"
Example output:
{ offers:
[ { rate: '0.00005900',
amount: '0.01961918',
rangeMin: 2,
rangeMax: 2 },
{ rate: '0.00006000',
amount: '62.24928418',
rangeMin: 2,
rangeMax: 2 },
...
{ rate: '0.00007037',
amount: '0.03083815',
rangeMin: 2,
rangeMax: 2 } ],
demands:
[ { rate: '0.02000000',
amount: '0.00100014',
rangeMin: 2,
rangeMax: 2 },
...
{ rate: '0.00001000',
amount: '0.04190154',
rangeMin: 2,
rangeMax: 2 } ] }
Returns the list of loan offers and demands for a given currency, specified by the "currency" GET parameter. Fields include:
| Field | Description |
|---|---|
| rate | The interest rate in percentage per day charged for this loan. |
| amount | The total number of units available at this rate and within this range. |
| rangeMin | The lowest duration in days offered by the loans within this group. |
| rangeMax | The highest duration in days offered by the loans within this group. |
Private HTTP API Methods
The private HTTP API allows read / write access to your private account.
All calls to the trading API are sent via HTTP using POST parameters to https://poloniex.com/tradingApi and must contain the following headers:
- Key - Your API key.
- Sign - The query's POST data signed by your key's "secret" according to the HMAC-SHA512 method.
Additionally, all queries must include a "nonce" POST parameter. The nonce parameter is an integer which must always be greater than the previous nonce used and does not need to increase by one. Using the epoch in milliseconds is an easy choice here but be careful about time synchronization if using the same API key across multiple servers.
All responses from the trading API are in JSON format. In the event of an error, the response will always be of the following format:
{ "error": "<error message>" }
When placing orders there are currently the following minimum order sizes according to the quote currency.
| Quote | Minimum Total Order |
|---|---|
| BTC | 0.0001 |
| ETH | 0.0001 |
| USD (any) | 1 |
| TRX | 100 |
| BNB | 0.06 |
There are several methods accepted by the trading API, each of which is specified by the "command" POST parameter:
returnBalances
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnBalances&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnBalances&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ '1CR': '0.00000000',
ABY: '0.00000000',
AC: '0.00000000',
...
YIN: '0.00000000',
ZEC: '0.02380926',
ZRX: '0.00000000' }
Returns all of your balances available for trade after having deducted all open orders.
returnCompleteBalances
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnCompleteBalances&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnCompleteBalances&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ '1CR':
{ available: '0.00000000',
onOrders: '0.00000000',
btcValue: '0.00000000' },
ABY:
{ available: '0.00000000',
onOrders: '0.00000000',
btcValue: '0.00000000' },
AC:
{ available: '0.00000000',
onOrders: '0.00000000',
btcValue: '0.00000000' },
...
YIN:
{ available: '0.00000000',
onOrders: '0.00000000',
btcValue: '0.00000000' },
ZEC:
{ available: '0.02380926',
onOrders: '0.00000000',
btcValue: '0.00044059' },
ZRX:
{ available: '0.00000000',
onOrders: '0.00000000',
btcValue: '0.00000000' } }
Returns all of your balances, including available balance, balance on orders, and the estimated BTC value of your balance. By default, this call is limited to your exchange account; set the "account" POST parameter to "all" to include your margin and lending accounts.
Please note that this call will not return balances for your futures account. Please refer to https://futures-docs.poloniex.com/ for information on how to access your futures balance.
| Field | Description |
|---|---|
| available | Number of tokens not reserved in orders. |
| onOrders | Number of tokens in open orders. |
| btcValue | The BTC value of this token's balance. |
returnDepositAddresses
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnDepositAddresses&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnDepositAddresses&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ BCH: '1FhCkdKeMGa621mCpAtFYzeVfUBnHbooLj',
BTC: '131rdg5Rzn6BFufnnQaHhVa5ZtRU1J2EZR',
...
XMR: '4JUdGzvrMFDWrUUwY3toJATSeNwjn54LkCnKBPRzDuhzi5vSepHfUckJNxRL2gjkNrSqtCoRUrEDAgRwsQvVCjZbRxGLC7uLNMGQ693YeY',
ZEC: 't1MHktAs4DMjMWqKiji4czLYD1rGNczGeFV' }
Returns all of your deposit addresses.
Some currencies use a common deposit address for everyone on the exchange and designate the account for which this payment is destined by including a payment ID field. In these cases, use returnCurrencies to look up the mainAccount for the currency to find the deposit address and use the address returned here in the payment ID field. Note: returnCurrencies will only include a mainAccount property for currencies which require a payment ID.
generateNewAddress
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=generateNewAddress&nonce=154264078495300¤cy=ETH" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=generateNewAddress&nonce=154264078495300¤cy=ETH" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ success: 1,
response: '0xa6f0dacc33c7f63e137e0106ed71cc20b4b931af' }
Generates a new deposit address for the currency specified by the "currency" POST parameter.
As of September 16th 2020, only one address per currency per user may be generated. If your already have an address for a currency, you will not be able to generate a new address.
Reach out to Customer Service if you’d like to create more than one address.
Some currencies use a common deposit address for everyone on the exchange and designate the account for which this payment is destined by including a payment ID field. In these cases, use returnCurrencies to look up the mainAccount for the currency to find the deposit address and use the address returned here in the payment ID field. Note: returnCurrencies will only include a mainAccount property for currencies which require a payment ID.
Input Fields
| Field | Description |
|---|---|
| currency | The currency to use for the deposit address. |
Output Field
| Field | Description |
|---|---|
| success | Denotes the success or failure of the operation. |
| response | The newly created address. |
returnDepositsWithdrawals
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnDepositsWithdrawals&start=1539954535&end=1540314535&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnDepositsWithdrawals&start=1539954535&end=1540314535&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ deposits:
[ { depositNumber: 7397520,
currency: 'BTC',
address: '131rdg5Rzn6BFufnnQaHhVa5ZtRU1J2EZR',
amount: '0.06830697',
confirmations: 1,
txid: '3a4b9b2404f6e6fb556c3e1d46a9752f5e70a93ac1718605c992b80aacd8bd1d',
timestamp: 1506005439,
status: 'COMPLETE' },
{ depositNumber: 7397521,
currency: 'BCH',
address: '1FhCkdKeMGa621mCpAtFYzeVfUBnHbooLj',
amount: '10.00000000',
confirmations: 5,
txid: 'eb2e0914105b02fbe6e17913d74b4e5950c1ba122eb71afdfc49e2c58b272456',
timestamp: 1508436102,
status: 'COMPLETE' },
...
{ depositNumber: 7397519,
currency: 'BTC',
address: '131rdg5Rzn6BFufnnQaHhVa5ZtRU1J2EZR',
amount: '1.49998357',
confirmations: 1,
txid: 'b05bdec7430a56b5a5ed34af4a31a54859dda9b7c88a5586bc5d6540cdfbfc7a',
timestamp: 1537304458,
status: 'COMPLETE' },
{ depositNumber: 7397518,
currency: 'ETH',
address: '0xb7e033598cb94ef5a35349316d3a2e4f95f308da',
amount: '29.99825341',
confirmations: 53,
txid: '0xf7e7eeb44edcad14c0f90a5fffb1cbb4b80e8f9652124a0838f6906ca939ccd2',
timestamp: 1537305507,
status: 'COMPLETE' } ],
withdrawals:
[ { withdrawalNumber: 7397527,
currency: 'ETC',
address: '0x26419a62055af459d2cd69bb7392f5100b75e304',
amount: '13.19951600',
fee: '0.01000000',
timestamp: 1506010932,
status: 'COMPLETE: 0x423346392f82ac16e8c2604f2a604b7b2382d0e9d8030f673821f8de4b5f5a30',
ipAddress: '1.2.3.4',
paymentID: null
},
{ withdrawalNumber: 7704882,
currency: 'ETH',
address: '0x00c90335F92FfcD26C8c915c79d7aB424454B7c7',
amount: '0.01318826',
fee: '0.00500000',
timestamp: 1507908127,
status: 'COMPLETE: 0xbd4da74e1a0b81c21d056c6f58a5b306de85d21ddf89992693b812bb117eace4',
ipAddress: '1.2.3.4',
paymentID: null
},
...
{ withdrawalNumber: 11967216,
currency: 'ZRX',
address: '0x3B2E298b401D1E11cE6ee82b54792CA435CE81eC',
amount: '1535.58403218',
fee: '5.00000000',
timestamp: 1538419390,
status: 'COMPLETE: 0x52f9e37f29944f20b624df4d7a0ea5a09173e6ea048d49fb05c29585f1d74032',
ipAddress: '1.2.3.4',
paymentID: null
},
{ withdrawalNumber: 12017755,
currency: 'STR',
address: 'GACNWS3R4FJUMHLDNMFGUQZD33FBRE4IODAPK5G7AVX7S2VEJRT2XXHQ',
amount: '7281.99772728',
fee: '0.00001000',
timestamp: 1539709673,
status: 'COMPLETE: 2d27ae26fa9c70d6709e27ac94d4ce2fde19b3986926e9f3bfcf3e2d68354ec5',
ipAddress: '1.2.3.4',
paymentID: 'MEMOTEXT'
} ],
adjustments:
[ { currency: 'STR',
amount: '2.38291827',
timestamp: 1538419390,
status: 'COMPLETE',
category: 'adjustment',
adjustmentTitle: 'Stellar Inflation',
adjustmentDesc: 'Your Stellar inflation reward for the week of Jun 11, 2019.',
adjustmentHelp:
'https://poloniex.freshdesk.com/support/solutions/articles/1000278072-stellar-inflation-what-is-it-and-other-frequently-asked-questions'
}
]
}
Returns your adjustment, deposit, and withdrawal history within a range window, specified by the "start" and "end" POST parameters, both of which should be given as UNIX timestamps. Note that only adjustments intended to be shown in the UI will be returned
Input Fields
| Field | Description |
|---|---|
| start | The start date of the range window in UNIX timestamp format. |
| end | The end date of the range window in UNIX timestamp format. |
Adjustment Output Fields
| Field | Description |
|---|---|
| currency | The currency of this adjustment. |
| amount | The total value of this adjustment. |
| timestamp | The timestamp in UNIX timestamp format of when this adjustment was credited. |
| status | The status of the adjustment (only COMPLETE). |
| category | Always adjustment. |
| adjustmentTitle | The type of adjustment. |
| adjustmentDesc | A human-readable description of the adjustment. |
| adjustmentHelp | A help center link to describe the adjustment. |
Deposit Output Fields
| Field | Description |
|---|---|
| depositNumber | The unique Poloniex specific deposit ID for this deposit. |
| currency | The currency of this deposit. |
| address | The address to which this deposit was sent. |
| amount | The total value of the deposit. (network fees will not be included in this) |
| confirmations | The total number of confirmations for this deposit. |
| txid | The blockchain transaction ID of this deposit. |
| timestamp | The timestamp in UNIX timestamp format of when this deposit was first noticed. |
| status | The current status of this deposit. (either PENDING or COMPLETE) |
Withdrawal Output Fields
| Field | Description |
|---|---|
| withdrawalNumber | The unique Poloniex specific withdrawal ID for this withdrawal. |
| currency | The currency of this withdrawal. |
| address | The address to which the withdrawal was made. |
| amount | The total amount withdrawn including the fee. |
| fee | The fee paid to the exchange for this withdrawal. |
| timestamp | The Unix timestamp of the withdrawal. |
| status | The status of the withdrawal (one of PENDING, AWAITING APPROVAL, COMPLETE or COMPLETE ERROR) and optionally the transaction ID of the withdrawal. |
| ipAddress | The IP address which initiated the withdrawal request. |
| paymentID | The paymentID specified for this withdrawal. If none were specified, the field will be null. |
returnOpenOrders
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnOpenOrders¤cyPair=BTC_ETH&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnOpenOrders¤cyPair=BTC_ETH&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a single market:
[ { orderNumber: '514514894224',
type: 'buy',
rate: '0.00001000',
startingAmount: '100.00000000',
amount: '100.00000000',
total: '0.00100000',
date: '2018-10-23 17:38:53',
margin: 0,
clientOrderId: '12345' },
{ orderNumber: '514515104014',
type: 'buy',
rate: '0.00002000',
startingAmount: '100.00000000',
amount: '100.00000000',
total: '0.00200000',
date: '2018-10-23 17:39:46',
margin: 0,
clientOrderId: '12346' },
...
{ orderNumber: '514515150967',
type: 'buy',
rate: '0.00003000',
startingAmount: '100.00000000',
amount: '100.00000000',
total: '0.00300000',
date: '2018-10-23 17:39:55',
margin: 0,
clientOrderId: '12347'} ]
Example output for all markets:
{ BTC_ARDR: [],
BTC_BAT: [],
BTC_BCH: [],
...
BTC_ETH:
[ { orderNumber: '514515459658',
type: 'buy',
rate: '0.00001000',
startingAmount: '100.00000000',
amount: '100.00000000',
total: '0.00100000',
date: '2018-10-23 17:41:15',
margin: 0,
clientOrderId: '12345'},
...
{ orderNumber: '514515389728',
type: 'buy',
rate: '0.00003000',
startingAmount: '100.00000000',
amount: '100.00000000',
total: '0.00300000',
date: '2018-10-23 17:40:55',
margin: 0,
clientOrderId: '12346'} ],
BTC_FCT: [],
...
BTC_SC:
[ { orderNumber: '26422960740',
type: 'buy',
rate: '0.00000001',
startingAmount: '100000.00000000',
amount: '100000.00000000',
total: '0.00100000',
date: '2018-10-23 17:41:49',
margin: 0,
clientOrderId: null},
{ orderNumber: '26422963737',
type: 'buy',
rate: '0.00000002',
startingAmount: '100000.00000000',
amount: '100000.00000000',
total: '0.00200000',
date: '2018-10-23 17:42:00',
margin: 0,
clientOrderId: null} ],
BTC_SNT: [] }
Returns your open orders for a given market, specified by the "currencyPair" POST parameter, e.g. "BTC_ETH". Set "currencyPair" to "all" to return open orders for all markets. Note that the "startingAmount" is not the order placement amount but it is the starting amount of the open order in the book, which excludes any amount that was immediately filled before the order is posted on the book.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. Use "all" for all markets. |
Output Fields
| Field | Description |
|---|---|
| orderNumber | The number uniquely identifying this order. |
| type | Denotes this order as a 'buy' or 'sell'. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| startingAmount | The size of the original order. |
| amount | The amount left to fill in this order. |
| total | The total cost of this order in base units. |
| date | The UTC date of order creation. |
| margin | Denotes this as a margin order (1) or not. (0) |
| clientOrderId | User specified 64-bit integer identifier. |
returnTradeHistory (private)
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnTradeHistory¤cyPair=BTC_ETH&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnTradeHistory¤cyPair=BTC_ETH&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a single market:
[ { globalTradeID: 394700861,
tradeID: 45210354,
date: '2018-10-23 18:01:58',
type: 'buy',
rate: '0.03117266',
amount: '0.00000652',
total: '0.00000020',
orderNumber: '104768235093' },
{ globalTradeID: 394700815,
tradeID: 45210353,
date: '2018-10-23 18:01:08',
type: 'buy',
rate: '0.03116000',
amount: '5.93292717',
total: '0.18487001',
orderNumber: '104768235092' },
...
{ globalTradeID: 394699047,
tradeID: 45210256,
date: '2018-10-23 17:30:32',
type: 'sell',
rate: '0.03114533',
amount: '0.01934000',
total: '0.00060235',
orderNumber: '104768235091' },
{ globalTradeID: 394698946,
tradeID: 45210255,
date: '2018-10-23 17:28:55',
type: 'sell',
rate: '0.03114126',
amount: '0.00018753',
total: '0.00000583',
orderNumber: '104768235090' } ]
Example output for all markets:
{ BTC_BCH:
[ { globalTradeID: 394131412,
tradeID: '5455033',
date: '2018-10-16 18:05:17',
rate: '0.06935244',
amount: '1.40308443',
total: '0.09730732',
fee: '0.00100000',
orderNumber: '104768235081',
type: 'sell',
category: 'exchange' },
...
{ globalTradeID: 394126818,
tradeID: '5455007',
date: '2018-10-16 16:55:34',
rate: '0.06935244',
amount: '0.00155709',
total: '0.00010798',
fee: '0.00200000',
orderNumber: '104768179137',
type: 'sell',
category: 'exchange' } ],
BTC_STR:
[ { globalTradeID: 394127362,
tradeID: '13536351',
date: '2018-10-16 17:03:43',
rate: '0.00003432',
amount: '3696.05342780',
total: '0.12684855',
fee: '0.00200000',
orderNumber: '96238912841',
type: 'buy',
category: 'exchange' },
...
{ globalTradeID: 394127361,
tradeID: '13536350',
date: '2018-10-16 17:03:43',
rate: '0.00003432',
amount: '3600.53748129',
total: '0.12357044',
fee: '0.00200000',
orderNumber: '96238912841',
type: 'buy',
category: 'exchange' } ] }
Returns your trade history for a given market, specified by the "currencyPair" POST parameter. You may specify "all" as the currencyPair to receive your trade history for all markets. You may optionally specify a range via "start" and/or "end" POST parameters, given in UNIX timestamp format; if you do not specify a range, it will be limited to one day. You may optionally limit the number of entries returned using the "limit" parameter, up to a maximum of 10,000. If the "limit" parameter is not specified, no more than 500 entries will be returned.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. Use "all" for all markets. |
Output Fields
| Field | Description |
|---|---|
| globalTradeID | The globally unique identifier of this trade. |
| tradeID | The identifier of this trade unique only within this trading pair. |
| date | The UTC date at which this trade executed. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The amount transacted in this trade. |
| total | The total cost in base units of this trade. |
| fee | The fee paid for this trade. |
| orderNumber | The order number to which this trade is associated. |
| type | Denotes a 'buy' or a 'sell' execution. |
| category | Denotes if this was a standard or margin exchange. |
returnOrderTrades
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnOrderTrades&orderNumber=96238912841&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnOrderTrades&orderNumber=9623891284&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
[ { globalTradeID: 394127362,
tradeID: 13536351,
currencyPair: 'BTC_STR',
type: 'buy',
rate: '0.00003432',
amount: '3696.05342780',
total: '0.12684855',
fee: '0.00200000',
date: '2018-10-16 17:03:43' },
{ globalTradeID: 394127361,
tradeID: 13536350,
currencyPair: 'BTC_STR',
type: 'buy',
rate: '0.00003432',
amount: '3600.53748129',
total: '0.12357044',
fee: '0.00200000',
date: '2018-10-16 17:03:43' } ]
Returns all trades involving a given order, specified by the "orderNumber" POST parameter. If no trades for the order have occurred or you specify an order that does not belong to you, you will receive an error. See the documentation here for how to use the information from returnOrderTrades and returnOrderStatus to determine various status information about an order.
Input Fields
| Field | Description |
|---|---|
| orderNumber | The order number whose trades you wish to query. |
Output Fields
| Field | Description |
|---|---|
| globalTradeID | The globally unique identifier of this trade. |
| tradeID | The identifier of this trade unique only within this trading pair. |
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| type | Denotes a 'buy' or a 'sell' execution. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The amount transacted in this trade. |
| total | The total cost in base units of this trade. |
| fee | The fee paid for this trade. |
| date | The UTC date at which this trade executed. |
returnOrderStatus
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnOrderStatus&orderNumber=96238912841&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnOrderStatus&orderNumber=9623891284&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ result:
{ '6071071':
{ status: 'Open',
rate: '0.40000000',
amount: '1.00000000',
currencyPair: 'BTC_ETH',
date: '2018-10-17 17:04:50',
total: '0.40000000',
type: 'buy',
startingAmount: '1.00000' } },
success: 1 }
Returns the status of a given order, specified by the "orderNumber" POST parameter. If the specified orderNumber is not open, or it is not yours, you will receive an error.
Note that returnOrderStatus, in concert with returnOrderTrades, can be used to determine various status information about an order:
- If returnOrderStatus returns status: "Open", the order is fully open.
- If returnOrderStatus returns status: "Partially filled", the order is partially filled, and returnOrderTrades may be used to find the list of those fills.
- If returnOrderStatus returns an error and returnOrderTrades returns an error, then the order was cancelled before it was filled.
- If returnOrderStatus returns an error and returnOrderTrades returns a list of trades, then the order had fills and is no longer open (due to being completely filled, or partially filled and then cancelled).
Input Fields
| Field | Description |
|---|---|
| orderNumber | The identifier of the order to return. |
Output Field
| Field | Description |
|---|---|
| status | Designates this order's fill state. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The amount of tokens remaining unfilled in this order. |
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| date | The UTC date this order was created. |
| total | The total value of this order. |
| type | Designates a buy or a sell order. |
| startingAmount | The original order's amount. |
buy
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=buy¤cyPair=BTC_ETH&rate=0.01&amount=1&clientOrderId=12345&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=buy¤cyPair=BTC_ETH&rate=0.01&amount=1&clientOrderId=12345&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ orderNumber: '514845991795',
resultingTrades:
[ { amount: '3.0',
date: '2018-10-25 23:03:21',
rate: '0.0002',
total: '0.0006',
tradeID: '251834',
type: 'buy' } ],
fee: '0.01000000',
clientOrderId: '12345'
currencyPair: 'BTC_ETH' }
Places a limit buy order in a given market. Required POST parameters are "currencyPair", "rate", and "amount". If successful, the method will return the order number.
You may optionally set "fillOrKill", "immediateOrCancel", "postOnly" to 1. A fill-or-kill order will either fill in its entirety or be completely aborted. An immediate-or-cancel order can be partially or completely filled, but any portion of the order that cannot be filled immediately will be canceled rather than left on the order book. A post-only order will only be placed if no portion of it fills immediately; this guarantees you will never pay the taker fee on any part of the order that fills.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The total amount offered in this buy order. |
| fillOrKill | (optional) Set to "1" if this order should either fill in its entirety or be completely aborted. |
| immediateOrCancel | (optional) Set to "1" if this order can be partially or completely filled, but any portion of the order that cannot be filled immediately will be canceled. |
| postOnly | (optional) Set to "1" if you want this buy order to only be placed if no portion of it fills immediately. |
| clientOrderId | (optional) 64-bit Integer value used for tracking order across http responses and "o", "n" & "t" web socket messages. Must be unique across all open orders for each account. |
Output Fields
| Field | Description |
|---|---|
| orderNumber | The identification number of the newly created order. |
| resultingTrades | An array of the trades that were executed, if any, on order placement. |
| amount | The amount of tokens remaining unfilled in this order. |
| date | The UTC date this order was created. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| total | The total value of this order. |
| tradeID | The identifier for this trade. |
| type | Designates a buy or a sell order. (always 'buy' in this case) |
| fee | The fee multiplier for this trade. |
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| clientOrderId | (optional) User specified 64-bit integer identifier. |
| tokenFee | The total fee paid, if any, using a token to pay fees. |
| tokenFeeCurrency | The currency used to pay fees if any token fee was used. |
sell
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=sell¤cyPair=BTC_ETH&rate=10.0&amount=1&clientOrderId=12345&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=sell¤cyPair=BTC_ETH&rate=10.0&amount=1&clientOrderId=12345&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ orderNumber: '514845991926',
resultingTrades:
[ { amount: '1.0',
date: '2018-10-25 23:03:21',
rate: '10.0',
total: '10.0',
tradeID: '251869',
type: 'sell' } ],
fee: '0.01000000',
clientOrderId: '12345',
currencyPair: 'BTC_ETH' }
Places a sell order in a given market. Required POST parameters are "currencyPair", "rate", and "amount". If successful, the method will return the order number.
You may optionally set "fillOrKill", "immediateOrCancel", "postOnly" to 1. A fill-or-kill order will either fill in its entirety or be completely aborted. An immediate-or-cancel order can be partially or completely filled, but any portion of the order that cannot be filled immediately will be canceled rather than left on the order book. A post-only order will only be placed if no portion of it fills immediately; this guarantees you will never pay the taker fee on any part of the order that fills.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The total amount offered in this sell order. |
| fillOrKill | (optional) Set to "1" if this order should either fill in its entirety or be completely aborted. |
| immediateOrCancel | (optional) Set to "1" if this order can be partially or completely filled, but any portion of the order that cannot be filled immediately will be canceled. |
| postOnly | (optional) Set to "1" if you want this sell order to only be placed if no portion of it fills immediately. |
| clientOrderId | (optional) 64-bit Integer value used for tracking order across "o", "n" & "t" web socket messages. Must be unique across all open orders for each account. |
Output Fields
| Field | Description |
|---|---|
| orderNumber | The identification number of the newly created order. |
| resultingTrades | An array of the trades that were executed, if any, on order placement. |
| amount | The amount of tokens remaining unfilled in this order. |
| date | The UTC date this order was created. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| total | The total value of this order. |
| tradeID | The identifier for this trade. |
| type | Designates a buy or a sell order. (always 'sell' in this case) |
| fee | The fee multiplier for this trade. |
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| clientOrderId | (optional) User specified 64-bit integer identifier. |
| tokenFee | The total fee paid, if any, using a token to pay fees. |
| tokenFeeCurrency | The currency used to pay fees if any token fee was used. |
cancelOrder
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=cancelOrder&orderNumber=514845991795&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=cancelOrder&orderNumber=514845991795&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ success: 1,
amount: '50.00000000',
clientOrderId: '12345',
message: 'Order #514845991795 canceled.' }
Cancels an order you have placed in a given market. Requires exactly one of "orderNumber" or "clientOrderId" POST parameters. If successful, the method will return a success of 1.
Input Fields
| Field | Description |
|---|---|
| orderNumber | (Optional) The identity number of the order to be canceled. |
| clientOrderId | (Optional) User specified 64-bit integer identifier. |
Output Fields
| Field | Description |
|---|---|
| success | A boolean indication of the success or failure of this operation. |
| amount | The remaning unfilled amount that was canceled in this operation. |
| message | A human readable description of the result of the action. |
| clientOrderId | (optional) If clientOrderId exists on the open order it will be returned in the cancelOrder response. |
cancelAllOrders
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=cancelAllOrders&nonce=1559587794133" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=cancelAllOrders&nonce=1559587794133" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2f2caf61...a3bc7818ced466e8f" \
https://poloniex.com/tradingApi
Example output:
{ "success": 1,
"message": "Orders canceled",
"orderNumbers": [
503749,
888321,
7315825,
7316824 ] }
Cancels all open orders in a given market or, if no market is provided, all open orders in all markets. Optional POST parameter is "currencyPair". If successful, the method will return a success of 1 along with a json array of orderNumbers representing the orders that were canceled. Please note that cancelAllOrders can only be called 1 time per 2 minutes.
Input Fields
| Field | Description |
|---|---|
| currencyPair | (optional) A string that defines the market, "USDT_BTC" for example. |
Output
| Field | Description |
|---|---|
| success | A boolean indication of the success or failure of this operation. |
| message | A human readable description of the result of the action. |
| orderNumbers | array of orderNumbers representing the orders that were canceled. |
moveOrder
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=moveOrder&orderNumber=514851026755&rate=0.00015&clientOrderId=12345&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=moveOrder&orderNumber=514851026755&rate=0.00015&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ success: 1,
orderNumber: '514851232549',
clientOrderId: '12345',
resultingTrades: { BTC_ETH: [] } }
Cancels an order and places a new one of the same type in a single atomic transaction, meaning either both operations will succeed or both will fail. Required POST parameters are "orderNumber" and "rate"; you may optionally specify "amount" if you wish to change the amount of the new order. "postOnly" or "immediateOrCancel" may be specified for exchange orders, but will have no effect on margin orders.
Input Fields
| Field | Description |
|---|---|
| orderNumber | The identity number of the order to be canceled. |
| clientOrderId | (optional) User specified 64-bit integer identifier to be associated with the new order being placed. Must be unique across all open orders for each account. |
Output Fields
| Field | Description |
|---|---|
| success | A boolean indication of the success or failure of this operation. |
| amount | The remaning unfilled amount that was canceled in this operation. |
| message | A human readable description of the result of the action. |
| clientOrderId | (optional) User specified 64-bit integer identifier associated with the new order placed. |
withdraw
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=withdraw¤cy=ETH&amount=2&address=0x84a90e21d9d02e30ddcea56d618aa75ba90331ff&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=withdraw¤cy=ETH&amount=2&address=0x84a90e21d9d02e30ddcea56d618aa75ba90331ff&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ response: 'Withdrew 2.0 ETH.',
withdrawalNumber: 12085427 }
Immediately places a withdrawal for a given currency, with no email confirmation. In order to use this method, withdrawal privilege must be enabled for your API key. Required POST parameters are "currency", "amount", and "address".
For withdrawals which support payment IDs, (such as XMR) you may optionally specify a "paymentId" parameter.
For currencies where there are multiple networks to choose from (like USDT or BTC), you can specify the chain by setting the "currency" parameter to be a multiChain currency name, like USDTTRON, USDTETH, or BTCTRON. You can get information on these currencies, like fees or if they're disabled, by adding the "includeMultiChainCurrencies" optional parameter to the returnCurrencies endpoint. The previous method of choosing a network using the optional "currencyToWithdrawAs" parameter will continue to function as it used to, but is no longer recommended.
Output Fields
| Field | Description |
|---|---|
| response | String response that shows a summary of the withdrawal. |
| withdrawalNumber | Withdrawal reference ID that can be matched with results from the returnDepositsWithdrawals API to poll for status updates. |
returnFeeInfo
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnFeeInfo&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnFeeInfo&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ makerFee: '0.00100000',
takerFee: '0.00200000',
marginMakerFee: '0.00100000',
marginTakerFee: '0.00200000',
thirtyDayVolume: '106.08463302',
nextTier: 500000 }
If you are enrolled in the maker-taker fee schedule, returns your current trading fees and trailing 30-day volume in BTC. This information is updated once every 24 hours.
Output Fields
| Field | Description |
|---|---|
| makerFee | The fee you pay when your order executes after having not matched when it was initially placed. |
| takerFee | The fee you pay when your order matches an existing offer. |
| marginMakerFee | The fee you pay when your margin order executes after having not matched when it was initially placed. |
| marginTakerFee | The fee you pay when your margin order matches an existing offer. |
| thirtyDayVolume | The total trading volume for your account. |
| nextTier | The volume necessary to reach the next fee tier. |
returnAvailableAccountBalances
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnAvailableAccountBalances&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnAvailableAccountBalances&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ exchange:
{ BTC: '0.10000000',
EOS: '5.18012931',
ETC: '3.39980734',
SC: '120.00000000',
USDC: '23.79999938',
ZEC: '0.02380926' },
margin:
{ BTC: '0.50000000' },
lending:
{ BTC: '0.14804126',
ETH: '2.69148073',
LTC: '1.75862721',
XMR: '5.25780982' } }
Returns your balances sorted by account. You may optionally specify the "account" POST parameter if you wish to fetch only the balances of one account. Please note that balances in your margin account may not be accessible if you have any open margin positions or orders.
Please note that this call will not return balances for your futures account. Please refer to https://futures-docs.poloniex.com/ for information on how to access your futures balance.
Output Fields
| Field | Description |
|---|---|
| exchange | The assets available to trade in your exchange account. |
| margin | The assets available to trade in your margin account. |
| lending | The assets available to trade in your lending account. |
returnTradableBalances
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnTradableBalances&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnTradableBalances&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ BTC_BTS: { BTC: '1.25000000', BTS: '81930.25407233' },
BTC_CLAM: { BTC: '1.25000000', CLAM: '4266.69596390' },
BTC_DASH: { BTC: '1.25000000', DASH: '51.93926104' },
BTC_DOGE: { BTC: '1.25000000', DOGE: '2155172.41379310' },
BTC_LTC: { BTC: '1.25000000', LTC: '154.46087826' },
BTC_MAID: { BTC: '1.25000000', MAID: '38236.28007965' },
BTC_STR: { BTC: '1.25000000', STR: '34014.47559076' },
BTC_XMR: { BTC: '1.25000000', XMR: '76.27023112' },
BTC_XRP: { BTC: '1.25000000', XRP: '17385.96302541' },
BTC_ETH: { BTC: '1.25000000', ETH: '39.96803109' },
BTC_FCT: { BTC: '1.25000000', FCT: '1720.79314097' } }
Returns your current tradable balances for each currency in each market for which margin trading is enabled. Please note that these balances may vary continually with market conditions.
transferBalance
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=transferBalance¤cy=BTC&amount=0.5&fromAccount=lending&toAccount=exchange&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=transferBalance¤cy=BTC&amount=0.5&fromAccount=lending&toAccount=exchange&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ success: 1,
message: 'Transferred 0.50000000 BTC from lending to exchange account.' }
Transfers funds from one account to another (e.g. from your exchange account to your margin account). Required POST parameters are "currency", "amount", "fromAccount", and "toAccount".
Please note that transfers which include the futures account must include an exchange or lending account.
Input Fields
| Field | Description |
|---|---|
| currency | The currency to transfer. |
| amount | The amount of assets to transfer in this request. |
| fromAccount | The account from which this value should be moved (exchange, margin, lending, or futures). |
| toAccount | The account to which this value should be moved (exchange, margin, lending, or futures). |
Output Fields
| Field | Description |
|---|---|
| success | The success or failure message for this transfer. |
| message | A human readable message summarizing this transfer. |
returnMarginAccountSummary
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnMarginAccountSummary&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnMarginAccountSummary&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ totalValue: '0.09999999',
pl: '0.00000000',
lendingFees: '0.00000000',
netValue: '0.09999999',
totalBorrowedValue: '0.02534580',
currentMargin: '3.94542646' }
Returns a summary of your entire margin account. This is the same information you will find in the Margin Account section of the (Margin Trading page)[https://poloniex.com/support/aboutMarginTrading/], under the Markets list.
Output Fields
| Field | Description |
|---|---|
| totalValue | Total margin value in BTC. |
| pl | Unrealized profit and loss in BTC. |
| lendingFees | Unrealized lending fees in BTC. |
| netValue | Net value in BTC. |
| totalBorrowedValue | Total borrowed value in BTC. |
| currentMargin | The current margin ratio. |
marginBuy
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=marginBuy¤cyPair=BTC_ETH&rate=0.0035&amount=20&clientOrderId=12345&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=marginBuy¤cyPair=BTC_ETH&rate=0.0035&amount=20&clientOrderId=12345&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ orderNumber: '515007818806',
resultingTrades: [],
message: 'Margin order placed.',
clientOrderId: '12345' }
Places a margin buy order in a given market. Required POST parameters are "currencyPair", "rate", and "amount". You may optionally specify a maximum lending rate using the "lendingRate" parameter. (the default "lendingRate" value is 0.02 which stands for 2% per day) Note that "rate" * "amount" must be > 0.02 when creating or expanding a market. If successful, the method will return the order number and any trades immediately resulting from your order.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| lendingRate | The interest rate you are willing to accept per day. (default is 0.02 which stands for 2% per day) |
| amount | The amount to buy. |
| clientOrderId | (optional) 64-bit Integer value used for tracking order across http responses as well as "o", "n" & "t" web socket messages. Must be unique across all open orders for each account. |
Output Fields
| Field | Description |
|---|---|
| orderNumber | The newly created order number. |
| resultingTrades | An array of trades immediately filled by this offer, if any. |
| message | A human-readable message summarizing the activity. |
| clientOrderId | (optional) Client specified 64-bit integer identifier. |
marginSell
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=marginSell¤cyPair=BTC_ETH&rate=0.0035&amount=20&clientOrderId=12345&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=marginSell¤cyPair=BTC_ETH&rate=0.0035&amount=20&clientOrderId=12345&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ orderNumber: '515007818812',
resultingTrades: [],
message: 'Margin order placed.'
clientOrderId: '12345' }
Places a margin sell order in a given market. Required POST parameters are "currencyPair", "rate", and "amount". You may optionally specify a maximum lending rate using the "lendingRate" parameter. (the default "lendingRate" value is 0.02 which stands for 2% per day) Note that "rate" * "amount" must be > 0.02 when creating or expanding a market. If successful, the method will return the order number and any trades immediately resulting from your order.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| lendingRate | The interest rate you are willing to accept per day. (default is 0.02 which stands for 2% per day) |
| amount | The amount of currency to sell. |
| clientOrderId | (optional) 64 bit Integer value used for tracking order across http responses as well as "o", "n" & "t" web socket messages. Must be unique across all open orders for each account. |
Output Fields
| Field | Description |
|---|---|
| orderNumber | The newly created order number. |
| resultingTrades | An array of trades immediately filled by this offer, if any. |
| message | A human-readable message summarizing the activity. |
| clientOrderId | (optional) 64 bit Client specified integer identifier. |
getMarginPosition
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=getMarginPosition¤cyPair=BTC_ETH&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=getMarginPosition¤cyPair=BTC_ETH&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ amount: '40.94717831',
total: '-0.09671314',
basePrice: '0.00236190',
liquidationPrice: -1,
pl: '-0.00058655',
lendingFees: '-0.00000038',
type: 'long' }
Returns information about your margin position in a given market, specified by the "currencyPair" POST parameter. You may set "currencyPair" to "all" if you wish to fetch all of your margin positions at once. If you have no margin position in the specified market, "type" will be set to "none". "liquidationPrice" is an estimate, and does not necessarily represent the price at which an actual forced liquidation will occur. If you have no liquidation price, the value will be -1.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
Output Fields
| Field | Description |
|---|---|
| amount | The net amount of the market's currency you have bought or sold. If your position is short, this value will be negative. |
| total | The total amount of the currency in your position. |
| basePrice | The approximate price at which you would need to close your position in order to break even. |
| liquidationPrice | The estimated highest bid (if your position is long) or lowest ask (if it is short) at which a forced liquidation will occur. |
| pl | Estimated profit or loss you would incur if your position were closed. Includes lending fees already paid. |
| lendingFees | The estimated value of outstanding fees on currently-open loans. |
| type | Denotes the overall position in this market as either "long" (buy heavy) or "short". (sell heavy) |
closeMarginPosition
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=closeMarginPosition¤cyPair=BTC_ETH&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=closeMarginPosition¤cyPair=BTC_ETH&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a market with an open position:
{ success: 1,
message: 'Successfully closed margin position.',
resultingTrades:
{ BTC_XMR:
[ { amount: '7.09215901',
date: '2015-05-10 22:38:49',
rate: '0.00235337',
total: '0.01669047',
tradeID: '1213346',
type: 'sell' },
{ amount: '24.00289920',
date: '2015-05-10 22:38:49',
rate: '0.00235321',
total: '0.05648386',
tradeID: '1213347',
type: 'sell' } ] } }
Example output for a market with no open position:
{ success: 1,
message: 'You do not have an open position in this market.',
resultingTrades: [] }
Closes your margin position in a given market (specified by the "currencyPair" POST parameter) using a market order. This call will also return success if you do not have an open position in the specified market.
Input Fields
| Field | Description |
|---|---|
| currencyPair | A string that defines the market, "USDT_BTC" for example. |
Output Fields
| Field | Description |
|---|---|
| success | Denotes whether a success (1) or a failure (0) of this operation. |
| message | A human-readable message summarizing the activity. |
| resultingTrades | An array of any trades that have executed as a result of closing this position. |
createLoanOffer
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=createLoanOffer¤cy=BTC&amount=0.1&duration=2&autoRenew=0&lendingRate=0.015&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=createLoanOffer¤cy=BTC&amount=0.1&duration=2&autoRenew=0&lendingRate=0.015&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a market with an open position:
{ success: 1,
message: 'Loan order placed.',
orderID: 1002013188 }
Creates a loan offer for a given currency. Required POST parameters are "currency", "amount", "duration", "autoRenew" (0 or 1), and "lendingRate".
Input Fields
| Field | Description |
|---|---|
| currency | Denotes the currency for this loan offer. |
| amount | The total amount of currency offered. |
| duration | The maximum duration of this loan in days. (from 2 to 60, inclusive) |
| autoRenew | Denotes if this offer should be reinstated with the same settings after having been taken. |
Output Fields
| Field | Description |
|---|---|
| success | Denotes whether a success (1) or a failure (0) of this operation. |
| message | A human-readable message summarizing the activity. |
| orderID | The identification number of the newly created loan offer. |
cancelLoanOffer
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=cancelLoanOffer&orderNumber=1002013188&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=cancelLoanOffer&orderNumber=1002013188&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a market with an open position:
{ success: 1,
message: 'Loan offer canceled.',
amount: '0.10000000' }
Cancels a loan offer specified by the "orderNumber" POST parameter.
Input Fields
| Field | Description |
|---|---|
| orderNumber | The identification number of the offer to be canceled. |
Output Fields
| Field | Description |
|---|---|
| success | Denotes whether a success (1) or a failure (0) of this operation. |
| message | A human-readable message summarizing the activity. |
| amount | The amount of the offer that was canceled. |
returnOpenLoanOffers
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnOpenLoanOffers&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnOpenLoanOffers&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output for a market with an open position:
{ BTC:
[ { id: 1002015083,
rate: '0.01500000',
amount: '0.10000000',
duration: 2,
autoRenew: 0,
date: '2018-10-26 20:26:46' } ] }
Returns your open loan offers for each currency.
Output Fields
| Field | Description |
|---|---|
| id | The identification number of this offer. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The total amount offered for this loan. |
| duration | The maximum number of days offered for this loan. |
| autoRenew | Denotes if this offer will be reinstated with the same settings after having been taken. |
| date | The UTC date at which this loan offer was created. |
returnActiveLoans
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnActiveLoans&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnActiveLoans&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ provided:
[ { id: 75073,
currency: 'LTC',
rate: '0.00020000',
amount: '0.72234880',
range: 2,
autoRenew: 0,
date: '2018-05-10 23:45:05',
fees: '0.00006000' },
{ id: 74961,
currency: 'LTC',
rate: '0.00002000',
amount: '4.43860711',
range: 2,
autoRenew: 0,
date: '2018-05-10 23:45:05',
fees: '0.00006000' } ],
used:
[ { id: 75238,
currency: 'BTC',
rate: '0.00020000',
amount: '0.04843834',
range: 2,
date: '2018-05-10 23:51:12',
fees: '-0.00000001' } ] }
Returns your active loans for each currency.
| Output Field | Description |
|---|---|
| provided | An array of the loans currently provided. (see below for subfield descriptions) |
| used | An array of the loans currently being used. (see below for subfield descriptions) |
| Subfield | Description |
|---|---|
| id | The identifier number of the loan. |
| currency | The currency of the loan. |
| rate | The price. Units are market quote currency. Eg USDT_BTC market, the value of this field would be around 10,000. Naturally this will be dated quickly but should give the idea. |
| amount | The size of this loan. |
| range | The duration of the loan in number of days. |
| autoRenew | Specifies if the loan will be automatically renewed on close. |
| date | The UTC date of the start of the loan. |
| fees | The fees paid for this loan so far. |
returnLendingHistory
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=returnLendingHistory&start=1483228800&end=1483315200&limit=100&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=returnLendingHistory&start=1483228800&end=1483315200&limit=100&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
[ { id: 246300115,
currency: 'BTC',
rate: '0.00013890',
amount: '0.33714830',
duration: '0.00090000',
interest: '0.00000005',
fee: '0.00000000',
earned: '0.00000005',
open: '2017-01-01 23:41:37',
close: '2017-01-01 23:42:51' },
{ id: 246294775,
currency: 'BTC',
rate: '0.00013890',
amount: '0.03764586',
duration: '0.00150000',
interest: '0.00000001',
fee: '0.00000000',
earned: '0.00000001',
open: '2017-01-01 23:36:32',
close: '2017-01-01 23:38:45' },
...
{ id: 245670087,
currency: 'BTC',
rate: '0.00014000',
amount: '0.10038365',
duration: '0.00010000',
interest: '0.00000001',
fee: '0.00000000',
earned: '0.00000001',
open: '2017-01-01 03:18:25',
close: '2017-01-01 03:18:32' },
{ id: 245645491,
currency: 'XMR',
rate: '0.00002191',
amount: '0.00006579',
duration: '0.00560000',
interest: '0.00000001',
fee: '0.00000000',
earned: '0.00000001',
open: '2017-01-01 02:17:09',
close: '2017-01-01 02:25:10' } ]
Returns your lending history within a time range specified by the "start" and "end" POST parameters as UNIX timestamps. "limit" may also be specified to limit the number of rows returned.
| Input Field | Description |
|---|---|
| start | The date in Unix timestamp format of the start of the window. |
| end | The date in Unix timestamp format of the end of the window. |
| Output Field | Description |
|---|---|
| id | The loan identifier number. |
| currency | The currency of the loan. |
| rate | The loan's rate in percentage points per day. |
| amount | The total amount loaned. |
| duration | The duration in days of the loan. |
| interest | The interest earned in the loan's currency. |
| fee | The fee paid in the loan's currency. |
| earned | The earnings in the loan's currency after subtracting the fee. |
| open | The UTC date the loan started. (when the loan offer was taken) |
| close | The UTC date the loan completed. (when the loan was closed) |
toggleAutoRenew
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=toggleAutoRenew&orderNumber=1002013188&nonce=154264078495300" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=toggleAutoRenew&orderNumber=1002013188&nonce=154264078495300" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example output:
{ success: 1, message: 0 }
Toggles the autoRenew setting on an active loan, specified by the "orderNumber" POST parameter. If successful, "message" will indicate the new autoRenew setting.
| Input Field | Description |
|---|---|
| orderNumber | The identifier of the order you want to toggle. |
| Output Field | Description |
|---|---|
| success | A "1" indicates a successful toggle. |
| message | On success, the new value of the auto renew flag. |
swapCurrencies
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "command=swapCurrencies&nonce=154264078495300&fromCurrency=BTC&toCurrency=WBTC&amount=25.0" | \
openssl sha512 -hmac $API_SECRET
curl -X POST \
-d "command=swapCurrencies&nonce=154264078495300&fromCurrency=BTC&toCurrency=WBTC&amount=25.0" \
-H "Key: 7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J" \
-H "Sign: 2a7849ecf...ae71161c8e9a364e21d9de9" \
https://poloniex.com/tradingApi
Example success output:
{"success":true,"message":"Swap 24.998 from BTC to WBTC."}
Example error output:
{"success":false,"error":"Invalid currency pair BTC-XRP."}
Swap fromCurrency to toCurrency if the currency pair is available and the user has enough balance to complete the transaction.
Enabled currency pairs:
| fromCurrency | toCurrency | fee |
|---|---|---|
| BTC | WBTC | 0.2 % |
| WBTC | BTC | 0.2 % |
Websocket API
# Install your favorite websocket command line tool.
# Our examples use https://github.com/hashrocket/ws
# which can be installed with this command:
go get -u github.com/hashrocket/ws
Websockets can be read by any standard websocket library. Data is organized into channels to which an API client may subscribe.
Requests and Responses
There are two type of requests supported; subscribe and unsubscribe. The requests are for a specific channel. For non-book requests, the first response is always an acknowledgement of the request. All channel updates are of the following format
[<channel>, <sequence id>, <update data...>]
<sequence id> is a number increasing by one with each update and is unique within its channel. The sequence-id is always null for non-book channels.
Subscribing and Unsubscribing
# Public channels
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": 1002}
# Private channels
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "nonce=154264078495300" | openssl sha512 -hmac $API_SECRET
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": 1000, "sign": "e832d65f...8a522df8", "key": "7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J", "payload": "nonce=154264078495300"}
To receive updates from a channel you must subscribe to it. To subscribe to a public channel (all except the account notifications channel), determine its channel ID (provided with the description of each channel, and summarized here), send a JSON message in the following format:
{ "command": "subscribe", "channel": "<channel id>" }
To subscribe to a private channel, the parameters described in the authentication section are required in the subscription message. Just like the trading API, an integer nonce must be chosen that is greater than the previous nonce used; for this purpose the current epoch time in milliseconds is a reasonable choice. As each API key has its own nonce tracking, using a different key for each client process can greatly simplify nonce management. If the chosen nonce is 1234, provide a "payload" parameter consisting of nonce=1234, a "key" parameter with your API key, and a "sign" parameter with the HMAC-SHA512 signature of the payload signed by your secret:
{ "command": "subscribe", "channel": "<channel id>", "key": "<your API key>", "payload": "nonce=<epoch ms>", "sign": "<hmac_sha512(secret).update("nonce=<epoch ms>").hexdigest()>" }
In all cases the first message will be an acknowledgement of the subscription:
[<channel id>, 1]
To unsubscribe, send an unsubscribe message with the channel ID:
{ "command": "unsubscribe", "channel": <channel id> }
Channel Descriptions
The following <channel ids> are supported:
| Channel | Type | Name |
|---|---|---|
| 1000 | Private | Account Notifications (Beta) |
| 1002 | Public | Ticker Data |
| 1003 | Public | 24 Hour Exchange Volume |
| 1010 | Public | Heartbeat |
| <currency pair> | Public | Price Aggregated Book |
Additionally, as described below, each market has its own aggregated book channel.
Account Notifications (Beta)
# Note: set the nonce to the current milliseconds. For example: date +%s00000
echo -n "nonce=154264078495300" | openssl sha512 -hmac $API_SECRET
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": 1000, "sign": "e832d65f...8a522df8", "key": "7BCLAZQZ-HKLK9K6U-3MP1RNV9-2LS1L33J", "payload": "nonce=154264078495300"}
< [1010]
< [1000,"",[["n",225,807230187,0,"1000.00000000","0.10000000","2018-11-07 16:42:42"],["b",267,"e","-0.10000000"]]]
< [1010]
< [1000,"",[["o",807230187,"0.00000000", "f"],["b",267,"e","0.10000000"]]]
The account notifications channel (id 1000) provides real-time updates of trade and balance changes on your account. You can (and should) use it to track your account's trading activity (instead of relying on repeated calls to the trading API). It is an authenticated websocket endpoint, so subscribing to it requires the parameters discussed in the subscribing section:
{ "command": "subscribe", "channel": "1000", "key": "<your API key>", "payload": "nonce=<epoch ms>", "sign": "<hmac_sha512(secret).update("nonce=<epoch ms>").hexdigest()>" }
The first message is acknowledgement of the subscription.
[1000, 1]
Subsequent messages represent updates to your account. In general, a message consists of a combination of updates of different types. Each update is an array of data, where the first element is a character denoting the type of the update, and subsequent elements are various parameters:
[ 1000, null, [ ["b", DATA_1, DATA_2, DATA_3], ["n", DATA_1, DATA_2, DATA_3, DATA_4, DATA_5, DATA_6] ] ]
A given message may contain multiple updates, multiple types of updates, and multiple updates of the same type. There is no ordering guarantee of update types within a single message. Effectively, each message is a record of all of the changes to your account induced by a single action. There are four types of updates, as described below:
pmessages represent an acknowledgement that an order is pending. They are in the format["p", <order number>, <currency pair id>, "<rate>", "<amount>", "<order type>", "<clientOrderId>"]. Currency pair IDs may be found in the reference table. The order type is either 0 or 1 (sell or buy).bupdates represent an available balance update. They are in the format["b", <currency id>, "<wallet>", "<amount>"]. Currency IDs may be found in the reference table, or using the returnCurrencies REST call. The wallet can bee(exchange),m(margin), orl(lending). Thus, abupdate representing a deduction of 0.06 BTC from the exchange wallet will look like["b", 28, "e", "-0.06000000"].nupdates represent a newly created limit order. They are in the format["n", <currency pair id>, <order number>, <order type>, "<rate>", "<amount>", "<date>", "<original amount ordered>" "<clientOrderId>"]. Currency pair IDs are described here, the order type can either be0(sell) or1(buy), the date is formatted according to the format stringY-m-d H:i:sand clientOrderId will be a string if present ornull. Thus, annupdate representing a complete unfilled buy order for 2 ETH at rate 0.03 BTC per ETH with a clientOrderId of 12345 will look like["n", 148, 6083059, 1, "0.03000000", "2.00000000", "2018-09-08 04:54:09", "2.00000000", "12345"].oupdates represent an order update. They are in the format["o", <order number>, "<new amount>", "<order type>", "<clientOrderId>"]and order type is one of:f,s, orc, corresponding to a fill, self-trade, or cancelled order, respectively. Canceled orders have an additional field"<canceledAmount>"and are therefore in the format["o", <order number>, "<new amount>", "c", "<clientOrderId>", "<canceledAmount>"].mupdates represent an margin position update. They are in the format["m", <order number>, "<currency>", "<amount>", "<clientOrderId>"]. Currency IDs may be found in the reference table, or using the returnCurrencies REST call. ClientOrderId will be a string if present ornull. Thus, amupdate representing a deduction of 0.06 BTC from a margin position will look like this["m", 23432933, 28, "-0.06000000", "null"].
| Order type | Amount | Interpretation |
|---|---|---|
| f | > 0.00000000 | partially filled order |
| f | = 0.00000000 | completely filled order |
| c | > 0.00000000 | partially cancelled order |
| c | = 0.00000000 | completely cancelled order |
| s | > 0.00000000 | partially filled self-trade |
| s | = 0.00000000 | completely filled self-trade |
Thus, an o update representing a partially filled limit order with a new amount of 1.5 and a clientOrderId of 12345 will look like:
["o", 6083059, "1.50000000", "f", "12345"].
tupdates represent a trade notification. They are in the format["t", <trade ID>, "<rate>", "<amount>", "<fee multiplier>", <funding type>, <order number>, <total fee>, <date>, "<clientOrderId>", "<trade total>"]. The fee multiplier is the fee schedule applied to the trade (for instance, if a trade had a trading fee of 0.25%, the fee multiplier will be '0.00250000'). The funding type represents the funding used for the trade, and may be0(exchange wallet),1(borrowed funds),2(margin funds), or3(lending funds). Note that while the trade ID will always be distinct, the order number may be shared across multipletupdates if multiple trades were required to fill a limit order. The total fee is(amount * rate) * fee multiplier. The date is formatted according to the format stringY-m-d H:i:sand clientOrder will be a string if present ornull. Trade total is the amount if the user has sold or(amount * rate)if the user has bought. Atupdate representing a purchase of 0.5 ETH at rate 0.03 BTC per ETH using exchange funds with a fee schedule of 0.25% and a clientOrderId of 12345 will look like:["t", 12345, "0.03000000", "0.50000000", "0.00250000", 0, 6083059, "0.00000375", "2018-09-08 05:54:09", "12345", "0.015"]kupdates represent an update indicating an API order has been killed, due to specified constraints not being matched. ApostOnlyorfillOrKillorder that doesn't successfully execute will generate akmessage.kmessages are in the format["k", <order number>, "<clientOrderId>"].
As mentioned above, a single logical action may cause a message with multiple updates. For instance, placing a limit order to buy ETH using BTC, which is immediately partially fulfilled, will cause an update with 5 parts: a p message with the newly placed pending order for the BTC_ETH market, a b update with a positive ETH balance (the ETH that was immediately bought), a b update with a negative BTC balance update (the BTC removed from the user's funds to pay for the ETH), a t update representing the trade in which the order was partially fulfilled and then the remaining amount becomes open, and an n update with the new limit order for the rest of the requested ETH.
Note that many actions do not have explicit notification types, but rather are represented by the underlying trade and balance changes:
- Stop-limit orders immediately cause a
bnotification (that the appropriate balance has been decremented to reserve an asset for the limit order). When they are triggered they cause notifications commensurate with a standard limit order being placed (nortupdates depending on whether the limit was immediately fulfilled). - Margin liquidations cause a notification with
tupdates for whatever trades were performed during the liquidation, andbupdates for them(margin) wallet balance changes. - Accepted loan offers cause a notification with
bupdates for the resultingl(lending) wallet balance changes. - Self-trades generate
oupdates. This is because in a self-trade, the trader is both the maker AND the taker, and receives relevant messages for both parties.
There are currently no notifications of transfers between wallets initiated via the transfers page or the transferBalance trading API call.
Ticker Data
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": 1002}
< [1002,1]
< [1002,null,[149,"219.42870877","219.85995997","219.00000016","0.01830508","1617829.38863451","7334.31837942",0,"224.44803729","214.87902002"]]
< [1002,null,[150,"0.00000098","0.00000099","0.00000098","0.01030927","23.24910068","23685243.40788439",0,"0.00000100","0.00000096"]]
< [1002,null,[162,"0.00627869","0.00630521","0.00627608","0.01665689","17.99294312","2849.74975814",0,"0.00640264","0.00615185"]]
Subscribe to ticker updates for all currency pairs.
Subscription example
{ "command": "subscribe", "channel": 1002 }
The first message is acknowledgement of the subscription.
[<id>, 1]
Subsequent messages are ticker updates.
[ <id>, null, [ <currency pair id>, "<last trade price>", "<lowest ask>", "<highest bid>", "<percent change in last 24 hours>", "<base currency volume in last 24 hours>", "<quote currency volume in last 24 hours>", <is frozen>, "<highest trade price in last 24 hours>", "<lowest trade price in last 24 hours>" ], ... ]
For example:
[ 1002, null, [ 149, "382.98901522", "381.99755898", "379.41296309", "-0.04312950", "14969820.94951828", "38859.58435407", 0, "412.25844455", "364.56122072" ] ]
The <currency pair id> is from the currency pair ID list.
24 Hour Exchange Volume
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": 1003}
< [1003,null,["2018-11-07 16:26",5804,{"BTC":"3418.409","ETH":"2645.921","USDT":"10832502.689","USDC":"1578020.908"}]]
Subscribe to 24 hour exchange volume statistics. Updates are sent every 20 seconds.
Subscription example for exchange volume
{ "command": "subscribe", "channel": 1003 }
The first response is acknowledgement of subscription
[<channel id>, 1]
For example:
[1003, 1]
Subsequent responses are exchange volume update sent every 20 seconds. Base currencies are BTC, ETH, USDT and USDC.
[ <channel id>, null, [ "<time as YYYY-MM-DD HH:SS>", "<number of users online>", { "<base currency>": "<24 hours volume>", ... } ] ]
For example
[ 1003, null, [ "2018-09-30 21:33", 8592, { "BTC": "6482.518", "ETH": "1315.332", "USDT": "42935638.731", "USDC": "76034823.390" } ] ]
Heartbeats
# Heartbeats (1010) will arrive automatically - you can see them simply by connecting
ws wss://api2.poloniex.com
< [1010]
< [1010]
< [1010]
When no messages have been sent out for one second, the server will send a heartbeat message as follows. Absence of heartbeats indicates a protocol or networking issue and the client application is expected to close the socket and try again.
[1010]
Price Aggregated Book
ws wss://api2.poloniex.com
> {"command": "subscribe", "channel": "BTC_ETH"}
< [148,599758718,[["i",{"currencyPair":"BTC_ETH","orderBook":[{"0.03342499":"0.98174196","0.03343000":"45.80780000", ... "0.00000001":"1462262.00000000"}]}]]]
< [148,599758719,[["o",1,"0.03315496","0.00000000"],["o",1,"0.03315498","99.33100000"]]]
< [148,599758720,[["o",0,"0.03383499","0.00000000"]]]
< [148,599758721,[["o",0,"0.03342499","0.24289338"]]]
Example output:
{ currencyPair: 'BTC_ETH',
orderBook:
[ { '0.03119500': '8.87619723',
'0.03120486': '2.15539849',
'0.03120500': '50.78890000',
...
'3777.70000000': '0.00100000',
'4999.00000000': '0.05000000',
'5000.00000000': '0.20000000' },
{ '0.03118500': '50.78940000',
'0.03117855': '10.55121501',
'0.03117841': '6.20027213',
...
'0.00000003': '20000.00000000',
'0.00000002': '670207.00000000',
'0.00000001': '1462262.00000000' } ] } ]
Subscribe to price aggregated depth of book by currency pair. Response includes an initial book snapshot, book modifications, and trades. Book modification updates with 0 quantity should be treated as removal of the price level. Note that the updates are price aggregated and do not contain individual orders.
Subscription example for BTC_BTS pair (id is 14). You can either subscribe using the currency pair ID or name. Currency pair IDs are listed in the currency pair ID list.
{ "command":"subscribe", "channel": 14 }
Or
{ "command": "subscribe", "channel": "BTC_BTS" }
The first response is the initial dump of the book. NOTE: An "i" message can occur after the initial subscription under certain circumstances. When this occurs the client is required to reset the state of the price aggregated book.
[ <channel id>, <sequence number>, [ [ "i", { "currencyPair": "<currency pair name>", "orderBook": [ { "<lowest ask price>": "<lowest ask size>", "<next ask price>": "<next ask size>", ... }, { "<highest bid price>": "<highest bid size>", "<next bid price>": "<next bid size>", ... } ] } ] ] ]
For example:
[ 14, 8767, [ [ "i", { "currencyPair": "BTC_BTS", "orderBook": [ { "0.00001853": "2537.5637", "0.00001854": "1567238.172367" }, { "0.00001841": "3645.3647", "0.00001840": "1637.3647" } ] } ] ] ]
Subsequent responses are updates to the book and trades
[ <channel id>, <sequence number>, [ ["o", <1 for bid 0 for ask>, "<price>", "<size>"], ["o", <1 for bid 0 for ask>, "<price>", "<size>"], ["t", "<trade id>", <1 for buy 0 for sell>, "<price>", "<size>", <timestamp>] ] ... ]
For example
[ 14, 8768, [ ["o", 1, "0.00001823", "5534.6474"], ["o", 0, "0.00001824", "6575.464"], ["t", "42706057", 1, "0.05567134", "0.00181421", 1522877119] ] ]
Reference
Currencies
This is a list of currency IDs. They are used in b messages in the account notifications websockets channel, and can also be retrieved using the returnCurrencies REST call.
| ID | Currency |
|---|---|
| 1 | 1CR |
| 446 | AAVE |
| 2 | ABY |
| 3 | AC |
| 4 | ACH |
| 488 | ADABEAR |
| 489 | ADABULL |
| 430 | ADEL |
| 5 | ADN |
| 6 | AEON |
| 7 | AERO |
| 8 | AIR |
| 429 | AKRO |
| 463 | ALPHA |
| 275 | AMP |
| 420 | ANK |
| 9 | APH |
| 464 | API3 |
| 258 | ARCH |
| 285 | ARDR |
| 313 | ATOM |
| 10 | AUR |
| 344 | AVA |
| 11 | AXIS |
| 477 | BAC |
| 468 | BADGER |
| 369 | BAL |
| 12 | BALLS |
| 390 | BAND |
| 13 | BANK |
| 476 | BAS |
| 302 | BAT |
| 14 | BBL |
| 15 | BBR |
| 16 | BCC |
| 292 | BCH |
| 447 | BCHA |
| 308 | BCHABC |
| 339 | BCHBEAR |
| 340 | BCHBULL |
| 360 | BCHC |
| 448 | BCHN |
| 309 | BCHSV |
| 17 | BCN |
| 269 | BCY |
| 18 | BDC |
| 19 | BDG |
| 502 | BDP |
| 322 | BEAR |
| 20 | BELA |
| 449 | BID |
| 273 | BITCNY |
| 21 | BITS |
| 272 | BITUSD |
| 22 | BLK |
| 23 | BLOCK |
| 24 | BLU |
| 406 | BLY |
| 343 | BNB |
| 25 | BNS |
| 305 | BNT |
| 481 | BOND |
| 26 | BONES |
| 27 | BOST |
| 441 | BREE |
| 500 | BRG |
| 341 | BSVBEAR |
| 342 | BSVBULL |
| 28 | BTC |
| 29 | BTCD |
| 30 | BTCS |
| 445 | BTCTRON |
| 31 | BTM |
| 32 | BTS |
| 320 | BTT |
| 323 | BULL |
| 33 | BURN |
| 34 | BURST |
| 324 | BUSD |
| 346 | BVOL |
| 372 | BZRX |
| 35 | C2 |
| 36 | CACH |
| 37 | CAI |
| 38 | CC |
| 39 | CCN |
| 40 | CGA |
| 41 | CHA |
| 358 | CHR |
| 42 | CINNI |
| 43 | CLAM |
| 44 | CNL |
| 45 | CNMT |
| 46 | CNOTE |
| 483 | COMBO |
| 47 | COMM |
| 361 | COMP |
| 48 | CON |
| 49 | CORG |
| 424 | CORN |
| 465 | COVER |
| 427 | CREAM |
| 422 | CRT |
| 401 | CRV |
| 50 | CRYPT |
| 480 | CUDOS |
| 51 | CURE |
| 364 | CUSDT |
| 294 | CVC |
| 435 | CVP |
| 52 | CYC |
| 325 | DAI |
| 279 | DAO |
| 60 | DASH |
| 277 | DCR |
| 379 | DEC |
| 397 | DEXT |
| 53 | DGB |
| 432 | DHT |
| 391 | DIA |
| 54 | DICE |
| 55 | DIEM |
| 56 | DIME |
| 57 | DIS |
| 404 | DMG |
| 58 | DNS |
| 59 | DOGE |
| 392 | DOS |
| 400 | DOT |
| 61 | DRKC |
| 62 | DRM |
| 63 | DSH |
| 64 | DVK |
| 65 | EAC |
| 66 | EBT |
| 67 | ECC |
| 68 | EFL |
| 69 | EMC2 |
| 70 | EMO |
| 71 | ENC |
| 298 | EOS |
| 355 | EOSBEAR |
| 354 | EOSBULL |
| 472 | ESD |
| 283 | ETC |
| 267 | ETH |
| 333 | ETHBEAR |
| 319 | ETHBNT |
| 334 | ETHBULL |
| 72 | eTOK |
| 73 | EXE |
| 270 | EXP |
| 74 | FAC |
| 469 | FARM |
| 75 | FCN |
| 271 | FCT |
| 413 | FCT2 |
| 76 | FIBRE |
| 77 | FLAP |
| 78 | FLDC |
| 254 | FLO |
| 79 | FLT |
| 307 | FOAM |
| 80 | FOX |
| 81 | FRAC |
| 82 | FRK |
| 462 | FRONT |
| 83 | FRQ |
| 426 | FSW |
| 484 | FTT |
| 410 | FUND |
| 84 | FVZ |
| 351 | FXC |
| 85 | FZ |
| 86 | FZN |
| 93 | GAME |
| 87 | GAP |
| 296 | GAS |
| 88 | GDN |
| 388 | GEEQ |
| 89 | GEMZ |
| 90 | GEO |
| 436 | GHST |
| 91 | GIAR |
| 92 | GLB |
| 457 | GLM |
| 94 | GML |
| 291 | GNO |
| 95 | GNS |
| 290 | GNT |
| 96 | GOLD |
| 97 | GPC |
| 98 | GPUC |
| 261 | GRC |
| 99 | GRCX |
| 314 | GRIN |
| 100 | GRS |
| 470 | GRT |
| 101 | GUE |
| 102 | H2O |
| 459 | HEGIC |
| 428 | HGET |
| 103 | HIRO |
| 104 | HOT |
| 105 | HUC |
| 260 | HUGE |
| 106 | HVC |
| 107 | HYP |
| 108 | HZ |
| 347 | IBVOL |
| 109 | IFC |
| 265 | INDEX |
| 452 | INJ |
| 263 | IOC |
| 110 | ITC |
| 111 | IXC |
| 421 | JFI |
| 112 | JLH |
| 113 | JPC |
| 345 | JST |
| 114 | JUG |
| 115 | KDC |
| 116 | KEY |
| 301 | KNC |
| 455 | KP3R |
| 382 | KTON |
| 280 | LBC |
| 117 | LC |
| 118 | LCL |
| 119 | LEAF |
| 366 | LEND |
| 120 | LGC |
| 327 | LINK |
| 357 | LINKBEAR |
| 356 | LINKBULL |
| 121 | LOL |
| 478 | LON |
| 303 | LOOM |
| 122 | LOVE |
| 312 | LPT |
| 123 | LQD |
| 368 | LRC |
| 278 | LSK |
| 124 | LTBC |
| 125 | LTC |
| 490 | LTCBEAR |
| 491 | LTCBULL |
| 126 | LTCX |
| 127 | MAID |
| 306 | MANA |
| 128 | MAST |
| 338 | MATIC |
| 129 | MAX |
| 398 | MCB |
| 130 | MCN |
| 359 | MDT |
| 131 | MEC |
| 433 | MEME |
| 132 | METH |
| 439 | MEXP |
| 328 | MKR |
| 133 | MIL |
| 134 | MIN |
| 135 | MINT |
| 136 | MMC |
| 137 | MMNXT |
| 138 | MMXIV |
| 139 | MNTA |
| 140 | MON |
| 456 | MPH |
| 141 | MRC |
| 142 | MRS |
| 374 | MTA |
| 144 | MTS |
| 145 | MUN |
| 146 | MYR |
| 147 | MZC |
| 148 | N5X |
| 149 | NAS |
| 150 | NAUT |
| 151 | NAV |
| 152 | NBT |
| 348 | NEO |
| 153 | NEOS |
| 395 | NEST |
| 154 | NL |
| 155 | NMC |
| 310 | NMR |
| 156 | NOBL |
| 157 | NOTE |
| 158 | NOXT |
| 159 | NRS |
| 160 | NSR |
| 161 | NTX |
| 461 | NU |
| 288 | NXC |
| 162 | NXT |
| 163 | NXTI |
| 403 | OCEAN |
| 405 | OM |
| 295 | OMG |
| 143 | OMNI |
| 473 | ONEINCH |
| 164 | OPAL |
| 407 | OPT |
| 165 | PAND |
| 289 | PASC |
| 166 | PAWN |
| 329 | PAX |
| 482 | PBTC35A |
| 419 | PEARL |
| 399 | PERX |
| 167 | PIGGY |
| 168 | PINK |
| 380 | PLT |
| 169 | PLX |
| 170 | PMC |
| 444 | POLS |
| 311 | POLY |
| 171 | POT |
| 172 | PPC |
| 173 | PRC |
| 408 | PRQ |
| 174 | PRT |
| 175 | PTS |
| 176 | Q2C |
| 177 | QBK |
| 178 | QCN |
| 179 | QORA |
| 180 | QTL |
| 304 | QTUM |
| 274 | RADS |
| 438 | RARI |
| 181 | RBY |
| 182 | RDD |
| 475 | REEF |
| 367 | REN |
| 284 | REP |
| 437 | REPV2 |
| 440 | RFUEL |
| 183 | RIC |
| 383 | RING |
| 411 | RSR |
| 184 | RZR |
| 423 | SAL |
| 434 | SAND |
| 282 | SBD |
| 396 | SBREE |
| 268 | SC |
| 185 | SDC |
| 454 | SENSO |
| 186 | SHIBE |
| 187 | SHOPX |
| 188 | SILK |
| 189 | SJCX |
| 190 | SLR |
| 191 | SMC |
| 300 | SNT |
| 335 | SNX |
| 192 | SOC |
| 193 | SPA |
| 194 | SQL |
| 195 | SRCC |
| 196 | SRG |
| 487 | SRM |
| 197 | SSD |
| 371 | STAKE |
| 281 | STEEM |
| 297 | STORJ |
| 350 | STPT |
| 198 | STR |
| 287 | STRAT |
| 199 | SUM |
| 200 | SUN |
| 414 | SUSHI |
| 384 | SWAP |
| 201 | SWARM |
| 349 | SWFTC |
| 409 | SWINGBY |
| 425 | SWRV |
| 202 | SXC |
| 373 | SXP |
| 203 | SYNC |
| 204 | SYS |
| 205 | TAC |
| 418 | TAI |
| 385 | TEND |
| 206 | TOR |
| 386 | TRADE |
| 394 | TRB |
| 479 | TRU |
| 378 | TRUMPLOSE |
| 377 | TRUMPWIN |
| 207 | TRUST |
| 315 | TRX |
| 330 | TRXBEAR |
| 331 | TRXBULL |
| 332 | TUSD |
| 208 | TWE |
| 209 | UIS |
| 210 | ULTC |
| 381 | UMA |
| 431 | UNI |
| 211 | UNITY |
| 212 | URO |
| 299 | USDC |
| 213 | USDE |
| 337 | USDJ |
| 214 | USDT |
| 318 | USDTETH |
| 316 | USDTTRON |
| 215 | UTC |
| 216 | UTIL |
| 217 | UVC |
| 442 | VALUE |
| 499 | VSP |
| 218 | VIA |
| 219 | VOOT |
| 276 | VOX |
| 220 | VRC |
| 221 | VTC |
| 453 | WBTC |
| 474 | WBTCTRON |
| 222 | WC |
| 223 | WDC |
| 495 | WETH |
| 224 | WIKI |
| 321 | WIN |
| 412 | WNXM |
| 225 | WOLF |
| 363 | WRX |
| 226 | X13 |
| 227 | XAI |
| 228 | XAP |
| 229 | XBC |
| 230 | XC |
| 231 | XCH |
| 232 | XCN |
| 233 | XCP |
| 234 | XCR |
| 235 | XDN |
| 402 | XDOT |
| 236 | XDP |
| 256 | XEM |
| 365 | XFIL |
| 471 | XFLR |
| 237 | XHC |
| 238 | XLB |
| 492 | XLMBEAR |
| 493 | XLMBULL |
| 239 | XMG |
| 240 | XMR |
| 241 | XPB |
| 242 | XPM |
| 243 | XRP |
| 353 | XRPBEAR |
| 352 | XRPBULL |
| 244 | XSI |
| 245 | XST |
| 246 | XSV |
| 336 | XTZ |
| 247 | XUSD |
| 253 | XVC |
| 248 | XXC |
| 249 | YACC |
| 250 | YANG |
| 251 | YC |
| 375 | YFI |
| 415 | YFII |
| 417 | YFL |
| 252 | YIN |
| 393 | ZAP |
| 286 | ZEC |
| 497 | ZKS |
| 460 | ZLOT |
| 293 | ZRX |
Currency Pair IDs
This is a list of IDs for currency pairs. They serve as the channel IDs for price aggregated books, and are used in returned data from a few other websocket channels as well.
| Id | Currency Pair |
|---|---|
| 336 | BNB_BTC |
| 462 | BTC_AAVE |
| 438 | BTC_AKRO |
| 451 | BTC_AMP |
| 177 | BTC_ARDR |
| 253 | BTC_ATOM |
| 324 | BTC_AVA |
| 210 | BTC_BAT |
| 475 | BTC_BCH |
| 464 | BTC_BCHA |
| 238 | BTC_BCHSV |
| 468 | BTC_BID |
| 232 | BTC_BNT |
| 14 | BTC_BTS |
| 333 | BTC_CHR |
| 194 | BTC_CVC |
| 24 | BTC_DASH |
| 162 | BTC_DCR |
| 408 | BTC_DMG |
| 27 | BTC_DOGE |
| 496 | BTC_DOT |
| 201 | BTC_EOS |
| 171 | BTC_ETC |
| 148 | BTC_ETH |
| 266 | BTC_ETHBNT |
| 382 | BTC_EXE |
| 494 | BTC_FARM |
| 414 | BTC_FCT2 |
| 246 | BTC_FOAM |
| 489 | BTC_FRONT |
| 432 | BTC_FUND |
| 317 | BTC_FXC |
| 198 | BTC_GAS |
| 482 | BTC_GLM |
| 436 | BTC_HGET |
| 473 | BTC_INJ |
| 207 | BTC_KNC |
| 351 | BTC_LEND |
| 275 | BTC_LINK |
| 213 | BTC_LOOM |
| 250 | BTC_LPT |
| 355 | BTC_LRC |
| 163 | BTC_LSK |
| 50 | BTC_LTC |
| 229 | BTC_MANA |
| 295 | BTC_MATIC |
| 342 | BTC_MDT |
| 302 | BTC_MKR |
| 309 | BTC_NEO |
| 248 | BTC_NMR |
| 69 | BTC_NXT |
| 196 | BTC_OMG |
| 249 | BTC_POLY |
| 221 | BTC_QTUM |
| 353 | BTC_REN |
| 445 | BTC_REPV2 |
| 454 | BTC_SAND |
| 150 | BTC_SC |
| 478 | BTC_SENSO |
| 204 | BTC_SNT |
| 290 | BTC_SNX |
| 168 | BTC_STEEM |
| 200 | BTC_STORJ |
| 369 | BTC_STPT |
| 89 | BTC_STR |
| 379 | BTC_SWAP |
| 312 | BTC_SWFTC |
| 403 | BTC_SWINGBY |
| 364 | BTC_SXP |
| 523 | BTC_TRU |
| 263 | BTC_TRX |
| 514 | BTC_TUSD |
| 486 | BTC_WBTC |
| 359 | BTC_WRX |
| 112 | BTC_XEM |
| 348 | BTC_XFIL |
| 114 | BTC_XMR |
| 117 | BTC_XRP |
| 277 | BTC_XTZ |
| 178 | BTC_ZEC |
| 192 | BTC_ZRX |
| 340 | BUSD_BNB |
| 341 | BUSD_BTC |
| 306 | DAI_BTC |
| 307 | DAI_ETH |
| 358 | ETH_BAL |
| 211 | ETH_BAT |
| 190 | ETH_BCH |
| 347 | ETH_COMP |
| 202 | ETH_EOS |
| 172 | ETH_ETC |
| 515 | ETH_TUSD |
| 179 | ETH_ZEC |
| 193 | ETH_ZRX |
| 284 | PAX_BTC |
| 285 | PAX_ETH |
| 453 | TRX_AMP |
| 326 | TRX_AVA |
| 339 | TRX_BNB |
| 538 | TRX_BRG |
| 271 | TRX_BTT |
| 335 | TRX_CHR |
| 410 | TRX_DMG |
| 267 | TRX_ETH |
| 431 | TRX_FUND |
| 319 | TRX_FXC |
| 316 | TRX_JST |
| 276 | TRX_LINK |
| 297 | TRX_MATIC |
| 344 | TRX_MDT |
| 311 | TRX_NEO |
| 422 | TRX_PEARL |
| 292 | TRX_SNX |
| 274 | TRX_STEEM |
| 371 | TRX_STPT |
| 498 | TRX_SUN |
| 314 | TRX_SWFTC |
| 405 | TRX_SWINGBY |
| 366 | TRX_SXP |
| 420 | TRX_TAI |
| 535 | TRX_VSP |
| 273 | TRX_WIN |
| 361 | TRX_WRX |
| 268 | TRX_XRP |
| 279 | TRX_XTZ |
| 527 | TUSD_BTC |
| 528 | TUSD_ETH |
| 254 | USDC_ATOM |
| 477 | USDC_BCH |
| 239 | USDC_BCHSV |
| 224 | USDC_BTC |
| 256 | USDC_DASH |
| 243 | USDC_DOGE |
| 257 | USDC_EOS |
| 258 | USDC_ETC |
| 225 | USDC_ETH |
| 252 | USDC_GRIN |
| 244 | USDC_LTC |
| 242 | USDC_STR |
| 264 | USDC_TRX |
| 513 | USDC_TUSD |
| 226 | USDC_USDT |
| 241 | USDC_XMR |
| 240 | USDC_XRP |
| 245 | USDC_ZEC |
| 288 | USDJ_BTC |
| 323 | USDJ_BTT |
| 289 | USDJ_TRX |
| 463 | USDT_AAVE |
| 516 | USDT_ADABEAR |
| 517 | USDT_ADABULL |
| 439 | USDT_ADEL |
| 437 | USDT_AKRO |
| 529 | USDT_ALPHA |
| 452 | USDT_AMP |
| 423 | USDT_ANK |
| 491 | USDT_API3 |
| 255 | USDT_ATOM |
| 325 | USDT_AVA |
| 504 | USDT_BAC |
| 493 | USDT_BADGER |
| 357 | USDT_BAL |
| 387 | USDT_BAND |
| 503 | USDT_BAS |
| 212 | USDT_BAT |
| 476 | USDT_BCH |
| 465 | USDT_BCHA |
| 298 | USDT_BCHBEAR |
| 299 | USDT_BCHBULL |
| 345 | USDT_BCHC |
| 259 | USDT_BCHSV |
| 320 | USDT_BCN |
| 539 | USDT_BDP |
| 280 | USDT_BEAR |
| 469 | USDT_BID |
| 401 | USDT_BLY |
| 337 | USDT_BNB |
| 509 | USDT_BOND |
| 457 | USDT_BREE |
| 537 | USDT_BRG |
| 293 | USDT_BSVBEAR |
| 294 | USDT_BSVBULL |
| 121 | USDT_BTC |
| 270 | USDT_BTT |
| 281 | USDT_BULL |
| 338 | USDT_BUSD |
| 304 | USDT_BVOL |
| 363 | USDT_BZRX |
| 334 | USDT_CHR |
| 511 | USDT_COMBO |
| 346 | USDT_COMP |
| 427 | USDT_CORN |
| 492 | USDT_COVER |
| 433 | USDT_CREAM |
| 425 | USDT_CRT |
| 397 | USDT_CRV |
| 508 | USDT_CUDOS |
| 350 | USDT_CUSDT |
| 443 | USDT_CVP |
| 308 | USDT_DAI |
| 122 | USDT_DASH |
| 374 | USDT_DEC |
| 395 | USDT_DEXT |
| 262 | USDT_DGB |
| 441 | USDT_DHT |
| 389 | USDT_DIA |
| 409 | USDT_DMG |
| 216 | USDT_DOGE |
| 388 | USDT_DOS |
| 407 | USDT_DOT |
| 203 | USDT_EOS |
| 330 | USDT_EOSBEAR |
| 329 | USDT_EOSBULL |
| 500 | USDT_ESD |
| 173 | USDT_ETC |
| 149 | USDT_ETH |
| 300 | USDT_ETHBEAR |
| 301 | USDT_ETHBULL |
| 383 | USDT_EXE |
| 495 | USDT_FARM |
| 413 | USDT_FCT2 |
| 490 | USDT_FRONT |
| 429 | USDT_FSW |
| 524 | USDT_FTT |
| 430 | USDT_FUND |
| 318 | USDT_FXC |
| 385 | USDT_GEEQ |
| 444 | USDT_GHST |
| 483 | USDT_GLM |
| 261 | USDT_GRIN |
| 497 | USDT_GRT |
| 484 | USDT_HEGIC |
| 435 | USDT_HGET |
| 305 | USDT_IBVOL |
| 474 | USDT_INJ |
| 424 | USDT_JFI |
| 315 | USDT_JST |
| 480 | USDT_KP3R |
| 377 | USDT_KTON |
| 352 | USDT_LEND |
| 322 | USDT_LINK |
| 332 | USDT_LINKBEAR |
| 331 | USDT_LINKBULL |
| 526 | USDT_LPT |
| 505 | USDT_LON |
| 356 | USDT_LRC |
| 218 | USDT_LSK |
| 123 | USDT_LTC |
| 518 | USDT_LTCBEAR |
| 519 | USDT_LTCBULL |
| 231 | USDT_MANA |
| 296 | USDT_MATIC |
| 396 | USDT_MCB |
| 343 | USDT_MDT |
| 442 | USDT_MEME |
| 448 | USDT_MEXP |
| 303 | USDT_MKR |
| 481 | USDT_MPH |
| 367 | USDT_MTA |
| 310 | USDT_NEO |
| 488 | USDT_NU |
| 400 | USDT_OCEAN |
| 399 | USDT_OM |
| 501 | USDT_ONEINCH |
| 402 | USDT_OPT |
| 286 | USDT_PAX |
| 510 | USDT_PBTC35A |
| 421 | USDT_PEARL |
| 392 | USDT_PERX |
| 375 | USDT_PLT |
| 460 | USDT_POLS |
| 406 | USDT_PRQ |
| 223 | USDT_QTUM |
| 447 | USDT_RARI |
| 502 | USDT_REEF |
| 354 | USDT_REN |
| 446 | USDT_REPV2 |
| 456 | USDT_RFUEL |
| 378 | USDT_RING |
| 411 | USDT_RSR |
| 426 | USDT_SAL |
| 455 | USDT_SAND |
| 219 | USDT_SC |
| 479 | USDT_SENSO |
| 291 | USDT_SNX |
| 525 | USDT_SRM |
| 362 | USDT_STAKE |
| 321 | USDT_STEEM |
| 370 | USDT_STPT |
| 125 | USDT_STR |
| 434 | USDT_SUN |
| 415 | USDT_SUSHI |
| 380 | USDT_SWAP |
| 313 | USDT_SWFTC |
| 404 | USDT_SWINGBY |
| 428 | USDT_SWRV |
| 365 | USDT_SXP |
| 419 | USDT_TAI |
| 381 | USDT_TEND |
| 384 | USDT_TRADE |
| 393 | USDT_TRB |
| 507 | USDT_TRU |
| 265 | USDT_TRX |
| 282 | USDT_TRXBEAR |
| 283 | USDT_TRXBULL |
| 512 | USDT_TUSD |
| 376 | USDT_UMA |
| 440 | USDT_UNI |
| 287 | USDT_USDJ |
| 458 | USDT_VALUE |
| 534 | USDT_VSP |
| 487 | USDT_WBTC |
| 522 | USDT_WETH |
| 272 | USDT_WIN |
| 412 | USDT_WNXM |
| 360 | USDT_WRX |
| 349 | USDT_XFIL |
| 499 | USDT_XFLR |
| 520 | USDT_XLMBEAR |
| 521 | USDT_XLMBULL |
| 126 | USDT_XMR |
| 127 | USDT_XRP |
| 328 | USDT_XRPBEAR |
| 327 | USDT_XRPBULL |
| 278 | USDT_XTZ |
| 368 | USDT_YFI |
| 416 | USDT_YFII |
| 418 | USDT_YFL |
| 390 | USDT_ZAP |
| 180 | USDT_ZEC |
| 531 | USDT_ZKS |
| 485 | USDT_ZLOT |
| 220 | USDT_ZRX |
Changelog
Recent changes and additions to the Poloniex API.
2021-03-17 BDP Listing
Listing of Big Data Protocol ERC20 token (BDP), and the following market(s) USDT_BDP.
2021-02-22 BRG Listing
Listing of Bridge Oracle ERC20 token (BRG), and the following market(s) USDT_BRG, TRX_BRG.
2021-02-19 VSP Listing
Listing of Vesper Finance ERC20 token (VSP), and the following market(s) USDT_VSP, TRX_VSP.
2021-02-16 ZKS Listing
Listing of ZKSwap ERC20 token (ZKS), and the following market(s) USDT_ZKS.
2021-02-10 Swap Currencies API
Exposing swap currencies API.
2021-02-05 ALPHA Listing
Listing of Alpha Finance ERC20 token (ALPHA), and the following market(s) USDT_ALPHA.
2020-02-03 TUSD Market Listing
TrueUSD (TUSD) new market listing, the following market(s) added TUSD_BTC, TUSD_ETH.
2021-01-22 FTT, SRM Listing and new LPT market added
Listing of FTX ERC20 token (FTT), Serum ERC20 token (SRM), and the following market(s) USDT_FTT, USDT_SRM, USDT_LPT.
2021-01-21 TRU, WETH Listing
Listing of TrueFi ERC20 token (TRU), Wrapped Ethereum on Tron token (WETH), and the following market(s) BTC_TRU, USDT_TRU, USDT_WETH.
2021-01-20 ADABEAR, ADABULL, LTCBEAR, LTCBULL, XLMBEAR, XLMBULL Listing
Listing of Cardano, Litecoin, and Stellar 3x Long and Short leveraged tokens, and the following market(s) USDT_ADABEAR, USDT_ADABULL, USDT_LTCBEAR, USDT_LTCBULL, USDT_XLMBEAR, USDT_XLMBULL.
2021-01-19 TUSD Listing
Listing of TrueUSD ERC20 token (TUSD), and the following market(s) USDT_TUSD, USDC_TUSD, BTC_TUSD, ETH_TUSD.
2021-01-14 COMBO Listing
Listing of Furucombo ERC20 token (COMBO), and the following market(s) USDT_COMBO.
2021-01-13 BOND and PBTC35A Listing
Listing of BarnBridge ERC20 token (BOND), Poolin pBTC35A ERC20 token (PBTC35A), and the following market(s) USDT_BOND, USDT_PBTC35A.
2021-01-12 CUDOS Listing
Listing of Cudos ERC20 token (CUDOS), and the following market(s) USDT_CUDOS.
2021-01-06 LON Listing
Listing of Tokenlon ERC20 token (LON), and the following market(s) USDT_LON.
2020-12-30 WBTCTRON, BAC, BAS, and REEF Listing
Listing of WBTC on TRON TRC20 token (WBTCTRON), Basis Share ERC20 token (BAS), Basis Cash ERC20 token (BAC), Reef Finance ERC20 token (REEF), and the following market(s) USDT_BAS, USDT_BAC, USDT_REEF.
2020-12-24 ONEINCH Listing
Listing of 1INCH ERC20 token (ONEINCH), and the following market(s) USDT_ONEINCH.
2020-12-21 ESD and XFLR Listing
Listing of Empty Set Dollar ERC20 token (ESD), Spark [IOU] (XFLR), and the following market(s) USDT_ESD, USDT_XFLR.
2020-12-18 SUN Listing
Sun (SUN) new market listing, the following market added TRX_SUN.
2020-12-18 GRT Listing
Listing of The Graph ERC20 token (GRT), and the following market(s) USDT_GRT.
2020-12-17 DOT Listing
Polkadot (DOT) wallet enabled, and the following market added BTC_DOT.
2020-12-16 FARM Listing
Listing of Harvest Finance ERC20 token (FARM), and the following market(s) BTC_FARM, USDT_FARM.
2020-12-08 BADGER Listing
Listing of Badger DAO ERC20 token (BADGER), and the following market(s) USDT_BADGER.
2020-12-07 COVER Listing
Listing of Cover Protocol ERC20 token (COVER), and the following market(s) USDT_COVER.
2020-12-04 API3, FRONT Listing
Listing of API3 ERC20 token (API3), Frontier ERC20 token (FRONT), and the following market(s) USDT_API3, BTC_FRONT, USDT_FRONT.
2020-12-01 NU Listing
Listing of NuCypher ERC20 token (NU), and the following market(s) USDT_NU.
2020-11-30 GLM Listing, GNT Delisting
Listing of Golem Network Token ERC20 token (GLM), and the following market(s) BTC_GLM, USDT_GLM. Delisting of Golem Token (GNT), and the following market(s) BTC_GNT, USDT_GNT.
2020-11-25 WBTC Listing
Listing of Wrapped Bitcoin ERC20 token (WBTC), and the following market(s) BTC_WBTC, USDT_WBTC.
2020-11-24 ZLOT, HEGIC Listing
Listing of zLOT ERC20 token (ZLOT), Hegic ERC20 token (HEGIC), and the following market(s) USDT_ZLOT, USDT_HEGIC.
2020-11-23 MPH Listing
Listing of 88mph ERC20 token (MPH), and the following market(s) USDT_MPH.
2020-11-20 KP3R Listing
Listing of Keep3rV1 ERC20 token (KP3R), and the following market(s) USDT_KP3R.
2020-11-17 SENSO Listing
Listing of SENSO ERC20 token (SENSO), and the following market(s) BTC_SENSO, USDT_SENSO.
2020-11-15 BCH Listing, BCHABC, BCHN, TRUMPWIN, TRUMPLOSE Delisting
Listing of Bitcoin Cash (BCH), and the following market(s) BTC_BCH, USDT_BCH, USDC_BCH. Delisting of Trump Wins Token (TRUMPWIN), Trump Loses Token (TRUMPLOSE), Bitcoin cash (BCHABC), Bitcoin Cash Node PF (BCHN) and the following markets USDT_TRUMPWIN, USDT_TRUMPLOSE, BTC_BCHABC, USDT_BCHABC, USDC_BCHABC, BTC_BCHN, USDT_BCHN.
2020-11-11 STRAT Delisting
Delisting of Stratis (STRAT), and the following market(s) BTC_STRAT.
2020-11-05 returnOpenOrders output field added
Added clientOrderId to output field of returnOpenOrders.
2020-10-29 INJ Listing
Listing of Injective Protocol ERC20 token (INJ), and the following market(s) BTC_INJ, USDT_INJ.
2020-10-27 Added multiChain Currencies
Updated information on multiChain currencies and withdrawals. Added USDTETH (used for withdrawing USDT on ETH), USDTTRON (used for withdrawing USDT on TRON), and BTCTRON (used for withdrawing BTC on TRON) to the currency list.
2020-10-16 BID Listing
Listing of Bidao ERC20 token (BID), and the following market(s) BTC_BID, USDT_BID.
2020-10-09 BCHA, BCHN Listing
Listing of Bitcoin Cash ABC PF prefork (BCHA), Bitcoin Cash Node PF prefork (BCHN) and the following market(s) BTC_BCHA, USDT_BCHA, BTC_BCHN, USDT_BCHN.
2020-10-08 AAVE Listing
Listing of Aave ERC20 token (AAVE), and the following market(s) BTC_AAVE, USDT_AAVE.
2020-09-28 POLS Listing
Listing of Polkastarter ERC20 token (POLS), and the following market(s) USDT_POLS.
2020-09-29 BREE, VALUE Listing
Listing of CBDAO Coinbreeder DAO ERC20 token (BREE), Value Liquidity ERC20 token (VALUE) and the following market(s) USDT_BREE, USDT_VALUE.
2020-09-28 RFUEL Listing
Listing of Rio DeFi ERC20 token (RFUEL), and the following market(s) USDT_RFUEL.
2020-09-25 AMP Listing
Listing of AMP ERC20 token (AMP), and the following market(s) BTC_AMP, TRX_AMP, and USDT_AMP.
2020-09-25 SAND Listing
Listing of SAND ERC20 token (SAND), and the following market(s) USDT_SAND and BTC_SAND.
2020-09-23 REPV2, RARI, MEXP Listing
Listing of Augur ERC20 token (REPV2), Rarible ERC20 token (RARI), MOJI Experience Points ERC20 token (MEXP) and the following market(s) BTC_REPV2, USDT_REPV2, USDT_RARI, and USDT_MEXP.
2020-09-22 GHST CVP Listing
Listing of Aavegotchi ERC20 token (GHST), PowerPool Concentrated Vot Power ERC20 token (CVP) and the following market(s) USDT_GHST and USDT_CVP.
2020-09-21 MEME Listing
Listing of Meme ERC20 token (MEME), and the following market(s) USDT_MEME.
2020-09-18 DHT Listing
Listing of dHedge DAO ERC20 token (DHT), and the following market(s) USDT_DHT.
2020-09-17 UNI Listing
Listing of Uniswap ERC20 token (UNI), and the following market(s) USDT_UNI.
2020-09-16 ADEL AKRO Listing
Listing of Akropolis Delphi ERC20 token (ADEL), Akropolis ERC20 token (AKRO) and the following market(s) USDT_ADEL, BTC_AKRO and USDT_AKRO.
2020-09-15 M messages websocket-api
M messages added to show updates to margin positions.
2020-09-14 HGET Listing
Listing of Uniswap ERC20 token (HGET), and the following market(s) USDT_HGET and BTC_HGET.
2020-09-11 SUN Listing
Listing of SUN TRC20 token (SUN), and the following market(s) USDT_SUN.
2020-09-10 CREAM Listing
Listing of CREAM ERC20 token (CREAM), and the following market(s) USDT_CREAM.
2020-09-09 FUND, SWRV, FSW Listings
Listing of FUND (Unification), Swerve ERC20 token (SWRV), FalconSwap ERC20 token (FSW) and the following market(s) USDT_FUND, TRX_FUND, BTC_FUND, USDT_SWRV, USDT_FSW.
2020-09-04 PEARL, ANK, JFI, CRT, SAL, CORN Listings
Listing of Pearl Finance TRC20 token (PEARL), AlphaLink TRC20 token (ANK), JackPool.finance TRC20 token (JFI), Carrot Finance TRC20 token (CRT), Salmon TRC20 token (SAL), Corn TRC20 token (CORN), and the following market(s) USDT_PEARL, TRX_PEARL, USDT_ANK, USDT_JFI, USDT_CRT, USDT_SAL, USDT_CORN.
2020-09-02 YFV, YFL, TAI Listings
Listing of YFValue ERC20 token (YFV), SYF Link ERC20 token (YFL), tBridge TRC20 token (TAI), and the following market(s) USDT_YFV, USDT_YFL, USDT_TAI, TRX_TAI.
2020-09-01 FCT2, SUSHI, YFII Listings
Listing of Firmachain ERC20 token (FCT2), SushiSwap ERC20 token (SUSHI), DFI.money ERC20 token (YFII), and the following market(s) USDT_FCT2, BTC_FCT2, USDT_SUSHI, USDT_YFII.
2020-08-26 RSR and WNXM Listing
Listing of Reserve Rights ERC20 token, Wrapped NXM ERC20 token (WNXM) and the following market(s) USDT_RSR, USDT_WNXM.
2020-08-25 DMG Listing
Listing of DMM: Governance ERC20 token (DMG) and the following market(s) USDT_DMG, BTC_DMG, TRX_DMG.
2020-08-21 OPT, SWINGBY, and PRQ Listings
Listing of OpenPredict ERC20 token (OPT), Swingby BEP-2 token (SWINGBY), PARSIQ ERC20 token (PRQ) and the following market(s) USDT_OPT, USDT_SWINGBY, BTC_SWINGBY, TRX_SWINGBY, USDT_PRQ.
2020-08-18 BLY Listing
Listing of Blocery ERC20 token (BLY) and the following market(s) USDT_BLY.
2020-08-18 OCEAN Listing
Listing of Ocean Protocol ERC20 token (OCEAN) and the following market(s) USDT_OCEAN.
2020-08-17 OM Listing
Listing of Mantra DAO ERC20 token (OM) and the following market(s) USDT_OM.
2020-08-13 DOT, DEXT, MCB, and CRV Listings
Listing of Polkadot [IOU] (DOT), DexTools ERC20 token (DEXT), MCDex ERC20 token (MCB), Curve Finance ERC20 token (CRV) and the following market(s) USDT_DOT, USDT_DEXT, USDT_MCB, USDT_CRV.
2020-08-12 SBREE, PERX, and TRB Listings
Listing of Coinbreeder DAO (SBREE), PeerEx Network (PERX), and Tellor (TRB) and the following markets USDT_SBREE, USDT_PERX, and USDT_TRB.
2020-08-11 DOS, DIA, ZAP Listings
Listing of DOS Network (DOS), DIA (DIA), and Zap (ZAP) and the following markets USDT_DOS, USDT_DIA, and USDT_ZAP.
2020-08-10 BAND Listing
Listing of Band Protocol (BAND) and the following market USDT_BAND.
2020-08-06 GEEQ Listing
Listing of Geeq (GEEQ) and the following market USDT_GEEQ.
2020-08-05 transferBalance update
Added support to transfer funds from/to your futures account.
2020-08-02 TRADE and EXE Listings
Listing of UniTrade (TRADE) and 8X8 Protocol (EXE) and the following markets USDT_TRADE, BTC_EXE, USDT_EXE.
2020-08-02 TEND Listing
Listing of Tendies (TEND) and the following market USDT_TEND.
2020-08-01 SWAP Listings
Listing of Trustswap (SWAP) and the following markets BTC_SWAP and USDT_SWAP.
2020-07-31 KTON and RING Listings
Listing of Darwinia Commitment Token (KTON) and Darwinia Network Native Token (RING) and the following markets USDT_KTON and USDT_RING.
2020-07-30 UMA Listing
Listing of UMA (UMA) and the following market USDT_UMA.
2020-07-27 PLT Listing
Listing of PlutusDefi (PLT) and the following market USDT_PLT.
2020-07-26 DEC Listing
Listing of Decentr (DEC) and the following market USDT_DEC.
2020-07-24 TRUMPWIN and TRUMPLOSE Listings
Listing of Trump Wins Token (TRUMPWIN) and Trump Loses Token (TRUMPLOSE) and the following markets USDT_TRUMPWIN and USDT_TRUMPLOSE.
2020-07-22 STPT Listings
Listing of Standard Tokenization Protocol (STPT) and the following markets BTC_STPT, USDT_STPT, and TRX_STPT.
2020-07-21 YFI Listing
Listing of yearn.finance (YFI) and the following market USDT_YFI.
2020-07-18 MTA Listing
Listing of Meta (MTA) and the following market USDT_MTA.
2020-07-17 SXP Listings
Listing of Swipe (SXP) and the following markets BTC_SXP, USDT_SXP, and TRX_SXP.
2020-07-13 BZRX Listing
Listing of bZx Protocol Token (BZRX) and the following market USDT_BZRX.
2020-07-09 STAKE Listing
Listing of xDAI Stake (STAKE) and the following market USDT_STAKE.
2020-06-30 Withdraw API changes
Added output fields to the withdraw API command to make it easier to reference later.
2020-06-25 WRX Listings
Listing of WazirX (WRX) and the following markets BTC_WRX, USDT_WRX, and TRX_WRX.
2020-06-24 LEND, REN, LRC, and BAL Listings
Listing of Aave (Lend), Ren (REN), Loopring (LRC), and Balancer (BAL) tokens and the following markets BTC_LEND, USDT_LEND, BTC_REN, USDT_REN, BTC_LRC, USDT_LRC, USDT_BAL, and ETH_BAL.
2020-06-19 Delisting Markets for BTC_GRIN, ETH_REP and USDT_NXT
Delisted the following markets BTC_GRIN, ETH_REP and USDT_NXT.
2020-06-19 XFIL and CUSDT Listings
Listing of Filecoin IOU pre-mainnet trading (XFIL) and Compound USDT (CUSDT) and the following markets BTC_XFIL, USDT_XFIL, and USDT_CUSDT.
2020-06-17 COMP Listings
Listing of Compound Governance Token (COMP) and the following markets USDT_COMP and ETH_COMP.
2020-06-12 BCHC Listing
Listing of BitCherry (BCHC) and the following market USDT_BCHC.
2020-06-10 Token Fee API changes
Added output fields to the buy and sell API commands to support fee payments using tokens.
2020-06-05 BNB, BUSD, MDT Listings
Listing of Binance Coin (BNB), Binance USD (BUSD), and Measurable Data Token (MDT) and the following markets BNB_BTC, USDT_BNB, USDT_BUSD, TRX_BNB, BUSD_BNB, BUSD_BTC, BTC_MDT, USDT_MDT, and TRX_MDT.
2020-05-22 CHR Listings
Listing of Chromia (CHR) and the following markets BTC_CHR, USDT_CHR, and TRX_CHR.
2020-05-20 Delisting Markets for BTC_BCN ad BTC_BTT
Delisted the following markets BTC_BCN and BTC_BTT.
2020-05-15 EOSBEAR, EOSBULL, LINKBEAR, LINKBULL, XRPBEAR, XRPBULL Listings
Listing of EOS, Chainlink, and Ripple 3x Long and Short leveraged tokens (EOSBEAR, EOSBULL, LINKBEAR, LINKBULL, XRPBEAR, XRPBULL) and the following markets USDT_EOSBEAR, USDT_EOSBULL, USDT_LINKBEAR, USDT_LINKBULL, USDT_XRPBEAR, and USDT_XRPBULL.
2020-05-12 AVA Listings
Listing of Travala.com (AVA) token and the following markets BTC_AVA, USDT_AVA, and TRX_AVA.
2020-05-08 New Markets for BCN, STEEM, LINK, BTT
Added the following markets USDT_BCN, USDT_STEEM, USDT_LINK, and USDJ_BTT.
2020-05-08 FXC Listings
Listing of Flexacoin (FXC) and the following markets BTC_FXC, USDT_FXC, and TRX_FXC.
2020-05-07 JST Listings
Listing of Just (JST) and the following markets USDT_JST and TRX_JST.
2020-05-05 SWFTC Listings
Listing of SwftCoin (SWFTC) and the following markets BTC_SWFTC, USDT_SWFTC, and TRX_SWFTC.
2020-05-01 NEO Listings
Listing of Neo (NEO) and the following markets BTC_NEO, USDT_NEO, and TRX_NEO.
2020-04-29 DAI Listings
Listing of Dai stablecoin (DAI) and the following markets DAI_BTC, DAI_ETH, and USDT_DAI.
2020-04-23 BVOL and IBVOL Listings
Listing of Bitcoin Volatility and Inverse Bitcoin Volatility tokens (BVOL, IBVOL) and the following markets USDT_BVOL and USDT_IBVOL.
2020-04-17 MKR Listing
Listing of Maker token (MKR) and the following markets BTC_MKR and USDT_MKR.
2020-04-14 BCHBEAR, BCHBULL, ETHBEAR, ETHBULL Listings
Listing of 3x Long and Short leveraged tokens (BCHBEAR, BCHBULL, ETHBEAR, ETHBULL) and the following markets USDT_BCHBEAR, USDT_BCHBULL, USDT_ETHBEAR, and USDT_ETHBULL.
2020-04-10 MATIC Listing
Listing of Matic Network token (MATIC) and the following markets BTC_MATIC, USDT_MATIC, and TRX_MATIC.
2020-04-09 BSVBEAR and BSVBULL Listings
Listing of 3x Long and Short Bitcoin SV leveraged tokens (BSVBEAR and BSVBULL) and the following markets USDT_BSVBEAR and USDT_BSVBULL.
2020-04-02 SNX Listing
Listing of Synthetix Network Token (SNX) and the following markets BTC_SNX, USDT_SNX, and TRX_SNX.
2020-03-31 PAX and USDJ Listings
Listing of Paxos Standard (PAX) and USDJ (USDJ) tokens and the following markets USDJ_TRX, USDJ_BTC, USDT_USDJ, USDT_PAX, PAX_ETH, and PAX_BTC.
2020-03-26 BULL, BEAR, TRXBULL, TRXBEAR Listings
Listing of 3x Long and Short leveraged tokens (BULL, BEAR, TRXBULL, TRXBEAR) and the following markets USDT_BULL, USDT_BEAR, USDT_TRXBULL, and USDT_TRXBEAR.
2020-03-24 XTZ Listing
Listing of Tezos (XTZ) and the following markets BTC_XTZ, USDT_XTZ, and TRX_XTZ.
2020-03-12 LINK Listing
Listing of Chainlink Token (LINK) and the following markets BTC_LINK and TRX_LINK.
2020-03-05 STEEM Listing
Listing of STEEM Token (STEEM) and the following markets BTC_STEEM and TRX_STEEM.
2020-02-13 WIN Listing
Listing of WINk Token (WIN) and the following markets USDT_WIN and TRX_WIN.
2020-02-06 BTT Listing
Listing of BitTorrent Token (BTT) and the following markets BTC_BTT, USDT_BTT and TRX_BTT.
2020-01-22 Clarifications to returnOpenOrders doc
2020-01-16 ETHBNT Listing
Listing of Bancor ETH Smart Token Relay (ETHBNT) and the following market BTC_ETHBNT.
2019-12-30 Currency delistings
Delisting DigiByte (DGB), Factom (FCT), MaidSafeCoin (MAID), Omni (OMNI), Primecoin (XPM), Vertcoin (VTC) and Viacoin (VIA)
2019-11-19 Cancel order by clientOrderId
This change allows users to cancel both pending and open orders by clientOrderId.
2019-11-12 TRX Listing
Listing of Tron (TRX) and the following markets BTC_TRX, USDC_TRX and USDT_TRX.
2019-10-15 Currency delistings
Delisting Pascal (PASC), Steem (STEEM), Navcoin (NAV), GameCredits (GAME), LBRY Credits (LBC), and Clams (CLAM).
2019-08-20 Updates to clientOrderId documentation
Fixed newly introduced grammar issues for clientOrderID docs
2019-08-16 XMR base delisting
XMR as a base was delisted, along with other pairs. See tweet for details - https://twitter.com/Poloniex/status/1162061407858417664
2019-08-06 "k" and "p" account notifications
Introducing "k" (killed) and "p" (pending order) channel 1000 websocket account notifications
2019-07-29 Updates to clientOrderId documentation
State clientOrderId is 64 bit integer, and when live, must be unique per account
2019-07-24 Add clientOrderId to private http methods and websocket messages
Some endpoints now support using a client specified integer identifier which will be returned in http responses and "o", "t", "n" websocket messages.
2019-07-12 Newly listed USDC/T market IDs
Add recently listed market IDs to currency pair IDs list
2019-06-26 Add currencyToWithdrawAs to withdraw
Include the currencyToWithdrawAs parameter to the withdrawal API call (used to withdraw USDTTRON).
2019-06-13 Add adjustments to returnDepositWithdrawals
Include special adjustments (e.g. Stellar inflation credits) as part of the returnDepositWithdrawals response.
2019-06-12 Update returnTradeHistory response to reflect new max
The max number of trades that can be fetched in a single call has been reduced to 1,000.
2019-06-12 Additional fields to channel 1000 o message
Channel 1000 o message has been appended to include the orderType field at the end of the response.
2019-06-04 cancelAllOrders trading method added
This new API method allows users to cancel all open orders or all open orders by currencyPair.
2019-05-09 Additional fields to channel 1000 t message
Channel 1000 t message has been appended to include the total fee and date at the end of the response respectively.
2019-05-08 Additional fields to buy and sell response
The buy and sell response will now include currencyPair and fee multiplier.
2019-04-04 Additional fields to returnDepositsWithdrawals response.
Document inclusion of new depositNumber field for deposits and paymentID field for withdrawals in returnDepositsWithdrawals response.
2019-03-29 TLS 1.2 or greater required.
As of April 15, 2019, TLS version 1.2 or greater is required.
2019-03-28 Add minimize latency instructions.
Instructions on how to minimize latency have been added to the Getting Started section.
2019-03-22 Margin parameters clarified.
In both "marginBuy" and "marginSell", the "rate" parameter definition has been fixed. Additionally, the optional "lendingRate" parameter has been defined and a note was added about the default value and minimum setting.
2018-12-27 API documentation overhaul
Refreshed look & feel and adds example code via the shell.
2018-09-25 Order status trading method added
Returns the status of a given order.
2018-09-16 Account notification channel added
The account notifications channel provides real-time updates of trade and balance changes on your account.