freqtrade/freqtrade · error · OperationalException
Converting from csv is only supported for kraken.Please refe
Error message
Converting from csv is only supported for kraken.Please refer to the documentation for details about this special mode.
What it means
Raised by convert_trades_format() when convert_from == 'kraken_csv' but the configured exchange (config['exchange']['name']) is not 'kraken'. Kraken CSV import is a special path that reads Kraken's trade-export CSVs, so it is refused for any other exchange. Note the message also documents that this special mode is explained in the docs.
Source
Thrown at freqtrade/data/converter/trade_converter.py:139
try:
ohlcv = trades_to_ohlcv(trades, timeframe)
# Store ohlcv
data_handler_ohlcv.ohlcv_store(pair, timeframe, data=ohlcv, candle_type=candle_type)
except ValueError:
logger.warning(f"Could not convert {pair} to OHLCV.")
def convert_trades_format(config: Config, convert_from: str, convert_to: str, erase: bool):
"""
Convert trades from one format to another format.
:param config: Config dictionary
:param convert_from: Source format
:param convert_to: Target format
:param erase: Erase source data (does not apply if source and target format are identical)
"""
if convert_from == "kraken_csv":
if config["exchange"]["name"] != "kraken":
raise OperationalException(
"Converting from csv is only supported for kraken."
"Please refer to the documentation for details about this special mode."
)
from freqtrade.data.converter.trade_converter_kraken import import_kraken_trades_from_csv
import_kraken_trades_from_csv(config, convert_to)
return
from freqtrade.data.history import get_datahandler
src = get_datahandler(config["datadir"], convert_from)
trg = get_datahandler(config["datadir"], convert_to)
if "pairs" not in config:
config["pairs"] = src.trades_get_pairs(config["datadir"])
logger.info(f"Converting trades for {config['pairs']}")
trading_mode: TradingMode = config.get("trading_mode", TradingMode.SPOT)
for pair in config["pairs"]:View on GitHub (pinned to 1c8edfe4d1)
Solutions
- Set exchange.name to 'kraken' in the config used for the conversion: `"exchange": {"name": "kraken", ...}`.
- Or run with an explicit override: `freqtrade download-data --exchange kraken ...` / point the converter command at a kraken config file.
- If you did not mean CSV import, drop 'kraken_csv' as convert_from and use a supported datahandler format (json, jsongz, feather).
Example fix
# before (config.json)
{"exchange": {"name": "binance"}}
# freqtrade convert-data --format-from kraken_csv ...
# after
{"exchange": {"name": "kraken"}}
# freqtrade convert-data --format-from kraken_csv --format-to feather ... Defensive patterns
Strategy: validation
Validate before calling
if convert_from == 'kraken_csv' and config['exchange']['name'] != 'kraken':
raise SystemExit('kraken_csv import requires exchange.name == kraken in the config') Prevention
- Use a dedicated kraken config for CSV imports.
- Double-check exchange.name before running data conversion commands.
When it happens
Trigger: Running `freqtrade trade-data-converter` (or convert_trades_format via API) with convert_from='kraken_csv' while config.json still names binance/bybit/etc.; reusing a generic config for the one-off CSV import instead of a kraken config.
Common situations: Users downloading Kraken trade history CSVs and importing them into a bot configured for another exchange (or vice versa); copy-pasted example configs; forgetting to pass --exchange kraken or edit config before the conversion.
Related errors
- This function is only for the kraken exchange.
- --hyperopt-filename expects only the filename, not an absolu
- Trade-list empty.
- Targeted trade amount can't be smaller than minimum trade am
- Please set a timerange. Usually a few months are enough depe
AI-assisted analysis of freqtrade/freqtrade@1c8edfe4d1 (2026-08-15).
Data as JSON: /api/errors/82153cc061d52d89.
Report an issue: GitHub.