0.2.0 • Published 6 years ago

kraken-api-wrapper v0.2.0

Weekly downloads
26
License
MIT
Repository
github
Last release
6 years ago

Kraken API Wrapper for Node.js

Lightweight, no external dependencies, callback/promise based wrapper for Kraken exchange platform.

Installing / Getting started

npm i kraken-api-wrapper --save

How to use

const kraken = require('kraken-api-wrapper')() // create wrapper for API 

OR

const kraken = require('kraken-api-wrapper')('public API key', 'API sign key') // create wrapper for API 

In first example you have access ONLY to public methods, in second you can use both public and private methods.

Module API Reference

To know more about Kraken API you can on the official API reference.

  • Module methods:

    • kraken.setPublicKey('new public API key') - change public API key
    • kraken.setSecreteKey('new sign API key') - change API sign key
    • kraken.setOtp('new two factor password') - change/set two-factor auth password
    • kraken.setRequestTime(new timeout) - change request timeout in ms notation (default: 10000)
    • kraken.setApiVersion(new API version) - change API version, (default: 0)

Methods names are similar to methods in API reference.

Providing cb function you will have default node callback based api, if not - promise based. If you don't need to provide any parameters to request, you can set callback function instead of params or call without arguments to have a promise.

IMPORTANT

Private user funding is a tentative API and may be updated in the future. If smth is broken inside this part read API documentation. If changes touch API methods please open issue on github

Examples

Regular usage only public methods:

const kraken = require('kraken-api-wrapper')();

// Get XZECZUSD tradable asset pair
kraken.AssetPairs({ pair: 'XZECZUSD' }, (err, res) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log(res);
});

// Same as previous but based on promise 
kraken.AssetPairs({ pair: 'XZECZUSD' })
  .then(result => console.log(result))
  .catch(err => console.error(err));

Using methods without additional parameters:

const kraken = require('kraken-api-wrapper')();

// Get all tradable asset pairs
kraken.AssetPairs((err, res) => {
  if (err) {
    console.error(err);
    return;
  }
  
  console.log(res);
});

kraken.AssetPairs()
  .then(result => console.log(result))
  .catch(err => console.error(err));

Private methods:

const kraken = require('kraken-api-wrapper')('publicKey', 'signKey');

// Get asset names and balance amount
kraken.Balance((err, res) => {
  if (err) {
    console.error(err);
    return;
  }

  console.log(res);
});

// Get tradable balances 
kraken.TradeBalance({ asset: 'ZUSD' })
  .then(result => console.log(result))
  .catch(err => console.error(err));

Use your own nonce generation method. By default it uses current time stamp.

const kraken = require('kraken-api-wrapper')();

kraken.AssetPairs({ 
  pair: 'XZECZUSD' ,
  nonce: getAlwaysEncreasingCounter() // generator of always increasing counter
})
  .then(result => console.log(result))
  .catch(err => console.error(err));

Set keys for using private methods

const kraken = require('kraken-api-wrapper')();

// Set keys for private API
kraken.setPublicKey('publicKey');
kraken.setSecreteKey('signKey');

// Change request timeout to 5 sec
kraken.setRequestTime(5000)

// Get tradable balances 
kraken.Balance()
  .then(result => console.log(result))
  .catch(err => console.error(err));

TODO

  • Write tests
0.2.0

6 years ago

0.1.1

7 years ago

0.1.0

7 years ago