Skip to content

Javascript API for IDEX, lightning fast and easy to use. ⚡

License

Notifications You must be signed in to change notification settings

jaggedsoft/node-idex-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Version GitHub last commit npm downloads

NPM

Installation

npm install node-idex-api

This project is designed to help you make your own projects that interact with the IDEX API in node.js.

Getting Started

( async () => {
    const idex = require( "node-idex-api" );
    await idex.init(); // Required

    // Load credentials from json: (apiKey and privateKey)
    let address = idex.auth( 'options.json' );
    // Or manually: await idex.auth( apiKey, privateKey );

    console.info( `ETH Address: ${address}` );
    console.log( await idex.balances() );
} )();

Examples

// Get ticker
console.log( await idex.ticker() );

// Get 24h volume/price change statistics
console.log( await idex.return24Volume() );

// List all currencies
console.log( await idex.currencies() );

// Get your balances
console.log( await idex.balances() );

// Get someone else's balance
console.log( await idex.balances('0x7daf74408598eca4adf81445d21bcb3e2899f6f7') );

// Get spread
console.log( await idex.spread('QNT') );

// Get order book
console.log( await idex.orderBook('IDEX') );

// Cancel all orders
console.log( await idex.cancelAll() );

// Cancel just buy or sell orders
console.log( await idex.cancelAll('sell') );

// Limit buy
console.log( await idex.buy(symbol, amount, price) );

// Limit sell
console.log( await idex.sell(symbol, amount, price) );

// Fill an order
console.log( await idex.trade(orderHash, amount, decimals) );

// Cancel individual orderHash
console.log( await idex.cancel(orderHash) );

// Withdraw
console.log( await idex.withdraw(symbol, amount) );

Example: Get Top 10 highest volume symbols

let ticker = await idex.returnTicker(); //last high low lowestAsk highestBid percentChange baseVolume quoteVolume
let sorted = idex.obj_to_array(ticker).sort(function(a, b) {
    return b.baseVolume - a.baseVolume;
});
console.log(sorted.slice(0, 10));
returnTicker(symbol)
returnOpenOrders(address)
returnOrderBook(symbol)
returnOrderStatus(orderHash)
returnTradeHistory()
returnCurrencies()
returnBalances()
returnCompleteBalances()
returnDepositsWithdrawals()
returnOrderTrades()
returnNextNonce()
returnContractAddress()

Troubleshooting

Automatically 'throw' errors to reveal more information:

process.on( 'unhandledRejection', up => { throw up } );

Views jaggedsoft on Twitter