A Java library providing a consistent API for trading and accessing market data across 60+ cryptocurrency exchanges.
XChange is a Java library that provides a streamlined and consistent API for interacting with over 60 cryptocurrency exchanges. It solves the problem of dealing with disparate exchange APIs by offering a unified interface for trading, accessing market data, and managing accounts across multiple platforms.
Java developers building cryptocurrency trading bots, financial analytics applications, or any software that needs to interact with multiple cryptocurrency exchanges.
Developers choose XChange because it eliminates the need to write and maintain custom integrations for each exchange, provides both REST and WebSocket APIs with consistent patterns, and has minimal dependencies while being actively maintained.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 60 cryptocurrency exchanges through a unified Java API, as highlighted in the project description and integration status table.
Provides both REST for standard requests and WebSocket for real-time data, with code examples for each in the README, using reactive streams for efficiency.
Designed with very few third-party dependencies, making it lightweight and easy to integrate, as stated in the key features.
Built with modular components so developers can include only needed exchange modules, reducing bloat, as explained in the Maven dependency setup.
WebSocket API is only available for a smaller number of exchanges, not all 60+, as admitted in the README's websocket section, limiting real-time capabilities.
The README advises using snapshot jars for latest bugfixes, indicating official releases may lag behind rapid exchange API changes, potentially causing integration issues.
Authentication requires handling different parameters like username or passphrase per exchange, adding complexity, as shown in the private API example and FAQ references.