Skip to content

Exchange Parsers

Supported exchanges

ExchangeFormat IDNotes
Coinbase / Coinbase ProcoinbaseTransactions + fills
Binance InternationalbinanceSpot + convert history
Binance USbinance_us
KrakenkrakenLedger export
GeminigeminiTransaction history
Crypto.comcrypto_comApp export
KuCoinkucoin
OKXokx
Bybitbybit
Gate.iogate
Bitgetbitget
MEXCmexc
HTX (Huobi)htx
Bitfinexbitfinex
Poloniexpoloniex

Blockchain explorers

SourceFormat IDNotes
Etherscan (Transactions)etherscanRequires userAddress + nativeAsset
Etherscan (ERC-20 Tokens)etherscan_erc20Requires userAddress
Solscan (SOL Transfers)solscanRequires userAddress
Solscan (DeFi)solscan_defi

Import tools

ToolFormat ID
Koinlykoinly
CoinTrackercointracker
Cryptactcryptact
Generic CSVgeneric

Usage

import { parseCsv } from '@dtax/tax-engine';
// Specific format
const result = parseCsv(csv, { format: 'kraken' });
// Etherscan with wallet address
const result = parseCsv(csv, {
format: 'etherscan',
userAddress: '0xYourWalletAddress',
nativeAsset: 'ETH', // or 'BNB', 'MATIC', 'AVAX', 'FTM'
});
// Auto-detect
const result = parseCsv(csv);
console.log(result.summary.format); // detected format

Generic CSV format

If your exchange isn’t listed, use the generic format. Your CSV must have these columns:

ColumnRequiredDescription
DateISO 8601 or MM/DD/YYYY
TypeBUY, SELL, TRADE, etc.
Sent Amount
Sent Currency
Received Amount
Received Currency
Fee Amount
Fee Currency
Notes

Download CSV template