Skip to content
Open Source Unified REST API of 100+ Crypto Exchange Sites (18k+ docker pulls) - https://ccxt-rest.io/
JavaScript Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Added Integration Test Request in github Apr 20, 2019
api Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
bin Fixed failing tests Apr 28, 2019
docs @ f2f7eac Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
scripts Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
test/api/controllers Removed allcoin and quadrigacx from supported exchanges May 12, 2019
.dockerignore Created ccxt-rest project Jun 9, 2018
.gitignore Implemented parallel running integration tests May 11, 2019
.gitmodules Added back docs submodule May 13, 2019
.npmignore Fixed failing tests Apr 28, 2019
.sequelizerc Fixed failing tests Apr 28, 2019
.travis.yml Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
CODE_OF_CONDUCT.md Added a code of conduct May 2, 2019
CONTRIBUTING.md Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
Dockerfile
LICENSE.txt Created ccxt-rest project Jun 9, 2018
README.md Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019
app.js Added CORS ability May 5, 2019
codegen_languages.txt Rewrote application to use swagger 2.0 (Open API 2.0) Apr 14, 2019
config.json Rewrote application to use swagger 2.0 (Open API 2.0) Apr 14, 2019
package-lock.json
package.json Updated references to github franz-see and hub.docker franzsee to cc… May 13, 2019

README.md

CCXT-REST

Connect to 100+ Crypto Currency eXchange Trading platforms using the same REST API!

Build Status npm NPM Downloads Docker Pulls Supported Exchanges

Gitter

Hire Us

Table of Contents

Introduction

CCXT-REST provides a Unified REST APIs to allow clients access to retrieve data (ticker, order book, trades, your order, your trades, balances, etc) and to create and cancel orders from over 100 cryptocurrency exhange sites. And it is built on top of the popular open source project CCXT

Installation

You can install either through docker or as a global node package

Docker

$ docker run -p 3000:3000 ccxtrest/ccxt-rest

NPM Package

$ npm install -g ccxt-rest
$ ccxt-rest

Getting Started

CCXT-REST supports over 100 crytpocurrency exchange sites. If you want to access public data, for most exchanges, you can access them directly without any API Keys or Secret.

  • GET:/exchanges/{exchangeName}/markets
  • GET:/exchanges/{exchangeName}/ticker
  • GET:/exchanges/{exchangeName}/tickers
  • GET:/exchanges/{exchangeName}/orderBook
  • GET:/exchanges/{exchangeName}/trades

In binance, it would look something like this

  • GET:/exchanges/binance/markets
  • GET:/exchanges/binance/ticker?symbol=BTC/USDT
  • GET:/exchanges/binance/tickers
  • GET:/exchanges/binance/orderBook?symbol=BTC/USDT
  • GET:/exchanges/binance/trades?symbol=BTC/USDT

However, some exchanges though require you to have an API Key and Secret even when accessing public data. For example, for cointiger, you would need to get an API Key and Secret first from cointiger see cointiger's official documentation for more info, and then you would need to provide those to ccxt-rest

  • POST:/exchanges/cointiger -d {"id":"myCoinTiger","apiKey":"myApiKey","secret":"$hcreT"}
  • GET:/exchanges/cointiger/markets -H 'Authorization: Bearer xxx.yyy.zzz'(where xxx.yyy.zzz was part of the response of POST:/exchanges/cointiger)
  • GET:/exchanges/cointiger/ticker?symbol=BTC/LTC -H 'Authorization: Bearer xxx.yyy.zzz'
  • GET:/exchanges/cointiger/tickers -H 'Authorization: Bearer xxx.yyy.zzz'
  • GET:/exchanges/cointiger/orderBook?symbol=BTC/LTC -H 'Authorization: Bearer xxx.yyy.zzz'
  • GET:/exchanges/cointiger/trades?symbol=BTC/LTC -H 'Authorization: Bearer xxx.yyy.zzz'

Lastly, for private data like your user orders, trades, balances and for actions like placing and cancelling orders, you would definitely need to provide the API Key and Secret for your exchange to ccxt-rest.

CCXT-REST Overview


Note: The API listing below is now comprehensive. For a full list of APIs supported, see https://ccxt-rest.io


Providing API Keys and Secret

$ curl -X POST http://localhost:3000/exchange/binance \
  -H 'Accept: application/json'
  -d {
    "id" : "myBinance",
    "apiKey" : "myApiKey",
    "secret" : "s3cr3t"
  }

This would then return something like this

{
  "token":"xxx.yyy.zzz"
}

List All Supported Currency Pairs

$ curl -X GET http://localhost:3000/exchange/binance/markets \
  -H 'Accept: application/json'

Get Ticker for a Currency Pair

$ curl -X GET http://localhost:3000/exchange/binance/ticker?symbol=BTC/USDT \
  -H 'Accept: application/json'

Get Order Book for a Currency Pair

$ curl -X GET http://localhost:3000/exchange/binance/orderBook?symbol=BTC/USDT \
  -H 'Accept: application/json'

Placing an Order

$ curl -X POST http://localhost:3000/exchange/binance/order \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer xxx.yyy.zzz'
  -d {
  "symbol": "string",
  "type": "market",
  "side": "buy",
  "amount": 0,
  "price": 0
}

Cancelling an Order

Note: 12345 is the id of the order you want to cancel

$ curl -X DELETE http://localhost:3000/exchange/binance/order/12345 \
  -H 'Accept: application/json'
  -H 'Authorization: Bearer xxx.yyy.zzz'

API

For a complete list of API, see https://ccxt-rest.io

CCXT-REST API Documentation

Exchange Summary

For a full list of supported exchanges and as to which of their APIs are public, private or even broken, checkout https://ccxt-rest.io/docs/exchange_api_status. The format there looks something like this

Note: The table below is just an example. This does NOT represent the current state of these API statuses

Exchange Connect Market Ticker Tickers Order Book Trades
... ... ... ... ... ... ...
(sample only) (sample only) (sample only) (sample only) (sample only) (sample only) (sample only)
binance Public API Public API Public API Public API Public API Public API
coinspot Public API Public API Private API Not Supported Private API Private API
gemini Public API Public API Public API Not Supported Public API Public API
kraken Public API Public API Public API Public API Public API Public API
poloniex Public API Public API Public API Public API Public API Public API
quadrigacx Public API Public API Error: Unexpected Error: Unexpected Error: Unexpected Error: Unexpected
(sample only) (sample only) (sample only) (sample only) (sample only) (sample only) (sample only)
... ... ... ... ... ... ...

Note: The table above is just an example. This does NOT represent the current state of these API statuses

For full list of the current statuses, see https://ccxt-rest.io/docs/exchange_api_status

Feature / Support Request

Need a feature or need support? Reach out and let us know what you need.

Hire Us

You can’t perform that action at this time.