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 2ecd333 Jul 25, 2016 @timmolter committed on GitHub Merge pull request #1289 from zholmes1/develop
Added flagging capability for ExchangeFactory
Failed to load latest commit information.
etc removed unecessary files [ci skip] May 30, 2015
xchange-anx issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-atlasats com.xeiam ==> org.knowm namespace refactor (sorry for the inconvenien… Apr 12, 2016
xchange-bitbay Merge branch 'develop' of https://github.com/timmolter/XChange into d… Jun 23, 2016
xchange-bitcoinaverage issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitcoincharts issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitcoinde Fix another bug (json mapping mismatch) introduced in c1073a9. Jun 26, 2016
xchange-bitcoinium issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitcurex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitfinex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitkonan issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitmarket issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitso issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bitstamp Fix another bug (json mapping mismatch) introduced in c1073a9. Jun 26, 2016
xchange-bittrex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bleutrade issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-blockchain issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-btc38 Issue 1282 - Exchange Metadata Update and Discussion Jun 21, 2016
xchange-btccentral issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-btcchina issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-btce issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-btcmarkets issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-btctrade issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-bter issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-campbx issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-cavirtex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-cexio Fix another bug (json mapping mismatch) introduced in c1073a9. Jun 26, 2016
xchange-chbtc issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-clevercoin issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-coinbase issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-coinbaseex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-coinfloor issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-coinmate issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-coinsetter issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-cointrader issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-core Added flagging capability for ExchangeFactory Jul 24, 2016
xchange-cryptofacilities Add new v2 OpenPositions raw method Jul 18, 2016
xchange-cryptonit issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-cryptsy issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-empoex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-examples issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-gatecoin issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-hitbtc issue #1285 hitBTC metadata fix Jun 24, 2016
xchange-huobi issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-independentreserve issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-itbit issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-jubi issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-kraken Add basic Kraken remote init. Fixes broken Kraken currency handling i… Jun 26, 2016
xchange-lakebtc issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-loyalbit issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-mercadobitcoin issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-mexbt Upgrade to rescu 1.9.0-SNAPSHOT. Jul 25, 2016
xchange-okcoin issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-openexchangerates issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-poloniex Upgrade to rescu 1.9.0-SNAPSHOT. Jul 25, 2016
xchange-quoine issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-ripple issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-taurus issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-therock Fix another bug (json mapping mismatch) introduced in c1073a9. Jun 26, 2016
xchange-vaultoro Issue 1282 - Exchange Metadata Update and Discussion Jun 21, 2016
xchange-vircurex issue 1240 - BTER currency pairs through meta data, refactored JSON s… Jun 23, 2016
xchange-yacuna Issue 1282 - Exchange Metadata Update and Discussion Jun 21, 2016
.gitignore com.xeiam ==> org.knowm namespace refactor (sorry for the inconvenien… Apr 12, 2016
.travis.yml update travis file for new deploy repos Apr 12, 2016
CONTRIBUTORS prepare for 4.0.0 release Apr 12, 2016
LICENSE update license and contributors file Sep 23, 2015
README.md com.xeiam ==> org.knowm namespace refactor (sorry for the inconvenien… Apr 12, 2016
pom.xml Upgrade to rescu 1.9.0-SNAPSHOT. Jul 25, 2016

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());

PollingMarketDataService marketDataService = bitstamp.getPollingMarketDataService();

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
  • polling and streaming capability

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.0.0</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-examples</artifactId>
  <version>4.0.0</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-XYZ</artifactId>
  <version>4.0.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.0.1-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.