exchanges-integration
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

Financial Hub – CryptoCurrency eXchange Trading Library

A JavaScript for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.

Install · Usage

The Financial Hub library is used to connect and trade with cryptocurrency exchanges and payment processing services worldwide. It provides quick access to market data for storage, analysis, visualization, indicator development, algorithmic trading, strategy backtesting, bot programming, and related software engineering.

It is intended to be used by coders, developers, technically-skilled traders, data-scientists and financial analysts for building trading algorithms.

Current feature list:

  • support for many cryptocurrency exchanges — more coming soon
  • fully implemented public and private APIs
  • optional normalized data for cross-exchange analytics and arbitrage
  • an out of the box unified API that is extremely easy to integrate
  • works in Node 7.6+

Supported Cryptocurrency Exchange Markets

The Financial Hub library currently supports the following 124 cryptocurrency exchange markets and trading APIs:

       logo        id name ver doc Country
_1btcxe _1btcxe 1BTCXE * API Panama
acx acx ACX 2 API Australia
adara adara Adara 1 API Malta
allcoin allcoin Allcoin 1 API Canada
anxpro anxpro ANXPro * API Japan, Singapore, Hong Kong, New Zealand
bcex bcex BCEX 1 API China, Canada
bequant bequant Bequant 2 API Malta
bibox bibox Bibox 1 API China, US, South Korea
bigone bigone BigONE 3 API China
binance binance Binance * API Japan, Malta
binanceje binanceje Binance Jersey * API Jersey
binanceus binanceus Binance US * API US
bit2c bit2c Bit2C * API Israel
bitbank bitbank bitbank 1 API Japan
bitbay bitbay BitBay * API Malta, EU
bitfinex bitfinex Bitfinex 1 API British Virgin Islands
bitfinex2 bitfinex2 Bitfinex 2 API British Virgin Islands
bitflyer bitflyer bitFlyer 1 API Japan
bitforex bitforex Bitforex 1 API China
bithumb bithumb Bithumb * API South Korea
bitkk bitkk bitkk 1 API China
bitlish bitlish Bitlish 1 API UK, EU, Russia
bitmart bitmart BitMart 2 API US, China, Hong Kong, South Korea
bitmax bitmax BitMax 1 API China
bitmex bitmex BitMEX 1 API Seychelles
bitso bitso Bitso 3 API Mexico
bitstamp bitstamp Bitstamp 2 API UK
bitstamp1 bitstamp1 Bitstamp 1 API UK
bittrex bittrex Bittrex 1.1 API US
bitz bitz Bit-Z 2 API Hong Kong
bl3p bl3p BL3P 1 API Netherlands, EU
bleutrade bleutrade Bleutrade 2 API Brazil
braziliex braziliex Braziliex * API Brazil
btcalpha btcalpha BTC-Alpha 1 API US
btcbox btcbox BtcBox 1 API Japan
btcchina btcchina BTCChina 1 API China
btcmarkets btcmarkets BTC Markets * API Australia
btctradeim btctradeim BtcTrade.im * API Hong Kong
btctradeua btctradeua BTC Trade UA * API Ukraine
btcturk btcturk BTCTurk * API Turkey
buda buda Buda 2 API Argentina, Chile, Colombia, Peru
bw bw BW 1 API China
bytetrade bytetrade ByteTrade * API Hong Kong
cex cex CEX.IO * API UK, EU, Cyprus, Russia
chilebit chilebit ChileBit 1 API Chile
cobinhood cobinhood COBINHOOD 1 API Taiwan
coinbase coinbase Coinbase 2 API US
coinbaseprime coinbaseprime Coinbase Prime * API US
coinbasepro coinbasepro Coinbase Pro * API US
coincheck coincheck coincheck * API Japan, Indonesia
coinegg coinegg CoinEgg * API China, UK
coinex coinex CoinEx 1 API China
coinfalcon coinfalcon CoinFalcon 1 API UK
coinfloor coinfloor coinfloor * API UK
coingi coingi Coingi * API Panama, Bulgaria, China, US
coinmarketcap coinmarketcap CoinMarketCap 1 API US
coinmate coinmate CoinMate * API UK, Czech Republic, EU
coinone coinone CoinOne 2 API South Korea
coinspot coinspot CoinSpot * API Australia
coolcoin coolcoin CoolCoin * API Hong Kong
coss coss COSS 1 API Singapore, Netherlands
crex24 crex24 CREX24 2 API Estonia
deribit deribit Deribit 1 API Netherlands
digifinex digifinex DigiFinex 3 API Singapore
dsx dsx DSX 3 API UK
exmo exmo EXMO 1 API Spain, Russia
exx exx EXX * API China
fcoin fcoin FCoin 2 API China
fcoinjp fcoinjp FCoinJP 2 API Japan
flowbtc flowbtc flowBTC 1 API Brazil
foxbit foxbit FoxBit 1 API Brazil
ftx ftx FTX * API Hong Kong
fybse fybse FYB-SE * API Sweden
gateio gateio Gate.io 2 API China
gemini gemini Gemini 1 API US
hitbtc hitbtc HitBTC 1 API Hong Kong
hitbtc2 hitbtc2 HitBTC 2 API Hong Kong
huobipro huobipro Huobi Pro 1 API China
huobiru huobiru Huobi Russia 1 API Russia
ice3x ice3x ICE3X 1 API South Africa
idex idex IDEX * API US
independentreserve independentreserve Independent Reserve * API Australia, New Zealand
indodax indodax INDODAX 1.8 API Indonesia
itbit itbit itBit 1 API US
kkex kkex KKEX 2 API China, US, Japan
kraken kraken Kraken 0 API US
kucoin kucoin KuCoin 2 API Seychelles
kuna kuna Kuna 2 API Ukraine
lakebtc lakebtc LakeBTC 2 API US
latoken latoken Latoken 1 API Cayman Islands
lbank lbank LBank 1 API China
liquid liquid Liquid 2 API Japan, China, Taiwan
livecoin livecoin LiveCoin * API US, UK, Russia
luno luno luno 1 API UK, Singapore, South Africa
lykke lykke Lykke 1 API Switzerland
mandala mandala Mandala 2 API Malta
mercado mercado Mercado Bitcoin 3 API Brazil
mixcoins mixcoins MixCoins 1 API UK, Hong Kong
oceanex oceanex OceanEx 1 API US
okcoincny okcoincny OKCoin CNY 1 API China
okcoinusd okcoinusd OKCoin USD 1 API China, US
okex okex OKEX 1 API China, US
okex3 okex3 OKEX 3 API China, US
paymium paymium Paymium 1 API France, EU
poloniex poloniex Poloniex * API US
rightbtc rightbtc RightBTC * API United Arab Emirates
southxchange southxchange SouthXchange * API Argentina
stex stex STEX 3 API Estonia
stronghold stronghold Stronghold 1 API
surbitcoin surbitcoin SurBitcoin 1 API Venezuela
theocean theocean The Ocean 1 API US
therock therock TheRockTrading 1 API Malta
tidebit tidebit TideBit 2 API Hong Kong
tidex tidex Tidex 3 API UK
timex timex TimeX 1 API Australia
upbit upbit Upbit 1 API South Korea
vaultoro vaultoro Vaultoro 1 API Switzerland
vbtc vbtc VBTC 1 API Vietnam
virwox virwox VirWoX * API Austria, EU
whitebit whitebit WhiteBit 2 API Estonia
xbtce xbtce xBTCe 1 API Russia
yobit yobit YoBit 3 API Russia
zaif zaif Zaif 1 API Japan
zb zb ZB 1 API China

The list above is updated frequently, new crypto markets, exchanges, bug fixes, and API endpoints are introduced on a regular basis. See the Manual for more details. If you can't find a cryptocurrency exchange in the list above and want it to be added, post a link to it by opening an issue here on GitHub or send us an email.

The library is under MIT license, that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.


Install

The easiest way to install the Financial Hub library is to use a package manager:

git clone hhttps://github.com/guilherme-camacho/exchanges-integration.git

JavaScript (NPM)

JavaScript version of Financial Hub works in both Node and web browsers. Requires ES6 and async/await syntax support (Node 7.6.0+). When compiling with Webpack and Babel, make sure it is not excluded in your babel-loader config.

Financial Hub in NPM

npm install Financial Hub
const financialHub = require ('exchanges-integration');
console.log (financialHub.exchanges) // print all available exchanges

Documentation

Read the Manual for more details.

Usage

Intro

The Financial Hub library consists of a public part and a private part. Anyone can use the public part immediately after installation. Public APIs provide unrestricted access to public information for all exchange markets without the need to register a user account or have an API key.

Public APIs include the following:

  • market data
  • instruments/trading pairs
  • price feeds (exchange rates)
  • order books
  • trade history
  • tickers
  • OHLC(V) for charting
  • other public endpoints

In order to trade with private APIs you need to obtain API keys from an exchange's website. It usually means signing up to the exchange and creating API keys for your account. Some exchanges require personal info or identification. Sometimes verification may be necessary as well. In this case you will need to register yourself, this library will not create accounts or API keys for you. Some exchanges expose API endpoints for registering an account, but most exchanges don't. You will have to sign up and create API keys on their websites.

Private APIs allow the following:

  • manage personal account info
  • query account balances
  • trade by making market and limit orders
  • deposit and withdraw fiat and crypto funds
  • query personal orders
  • get ledger history
  • transfer funds between accounts
  • use merchant services

This library implements full public and private REST APIs for all exchanges. WebSocket and FIX implementations in JavaScript.

// both of these notations work in JavaScript
exchange.methodName ()  // camelcase pseudocode
exchange.method_name () // underscore pseudocode

Read the Manual for more details.

JavaScript

'use strict';
const FinancialHub = require('exchanges-integration');
 
(async function () {
    let kraken    = new FinancialHub.kraken ()
    let bitfinex  = new FinancialHub.bitfinex ({ verbose: true })
    let huobipro  = new FinancialHub.huobipro ()
    let okcoinusd = new FinancialHub.okcoinusd ({
        apiKey: 'YOUR_PUBLIC_API_KEY',
        secret: 'YOUR_SECRET_PRIVATE_KEY',
    })
 
    const exchangeId = 'binance'
        , exchangeClass = FinancialHub[exchangeId]
        , exchange = new exchangeClass ({
            'apiKey': 'YOUR_API_KEY',
            'secret': 'YOUR_SECRET',
            'timeout': 30000,
            'enableRateLimit': true,
        })
 
    console.log (kraken.id,    await kraken.loadMarkets ())
    console.log (bitfinex.id,  await bitfinex.loadMarkets  ())
    console.log (huobipro.id,  await huobipro.loadMarkets ())
 
    console.log (kraken.id,    await kraken.fetchOrderBook (kraken.symbols[0]))
    console.log (bitfinex.id,  await bitfinex.fetchTicker ('BTC/USD'))
    console.log (huobipro.id,  await huobipro.fetchTrades ('ETH/CNY'))
 
    console.log (okcoinusd.id, await okcoinusd.fetchBalance ())
 
    // sell 1 BTC/USD for market price, sell a bitcoin for dollars immediately
    console.log (okcoinusd.id, await okcoinusd.createMarketSellOrder ('BTC/USD', 1))
 
    // buy 1 BTC/USD for $2500, you pay $2500 and receive ฿1 when the order is closed
    console.log (okcoinusd.id, await okcoinusd.createLimitBuyOrder ('BTC/USD', 1, 2500.00))
 
    // pass/redefine custom exchange-specific order params: type, amount, price or whatever
    // use a custom order type
    bitfinex.createLimitSellOrder ('BTC/USD', 1, 10, { 'type': 'trailing-stop' })
 
}) ();

Team

Contact Us

For business inquiries: guilherme.camacho@financialhub.dev

Readme

Keywords

none

Package Sidebar

Install

npm i exchanges-integration

Weekly Downloads

14

Version

0.1.5

License

MIT

Unpacked Size

4.93 MB

Total Files

203

Last publish

Collaborators

  • guilherme-camacho