XChange is a Java library providing a streamlined API for interacting with 50+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data.
Java
Latest commit 6ca5849 Jan 22, 2017 @timmolter committed on GitHub Merge pull request #1364 from dozd/develop
Missing setters for PoloniexMarketData.
Permalink
Failed to load latest commit information.
etc removed unecessary files [ci skip] May 30, 2015
xchange-anx bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitbay bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitcoinaverage bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitcoincharts bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitcoinde bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitcoinium bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitcurex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitfinex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitkonan bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitmarket bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitso bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bitstamp bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bittrex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bleutrade bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-blockchain bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-btc38 bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-btcchina bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-btce bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-btcmarkets bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-btctrade bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-bter bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-campbx bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-ccex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-cexio bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-chbtc bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-coinbase bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-coinmate bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-core bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-cryptofacilities bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-cryptonit bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-empoex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-examples bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-gatecoin bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-gdax bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-gemini bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-hitbtc bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-huobi bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-independentreserve bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-itbit bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-jubi bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-kraken bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-lakebtc bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-livecoin bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-loyalbit bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-mercadobitcoin bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-okcoin bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-openexchangerates bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-paymium bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-poloniex Merge pull request #1364 from dozd/develop Jan 22, 2017
xchange-quadrigacx bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-quoine bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-ripple bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-taurus bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-therock bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-vaultoro bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-vircurex bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
xchange-yobit bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
.gitignore com.xeiam ==> org.knowm namespace refactor (sorry for the inconvenien… Apr 12, 2016
.travis.yml recreate snapshot deploy keys Dec 20, 2016
CONTRIBUTORS updated CONTRIBUTORS file Oct 14, 2016
LICENSE update license and contributors file Sep 23, 2015
README.md bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017
pom.xml bump to 4.2.0-SNAPSHOT, remove “polling” from code Jan 22, 2017

README.md

XChange XChange

XChange is a Java library providing a simple and consistent API for interacting with 50+ Bitcoin and other crypto currency exchanges providing a consistent interface for trading and accessing market data.

Important!

The world of Bitcoin changes quickly and XChange is no exception. The best way to stay updated on important announcements is to follow tweets on Knowm's Twitter page. For the latest bugfixes and features you should use the snapshot jars or build yourself from the DEVELOP branch. See below for more details about building with Maven. To report bugs and see what issues people are currently working on see the issues page. There are also most likely some open bounties to be had as well.

Description

XChange is a library providing a simple and consistent API for interacting with a diverse set of crypto currency exchanges, including support for Bitcoin.

A complete list of implemented exchanges, data providers and brokers can be found on our Exchange Support page.

Usage is very simple: Create an Exchange instance, get the appropriate service, and request data.

Example

Exchange bitstamp = ExchangeFactory.INSTANCE.createExchange(BitstampExchange.class.getName());

MarketDataService marketDataService = bitstamp.getMarketDataService();

Ticker ticker = marketDataService.getTicker(CurrencyPair.BTC_USD);

System.out.println(ticker.toString());

All exchange implementations expose the same API, but you can also directly access the underlying "raw" data from the individual exchanges if you need to.

Now go ahead and study some more examples, download the thing and provide feedback.

Features

  • MIT license
  • consistent API across all implemented exchanges
  • active development
  • very minimal 3rd party dependencies
  • modular components

More Info

Project Site: http://knowm.org/open-source/xchange
Example Code: http://knowm.org/open-source/xchange/xchange-example-code
Change Log: http://knowm.org/open-source/xchange/xchange-change-log/
Java Docs: http://knowm.org/javadocs/xchange/index.html

Wiki

Home: https://github.com/timmolter/XChange/wiki
Design Notes: https://github.com/timmolter/XChange/wiki/Design-Notes
Milestones: https://github.com/timmolter/XChange/wiki/Milestones
Exchange Support: https://github.com/timmolter/XChange/wiki/Exchange-support
New Implementation Best Practices: https://github.com/timmolter/XChange/wiki/New-Implementation-Best-Practices Installing SSL Certificates into TrustStore: https://github.com/timmolter/XChange/wiki/Installing-SSL-Certificates-into-TrustStore Getting Started with XChange for Noobies: https://github.com/timmolter/XChange/wiki/Getting-Started-with-XChange-for-Noobies

Continuous Integration

Build Status
Build History

Getting Started

Non-Maven

Download XChange Release Jars: http://search.maven.org/#search%7Cga%7C1%7Cknowm%20xchange

Download XChange Snapshot Jars: https://oss.sonatype.org/content/groups/public/org/knowm/xchange/

Maven

The XChange release artifacts are hosted on Maven Central.

Add the following dependencies in your pom.xml file. You will need at least xchange-core. Add the additional dependencies for the exchange modules you are interested in (XYZ shown only for a placeholder). There is example code for all the modules in xchange-examples.

<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-core</artifactId>
  <version>4.1.0</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-examples</artifactId>
  <version>4.1.0</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-XYZ</artifactId>
  <version>4.1.0</version>
</dependency>

For snapshots, add the following repository to your pom.xml file.

<repository>
  <id>sonatype-oss-snapshot</id>
  <snapshots/>
  <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>

The current snapshot version is:

4.2.0-SNAPSHOT

Building with Maven

run unit tests: mvn clean test
run unit and integration tests: mvn clean verify -DskipIntegrationTests=false
install in local Maven repo: mvn clean install
create project javadocs: mvn javadoc:aggregate
generate dependency tree: mvn dependency:tree

Bugs

Please report any bugs or submit feature requests to XChange's Github issue tracker.

Contributing

If you'd like to submit a new implementation for another exchange, please take a look at New Implementation Best Practices first, as there are lots of time-saving tips!

For more information such as a contributor list and a list of known projects depending on XChange, visit the Main Project Wiki.

Donations

Donate with Bitcoin: 1JVyTP9v9z54dALuhDTZDQfS6FUjcKjPgZ

All donations will be used to pay bounties for new features, refactoring, etc. Please consider donating or even posting your own bounties on our Issues Page. Open bounties and bounties paid thus far can be found on knowm's bounties page.