With the move towards modularization, Binance connectors are now split into smaller, product-specific libraries. This guide explains how to migrate from the monolithic binance-connector-java for Spot and binance-futures-connector-java for Futures to the new modular connectors.
| Feature | Monolithic Connector | Modular Connector |
|---|---|---|
| Package Name | binance-connector-java, binance-futures-connector-java |
binance-<product> |
| API Coverage | All Binance APIs | Individual APIs (Spot, Futures, Wallet, Algo Trading, Mining etc.) |
| Imports | Single package import | Separate package per product |
| Code Structure | One large client | Smaller, focused clients |
If you were using the old connector, remove it from your project:
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-connector-java</artifactId>
<version>3.0.5</version>
</dependency>or
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-futures-connector-java</artifactId>
<version>3.0.5</version>
</dependency>And replace it with the new connector(s): For Spot (Spot package):
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-spot</artifactId>
<version>3.1.0</version>
</dependency>For Futures (COIN-M Futures package):
<dependency>
<groupId>io.github.binance</groupId>
<artifactId>binance-derivatives-trading-coin-futures</artifactId>
<version>1.3.0</version>
</dependency>Update your import paths:
Old (Spot):
import com.binance.connector.client.SpotClient;New (Spot):
import com.binance.connector.client.spot.rest.api.SpotRestApi;Old (CMFutures):
import com.binance.connector.futures.client.impl.CMFuturesClientImpl;New (COIN-M Futures):
import com.binance.connector.client.derivatives_trading_coin_futures.rest.api.DerivativesTradingCoinFuturesRestApi;The new structure introduces a more modular approach to client initialization.
Old (Spot - Monolithic Connector):
SpotClient client = new SpotClientImpl(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY);
Map<String, Object> parameters = new LinkedHashMap<>();
String result = client.createTrade().account(parameters);
System.out.println(result);New (Spot - Modular Connector):
ClientConfiguration clientConfiguration = SpotRestApiUtil.getClientConfiguration();
SignatureConfiguration signatureConfiguration = new SignatureConfiguration();
signatureConfiguration.setApiKey("apiKey");
signatureConfiguration.setPrivateKey("path/to/private.key");
clientConfiguration.setSignatureConfiguration(signatureConfiguration);
SpotRestApi api = new SpotRestApi(clientConfiguration);
Boolean omitZeroBalances = true;
Long recvWindow = 5000L;
ApiResponse<GetAccountResponse> response = api.getAccount(omitZeroBalances, recvWindow);
System.out.println(response.getData());Old (Futures - Monolithic Connector):
CMFuturesClientImpl client = new CMFuturesClientImpl(PrivateConfig.API_KEY, PrivateConfig.SECRET_KEY);
LinkedHashMap<String, Object> parameters = new LinkedHashMap<>();
String result = client.account().accountInformation(parameters);
System.out.println(result);New (Futures - Modular Connector):
ClientConfiguration clientConfiguration = DerivativesTradingCoinFuturesRestApiUtil.getClientConfiguration();
SignatureConfiguration signatureConfiguration = new SignatureConfiguration();
signatureConfiguration.setApiKey("apiKey");
signatureConfiguration.setPrivateKey("path/to/private.key");
clientConfiguration.setSignatureConfiguration(signatureConfiguration);
DerivativesTradingCoinFuturesRestApi api = new DerivativesTradingCoinFuturesRestApi(clientConfiguration);
Long recvWindow = 5000L;
ApiResponse<AccountInformationResponse> response = getApi().accountInformation(recvWindow);
System.out.println(response.getData());Some function names or response structures may have changed. Refer to the modular connector's documentation for details.
- If a modular connector is not yet available for your use case, continue using the monolithic connector (
binance-futures-connector-java, orbinance-connector-java). - The monolithic connector will remain available, but it is recommended to migrate when modular versions are released.
You can continue using the monolithic connector until the modular version is released.
Critical bug fixes will be provided, but feature updates will focus on the modular connectors.
Check the modular connector's documentation for detailed examples.