Skip to content

CryptoMarketMonitor/BroadcastServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Market Monitor

The goal of the Crypto Market Monitor Project is to make market data more accessible. One challenge to anyone wishing to do anything with bitcoin market data (and any other cryptocurrency data), is the variety of markets. Each has their own api and data format. The Market Monitor project makes it easy to get data from many exchanges from one source in a standardized format. We are planning on adding support for additional exchanges, and additional currency pairs in the near future.

Disclaimer: This software and its associated data is provided as is, with no guarantee of validity or accuracy.

BroadcastServer

Broadcasts cryptocurrency market data.

[NPM module] (https://www.npmjs.org/package/market-monitor)

For example usage, see [btc.marketmonitor.io] (http://btc.marketmonitor.io)

If there is any data you'd like to see added or any comments or critiques of our current data streams, please open an issue. We are always looking for feedback and any improvements we can make.

Url: http://api.marketmonitor.io:80

Getting Started

Install Socket.io:

// using npm
npm install socket.io-client --save

// using bower
bower install socket.io-client --save

// or load from cdn
<script src="https://cdn.socket.io/socket.io-1.0.6.js"></script>

Then connect to a channel:

 var trade = io('http://api.marketmonitor.io:80/BTC/USD/trades');
 trade.on('trade', function(trade) {
   console.log('Trade:', trade);
 });

Socket.io Channels

Trades

Emits a trade event whenever a trade occurs and passes the associated trade data.
/BTC/USD/trades
Event: 'trade'
Data Format:

{
  exchange: String,
  date: Date,
  price: Number,
  amount: Number,
  currency: 'BTC',
  tCurrency: 'USD',
  exchangeTradeID: String
}

Market Summary Statistics

Emits an object containing market summary statistics.
/BTC/USD/summary
Event: 'update'
Data Format:

{
  vwap: Number,
  volume: Number,
  high: Number,
  low: Number,
  variance: Number,
  standardDeviation: Number,
  coefficientOfVariation: Number,
  range: Number,
  numTrades: Number
}

Price Over Time Chart Data

Emits an array of datapoints useful for making price over time charts.
/BTC/USD/priceCharts/:timeframe
Where timeframe is the timeframe of each datapoint. Options:
oneMinute
fiveMinutes
fifteenMinutes
oneHour
Event: 'update'

[
  {
    date; Date,
    high: Number,
    low: Number,
    open: Number,
    close: Number,
    vwap: Number,
    volume: Number,
    numTrades: Number
  }
]

Price Distribution Chart Data

Emits an array of datapoints useful for making price distribution charts
/BTC/USD/priceDistribution
Event: 'update'
Data Format:

[
  {
    exchange: String,
    price: Number,
    volume: Number
  },
  ...
]

Endpoints in progress

These endpoints are intended to give details or particular statistics including highs, lows, averages, and percentiles. Current values are recalculated every 30 seconds and daily values are used for highs, lows, and averages.

**/BTC/USD/standardDeviation**
**/BTC/USD/coefficientOfVariation**
**/BTC/USD/range**
**/BTC/USD/volume**

Currently Supported Markets

  • Bitstamp
  • BTC-e
  • hitbtc
  • Bitfinex

About

Broadcasts crypto-currency market data via Socket.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published