Practical overview
When it fits
Use XChange when a Java application needs a shared interface for exchange market data or trading services, and select the exchange module that matches the intended integration. For live updates, check whether that exchange has a streaming module.
Who it is for
- Java developers building applications that need exchange market data.
- Teams integrating trading services across supported cryptocurrency exchanges.
- Developers who need a WebSocket streaming interface for an exchange with a supported streaming module.
Documented uses
- Request public market data such as a ticker through an exchange service.
- Access authenticated account information and trading services using exchange-specific credentials.
- Subscribe to live trade updates through supported WebSocket streaming modules.
- Build an exchange integration layer around common service interfaces.
Requirements & limits
The repository specifies an MIT license. The README documents Maven Central release artifacts and snapshot artifacts. Private account and trading APIs require exchange credentials; its public market-data example does not.
- At least
xchange-coreand a separate exchange module are needed for Maven-based integrations. - Exchange implementations expose a common API, while raw exchange-specific data can also be accessed.
- REST-style requests are described for occasional access and polling; the README points to WebSockets for streaming or real-time data where available.
- Streaming requires an additional exchange-specific dependency and is available for fewer exchanges than the general API.
- Credential fields vary by exchange; some may require information beyond an API key and secret.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add XChange exchange modules with Maven
Declare the core library and the module for a chosen exchange in a Maven project.
Before you start
- A Java project that uses Maven.
- The Maven artifact names for the exchange module you intend to use.
Steps
Add the
org.knowm.xchange:xchange-coredependency to the project’spom.xml.Add the corresponding
org.knowm.xchange:xchange-XYZexchange module, replacing the placeholder with the intended module name.If the exchange has a streaming module and streaming is needed, add its
org.knowm.xchange:xchange-stream-XYZdependency.
Expected outcome
The project’s Maven configuration declares XChange core and the selected exchange module, with a streaming dependency when applicable.
Guide limitations
- The README says to add the modules for the exchanges of interest; the placeholder
XYZis not a module name to use unchanged. - Streaming support is available only for a smaller number of exchanges.
- This guide covers dependency configuration, not application execution or exchange connectivity.
Request public ticker data
Use the documented Java pattern to request a ticker through an exchange’s public market-data service.
Before you start
- A Java project with XChange core and the relevant exchange module.
- A currency pair supported by the selected exchange.
Steps
Create an
Exchangeinstance for the selected exchange usingExchangeFactory.Get its
MarketDataService.Call
getTickerwith the desired currency pair.
Expected outcome
The code requests ticker data through XChange’s market-data service; the README’s example prints the ticker.
Guide limitations
- The documented public-data example does not require authentication, but access depends on the exchange’s public API.
- Exchange-specific availability and request limits apply; the README notes that REST polling may be limited.
- This is a documented usage pattern, not a connectivity test.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- knowm/XChange · Official homepage title · retained in its source language

