Skip to content
XChange is a Java library providing a streamlined API for interacting with 60+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data.
Java
Branch: develop
Clone or download

Latest commit

walec51 Merge pull request #3463 from trixprod/binance-subaccount-transferthi…
…story

[Binance] Add subAccount Transfert History
Latest commit aa6ba21 Apr 5, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
etc remove some random, reformat Apr 4, 2018
xchange-acx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-anx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bankera [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bibox [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-binance [Binance] PR Review #3463 Apr 2, 2020
xchange-bitbay [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcoinaverage [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcoincharts [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcoincore [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcoinde [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcoinium [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitcointoyou [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitfinex [bitfinex] Calculated full amount of withdrawals Apr 3, 2020
xchange-bitflyer [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bithumb formatting fix done by our mvn plugin Mar 21, 2020
xchange-bitmex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitso [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitstamp [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bittrex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bity [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bitz [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bl3p [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bleutrade [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-blockchain [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-btcc [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-btcmarkets [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-btctrade [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-btcturk [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-bx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-campbx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-ccex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-cexio [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-cobinhood [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinbase [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinbasepro [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinbene fix CoinbeneAdapters.adaptSymbol doesn't parse 4 chars coin correctly Mar 30, 2020
xchange-coindeal [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coindirect [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinegg [CoinEgg] Fix setting correct region for currency pairs in which the … Mar 10, 2020
xchange-coinex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinfloor [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coingi [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinmarketcap [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinmate [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinone [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-coinsuper [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-core Merge pull request #3463 from trixprod/binance-subaccount-transferthi… Apr 5, 2020
xchange-cryptofacilities [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-cryptonit [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-cryptopia [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-cryptowatch [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-deribit [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-dragonex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-dsx dsx package refactor Mar 27, 2020
xchange-dvchain [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-enigma corrected integration test naming Mar 6, 2020
xchange-examples dsx package refactor Mar 27, 2020
xchange-exmo [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-exx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-fcoin [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-gateio [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-gemini #3171 couple of xchange implementations calling order builders directly Mar 24, 2020
xchange-globitex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-hitbtc [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-huobi Clean code Mar 27, 2020
xchange-idex [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-independentreserve [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-itbit [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-koineks [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-koinim [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-kraken Replace equals() with compareTo() Mar 30, 2020
xchange-kucoin [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-kuna [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-lakebtc [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-latoken [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-lgo corrected integration test naming Mar 6, 2020
xchange-liqui [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-livecoin [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-luno [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-lykke [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-mercadobitcoin [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-okcoin [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-openexchangerates [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-paribu [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-paymium [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-poloniex #3171 couple of xchange implementations calling order builders directly Mar 24, 2020
xchange-quoine [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-ripple #3171 Unfortunatley I had to refactor two xchange implmetations a little Mar 24, 2020
xchange-simulated [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-therock #3171 Mar 24, 2020
xchange-tradeogre corrected integration test naming Mar 6, 2020
xchange-truefx [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-upbit [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-vaultoro [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-yobit [maven-release-plugin] prepare for next development iteration Mar 6, 2020
xchange-zaif [maven-release-plugin] prepare for next development iteration Mar 6, 2020
.gitattributes this will reduce whitespace churn Apr 3, 2018
.gitignore [Enigma] Fixed orderbook issues Feb 3, 2020
.travis.yml attempt to fix timeout issue on Travis CI (2) Aug 15, 2019
CONTRIBUTORS prepare for 4.4.2 release Mar 6, 2020
LICENSE prepare for 4.3.18 release May 7, 2019
README.md prepare for 4.4.2 release Mar 6, 2020
pom.xml Merge pull request #3478 from knowm/dependabot/maven/version.powermoc… Mar 31, 2020

README.md

XChange XChange

Join the chat at https://gitter.im/Java-XChange/Lobby

XChange is a Java library providing a simple and consistent API for interacting with 60+ 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. For the latest bugfixes and features you should use the [snapshot jars] (https://oss.sonatype.org/content/groups/public/org/knowm/xchange/) 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.

Description

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

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

Example 1: Public Market Data

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

MarketDataService marketDataService = bitstamp.getMarketDataService();

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

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

Example 2: Private Account Info

To use the private API services, AccountService and TradeService, create an ExchangeSpecification with a unique API key and secret key (in some cases more info is required), which you obtain through the exchange's web interface. For more examples of adding the keys to the ExchangeSpecification including storing them in a configuration file, see Frequently Asked Questions.

ExchangeSpecification exSpec = new BitstampExchange().getDefaultExchangeSpecification();
exSpec.setUserName("34387");
exSpec.setApiKey("a4SDmpl9s6xWJS5fkKRT6yn41vXuY0AM");
exSpec.setSecretKey("sisJixU6Xd0d1yr6w02EHCb9UwYzTNuj");
Exchange bitstamp = ExchangeFactory.INSTANCE.createExchange(exSpec);

// Get the account information
AccountService accountService = bitstamp.getAccountService();
AccountInfo accountInfo = accountService.getAccountInfo();
System.out.println(accountInfo.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

Looking for streaming API? Use library xchange-stream based on XChange.

Wiki

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.4.2</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-examples</artifactId>
  <version>4.4.2</version>
</dependency>
<dependency>
  <groupId>org.knowm.xchange</groupId>
  <artifactId>xchange-XYZ</artifactId>
  <version>4.4.2</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.5.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
check for dependency updates: mvn versions:display-dependency-updates
check for plugin updates: mvn versions:display-plugin-updates
code format: mvn com.coveo:fmt-maven-plugin:format

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.

You can’t perform that action at this time.