{"record":{"id":"82153cc061d52d89","repo":"freqtrade/freqtrade","slug":"converting-from-csv-is-only-supported-for-kraken-p","errorCode":null,"errorMessage":"Converting from csv is only supported for kraken.Please refer to the documentation for details about this special mode.","messagePattern":"Converting from csv is only supported for kraken\\.Please refer to the documentation for details about this special mode\\.","errorType":"exception","errorClass":"OperationalException","httpStatus":null,"severity":"error","filePath":"freqtrade/data/converter/trade_converter.py","lineNumber":139,"sourceCode":"            try:\n                ohlcv = trades_to_ohlcv(trades, timeframe)\n                # Store ohlcv\n                data_handler_ohlcv.ohlcv_store(pair, timeframe, data=ohlcv, candle_type=candle_type)\n            except ValueError:\n                logger.warning(f\"Could not convert {pair} to OHLCV.\")\n\n\ndef convert_trades_format(config: Config, convert_from: str, convert_to: str, erase: bool):\n    \"\"\"\n    Convert trades from one format to another format.\n    :param config: Config dictionary\n    :param convert_from: Source format\n    :param convert_to: Target format\n    :param erase: Erase source data (does not apply if source and target format are identical)\n    \"\"\"\n    if convert_from == \"kraken_csv\":\n        if config[\"exchange\"][\"name\"] != \"kraken\":\n            raise OperationalException(\n                \"Converting from csv is only supported for kraken.\"\n                \"Please refer to the documentation for details about this special mode.\"\n            )\n        from freqtrade.data.converter.trade_converter_kraken import import_kraken_trades_from_csv\n\n        import_kraken_trades_from_csv(config, convert_to)\n        return\n\n    from freqtrade.data.history import get_datahandler\n\n    src = get_datahandler(config[\"datadir\"], convert_from)\n    trg = get_datahandler(config[\"datadir\"], convert_to)\n\n    if \"pairs\" not in config:\n        config[\"pairs\"] = src.trades_get_pairs(config[\"datadir\"])\n    logger.info(f\"Converting trades for {config['pairs']}\")\n    trading_mode: TradingMode = config.get(\"trading_mode\", TradingMode.SPOT)\n    for pair in config[\"pairs\"]:","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/freqtrade/freqtrade/blob/1c8edfe4d1e8d11bd4b40e8fc3237c26c3a60e15/freqtrade/data/converter/trade_converter.py#L121-L157","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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)."],"exampleFix":"# before (config.json)\n{\"exchange\": {\"name\": \"binance\"}}\n# freqtrade convert-data --format-from kraken_csv ...\n\n# after\n{\"exchange\": {\"name\": \"kraken\"}}\n# freqtrade convert-data --format-from kraken_csv --format-to feather ...","handlingStrategy":"validation","validationCode":"if convert_from == 'kraken_csv' and config['exchange']['name'] != 'kraken':\n    raise SystemExit('kraken_csv import requires exchange.name == kraken in the config')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use a dedicated kraken config for CSV imports.","Double-check exchange.name before running data conversion commands."],"tags":["freqtrade","kraken","data-conversion","configuration"],"backgroundTag":null,"analyzedSha":"1c8edfe4d1e8d11bd4b40e8fc3237c26c3a60e15","analyzedAt":"2026-08-15T05:09:08.096Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}