Skip to content

runeksvendsen/crypto-venues

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
nix
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Cryptocurrency venues

Fetch order book data from various cryptocurrency exchanges.

Currently supported venues.

This library enables:

  1. Fetching the list of available cryptocurrency markets for a given exchange/venue
  2. Fetching the order book for the given cryptocurrency market
  3. Throttling/rate-limiting requests, by using the specific exchange's rate-limit (and backing off if a "Too Many Requests"-HTTP error is received)

The fetched order books are compatible with the orderbook library, which we can then use to query the liquidity of the given market.

CLI

The functionality of this library is exposed as the CLI application rest-depth.

Development

To add support for a new exchange, implement the EnumMarkets class (which retrieves a list of supported markets) for the given exchange, as well as the MarketBook class which:

  1. Retrieves an orderbook when given a Market returned by the EnumMarkets implementation
  2. Returns the rate limit for fetching orderbooks from the given exchange

Testing

Note that Binance restricts the IP addresses that can access its services, so that US IP addresses are denied access. Because the VMs for the GitHub CI are located in the US, the tests for Binance are disabled for the GitHub CI.