OpenViSTAI · Agents · Blockchain · Crypto
Menu
Exchanges & Trading

Xchange

XChange is an open-source Java library that provides a consistent interface for connecting applications to cryptocurrency exchanges for trading operations and market-data access.

Independent OpenViST project profile, based on linked sources.

Xchange — OpenViST project profile in Exchanges & Trading.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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-core and 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.

Source-based practical guide

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

  1. Add the org.knowm.xchange:xchange-core dependency to the project’s pom.xml.

  2. Add the corresponding org.knowm.xchange:xchange-XYZ exchange module, replacing the placeholder with the intended module name.

  3. If the exchange has a streaming module and streaming is needed, add its org.knowm.xchange:xchange-stream-XYZ dependency.

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 XYZ is 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.
Source-based practical guide

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

  1. Create an Exchange instance for the selected exchange using ExchangeFactory.

  2. Get its MarketDataService.

  3. Call getTicker with 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.
Evidence and transparency

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