Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

bitcoinaverage

1.4.2 • Public • Published

This library enables quick and easy access to our Bitcoin, Ethereum, Litecoin, Ripple and other cryptocurrency exchange rates.

Install

npm install bitcoinaverage

Setup

Get your public and private keys from our website and you are ready to run these examples.

const ba = require('bitcoinaverage');
 
var publicKey = 'yourPublicKey';
var secretKey = 'yourSecretKey';
 
var restClient = ba.restfulClient(publicKey, secretKey);
var wsClient = ba.websocketClient(publicKey, secretKey);

Ticker Data

The response received by https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD.

The symbol_set can be one of: local, global, crypto and tokens.

The symbol can be any pair from our Full symbol list

var symbol_set = 'global';
var symbol = 'BTCUSD';
 
restClient.getTickerDataPerSymbol('global', 'BTCUSD', function(response) {
    console.log(response);
}, function(error){
    console.log(error);
}) ;

Exchange Data

All price data from single exchange

restClient.perExchangeData('bitstamp',
    function(response){
        console.log(response);
    },
    function(err){
        console.log(err);
    });

Data from all exchanges for one symbol

restClient.allExchangeDataForSymbol('BTCGBP',
    function(response){
        console.log(response);
    },
    function(err){
        console.log(err);
    });

Websocket

Connect to one of our websocket endpoints and get real-time updates for the Bitcoin Global Price Index.

Ticker websocket

wsClient.connectToTickerWebsocket('global', 'BTCUSD', function(response) {
    console.log(response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Websocket V2

Enterprise users can access our new and improved version 2 of our Websocket API. It provides faster updates and supports multiple symbols in a single connection.

Ticker websocket V2

wsClient.connectToTickerWebsocketV2('tokens', ['OMGETH', 'EOSBTC'], function(response) {
    console.log(response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Orderbook websocket

var symbols = ['BTCUSD', 'ETHUSD'];
var exchange = 'bitfinex';
var ORDERBOOKS = {
    BTCUSD: {},
    ETHUSD: {}
};
var symbol = '';
ws.connectToOrderbookWebsocket(exchange, symbols, function(response){
    symbol = respnose.data.symbol;
    if(response.data.type === "snapshot"){
        ORDERBOOKS[symbol].asks = response.data.asks;
        ORDERBOOKS[symbol].bids = response.data.bids;
     }else{
       console.log(response.data.updates);
       for (var i = 0; i < response.data.updates.length; i++){
          var item = response.data.updates[i];
         if(item.amount === 0){
            delete(ORDERBOOKS[symbol][item.side][item.price]);
         }else{
           ORDERBOOKS[symbol][item.side][item.price] = item;
         }
       }
     }
}, function(err){
console.log(err);
});

Websockets V3

The latest version of our websocket module is available via our Grow and Dominate plans as well as the legacy Enterprise users.

Our version 3 builds on top of version 2 with added improvements in reliability, speed and flexibility.

Ticker websocket V3

wsClient.connectToTickerWebsocketV3('global', ['BTCUSD', 'BTCEUR', 'BTCGBP'], function(response) {
    console.log("Success", response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Exchange websocket V3

Version 3 of our exchange websocket channel allows you to subscribe only to the symbols you need from a particular exchange.

wsClient.connectToOrderbookWebsocketV3('coinbasepro', ['BTCUSD', 'LTCEUR', 'ETHBTC'], function(response) {
    console.log("Success", response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Orderbook websocket V3

Subscribe to live orderbook updates from multiple symbols from single exchange.

Supported exchanges are: Coinbasepro, Bitstamp, Bitfinex, Binance, Bittrex and Kraken.

wsClient.connectToOrderbookWebsocketV3('coinbasepro', ['BTCUSD', 'LTCEUR', 'ETHBTC'], function(response) {
    console.log("Success", response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Trades websocket v3

Subscribe to live trades updates from multiple symbols from single exchange.

Supported exchanges are: Coinbasepro, Bitstamp, Bitfinex, Binance, Bittrex and Kraken.

wsClient.connectToTradesWebsocketV3('coinbasepro', ['BTCUSD', 'LTCEUR', 'ETHBTC'], function(response) {
    console.log("Success", response);
}, function(error){
    console.log(error)
}, function(){
    console.log("websocket closed");
});

Install

npm i bitcoinaverage

DownloadsWeekly Downloads

167

Version

1.4.2

License

MIT

Unpacked Size

48 kB

Total Files

7

Last publish

Collaborators

  • avatar