This project is still in very early development and some major functionality is probably missing. All documented endpoints and objects should be usable though.
If you like to contribute feel free to contact author of this repo or push Pull Request with changes.
Please install this package using npm
kraken-exchange-node-api
npm install kraken-exchange-node-apiThis library was written in ES2015 code. We highly recommenda any version of Node.js greater than 7.
API Clients provide simple way to use Kraken API directly without need to use Classes that we provided.
Kraken Exchange provide set of endpoints that don't require authentication
to get basic information about Market. See Public market data section at Kraken Docs
To access Private API from Kraken you need to request ApiKey and ApiSecret from your Account Settings in Kraken Dashboard.
Every Class we created provide both Promise and callback interface.
Kraken.Time.getUnixTime(/** optional **/ callback) - Arguments:
callback(optional)
- Returns:
Promise- Resolved Value Type:
integer
- Resolved Value Type:
Kraken.Time.getTimeInRfc1123(/** optional **/ callback) Returns RFC1123 compilant timestamp string.
- Arguments:
callback(optional)
- Returns:
Promise- Resolved Value Type:
string
- Resolved Value Type:
const Kraken = require('kraken-exchange-node-api')
const time = new Kraken.Time()
// Promise Based
time
.getUnixTime()
.then((unixTimeStamp) => {
console.log(unixTimeStamp)
})
// Callback Based
time
.getUnixTime((unixTimeStamp) => {
console.log(unixTimeStamp)
})Kraken.Assets.getAsset(assets, /** optional **/ callback) Returns specified assets information.
- Arguments:
assets(required) - Array of assets i.e['XBT', 'ETH']callback(optional)
- Returns:
Promise- Resolved Value Type:
Arrayof Assets
- Resolved Value Type:
Kraken.Assets.getSingleAsset(asset, /** optional **/ callback) Returns single specific asset information.
- Arguments:
asset(required) - Asset identifier i.e.XBTcallback(optional)
- Returns:
Promise- Resolved Value Type:
Objectof Asset
- Resolved Value Type:
Kraken.Assets.getAllAssets(/** optional **/ callback) Returns information about all assets
- Arguments:
callback(optional)
- Returns:
Promise- Resolved Value Type:
Arrayof Assets
- Resolved Value Type:
Kraken.AssetPairs.getAssetPairs(assetPairs, /** optional **/ callback) Returns information about specified asset pairs
- Arguments:
assetPairs(required) - Array of asset pairs i.e[XBTEUR', 'XBTUSD']callback(optional)
- Returns:
Promise- Resolved Value Type:
Arrayof Assets Pairs
- Resolved Value Type:
Kraken.AssetPairs.getSingleAssetPair(assetPair, /** optional **/ callback) Returns single specific asset pair information.
- Arguments:
assetPair(required) - Asset pair identifier i.e.XBTEURcallback(optional)
- Returns:
Promise- Resolved Value Type:
Objectof Asset Pair
- Resolved Value Type:
Kraken.AssetPairs.getAllAssetPairs(/** optional **/ callback) Returns information about all asset pairs
- Arguments:
callback(optional)
- Returns:
Promise- Resolved Value Type:
Arrayof Asset Pairs
- Resolved Value Type:
Provides interface to retrieve Ticker information about given Asset Pairs.
const ticker = new Kraken.Ticker()
const parts = Kraken.TickerParts
ticker.getSinglePairTicker('XBTEUR')
.then((ticker) => {
const [volumeWeightedAveragePriceLast24h, volumeLast24h] = ticker.getParts([parts.VolumeWeightedAveragePriceLast24h, parts.VolumeLast24h])
const spread = ticker.getAskPrice() - ticker.getBidPrice()
console.log(ticker.getPairName(), spread, volumeWeightedAveragePriceLast24h, volumeLast24h)
})Kraken.Ticker.getPairsTickers(assetPairs, /** optional **/ callback) Returns ticker information about specified asset pairs
- Arguments:
assetPairs(required) - Array of asset pairs i.e[XBTEUR', 'XBTUSD']callback(optional)
- Returns:
Promise- Resolved Value Type:
ArrayofTickerInfoObjects for selected Pairs
- Resolved Value Type:
Kraken.Ticker.getSinglePairTicker(assetPair, /** optional **/ callback) Returns ticker info of single specific asset pair
- Arguments:
assetPair(required) - Asset pair identifier i.e.XBTEURcallback(optional)
- Returns:
Promise- Resolved Value Type:
TickerInfoObject
- Resolved Value Type:
Class that encapsulate data for single Ticker. It's useful for retrieving specific information about Ticker in easy & readable way.
TickerInfo.getAskPrice() Returns Ask Price of Ticker i.e 2487.55089
- Returns:
float
TickerInfo.getBidPrice() Returns Bid Price of Ticker i.e. 2487.55089
- Returns:
float
TickerInfo.getBidPrice() Returns pair name of Ticker object i.e. XXBTZEUR
- Returns:
string
TickerInfo.getPart(/** required **/ part)Returns selected part of ticker. Keep in mind that floats values (i.e. prices) won't be casted to float type.
- Arguments:
part(required) - Array of ticker parts (see.TickerParts)
- Returns:
string|int
TickerInfo.getParts(/** required **/ partsArray) Returns selected parts of ticker. Order is being kept as in input params
- Arguments:
partsArray(required) - Array of ticker parts (see.TickerParts)
- Returns:
Arraywith values of selected Ticker parts
TickerInfo.getRawData() Returns raw response from Kraken API in form of Object
- Returns:
Object
Provides parts available in TickerInfo that are provided by Kraken API.
Following parts are supported:
- AskPrice
- AskWholeLotVolume
- AskLotVolume
- BidPrice
- BidWholeLotVolume
- BidLotVolume
- ClosePrice
- CloseLotVolume
- VolumeToday
- VolumeLast24h
- VolumeWeightedAveragePriceToday
- VolumeWeightedAveragePriceLast24h
- TradesToday
- TradesLast24h
- LowPriceToday
- LowPriceLast24h
- HighPriceToday
- HighPriceLast24h
- OpenPrice