coinex.com
API Interface for coinex.com Bitcoin Cash exchange.
This module fully implements tha Coinex API. The
full documentation for the API is available on the
API Wiki Page.
It is written in Coffescript V2 using native Promises and
its only dependencies are request
and its wrapper,
request-promise-native.
You do not need Coffeescript to use the library; it is pre-compiled to
Javascript ES6.
Install
npm install coinex.com
Get your API key and secret key from here.
Example
Coinex = require('coinex.com');
const API_KEY = 'F42F1492623D47EE861B7150E335AA89';
const SECRET = '8B678410AF2D46ABB70910D08E4DEAE114F014971E3A4759'
const coinex = new Coinex(API_KEY, SECRET);
coinex.balance()
.then(response => console.log(response));
.catch(err => console.error(err.code, err.message);
Constructor
const coinex = new Coinex(API_KEY, SECRET);
Methods
All the following methods return native Promises which are resolved
on a valid response or rejected on error. Each method returns a
single result object to the .then()
.
For each method, please see the API documentation. Below
I have simply documented the call; the response will generally
be the data
part of the response as documented by Coinex.
If internally Coinex returns an error code of greater than zero,
the promise will be rejected with a CoinexError.
The returned result will have floating point numbers for values
rather than the string number values returned by the API. Where a
pair
is refered to below, it is the market, for example BTCBCH
.
Market API
List Pairs
Returns a list of the available pairs.
coinex.list()
Get Market Data
Get the ticker information for a single pair.
coinex.ticker(pair)
Get All Ticker Data
Get the ticker information for all pairs.
coinex.tickerAll()
Get Market Depth
Get the buy / sell statistics. This will return up to 100
lines and the decimal places can be set between zero and
eight.
coinex.depth(pair, [limit], [decimal-places]);
If not passed, limit
is set to 100 and decimal-places is set to
eight.
Transaction Data
Get the latest transaction data. This will return up to 1,000
lines of data.
coinex.transactions(pair, [lastID]);
K-Line Data
Get the k-line data for a specific period, including the last
1,000 data points.
coinex.kline(pair, [type]);
Type can be one of 1min
, 3min
, 5min
, 15min
, 30min
,
1hour
, 2hour
, 4hour
,6hour
,12hour
, 1day
, 3day
, 1week
.
Type defaults to 1hour
if not passed.
Account API
Get account balance
Returns the balance of each currency currently on the account.
coinex.balance()
Trading API
Place Limit Order
Places a new order.
coinex.placeLimitOrder(pair, type, amount, price, [sourceID]);
Type must be buy
or sell
. SourceID is uptional and will be returned
in the response, if provided.
Place Market Order
Places a new market order.
coinex.placeMarketOrder(pair, type, amount);
Cancel Order
Cancels an existing order
coinex.cancelOrder(pair, id);
List Pending Orders
This will return a list of orders that have not been filled
nor cancelled.
coinex.pending(pair, [page], [limit]);
Page defaults to one and limit defaults to 100. Using the result,
it is possibe to page through many transactions.
List Completed Orders
This will return a list of closed orders. Note that fully cancelled
orders will not appear here.
coinex.completed(pair, [page], [limit]);
Order Status
This returns the status of a single order.
coinex.orderStatus(pair, id);
Deal History
This returns the history of the user's deals for the given pair.
coinex.history(pair, [page], [limit]);
Error Messages
API errors are returned as a code and a description. In this library
they are returned as a class CoinexError
. These will work like
normal nodejs errors but should usually be caught with a .catch(err)
statement. For example:
coinex.cancelOrder('BTCBCH', 3242404);
.then(data => console.log(data));
.catch(err => console.error(err.code, err.message);
Issues
Please report any bugs or make any suggestions at the
Github Issue page.