diff --git a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts index 4764b6cef8..10a86d9a68 100644 --- a/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts +++ b/src/subdomains/core/liquidity-management/adapters/balances/exchange.adapter.ts @@ -62,14 +62,15 @@ export class ExchangeAdapter implements LiquidityBalanceIntegration { async getForExchange(exchange: string, assets: LiquidityManagementAsset[]): Promise { const exchangeService = this.exchangeRegistry.getExchange(exchange); - // not configured (no API credentials) -> skip gracefully, warn once + // not configured (no API credentials) -> skip, warn once. No balances are reported on purpose: + // a zero balance would be persisted and could trigger liquidity rules, masking a config error if (!exchangeService.isConfigured) { if (!this.unconfiguredWarned.has(exchange)) { this.unconfiguredWarned.add(exchange); this.logger.warn(`Exchange ${exchange} has no credentials configured — skipping liquidity balance`); } - return assets.map((a) => LiquidityBalance.create(a, 0, 0)); + return []; } try {