Integration with Koinly
Koinly — popular crypto tax service with support for 700+ exchanges and 170+ countries. Integration usually needed when platform wants to provide users convenient transaction export to Koinly without manual CSV download.
Koinly CSV Format
interface KoinlyTransaction {
date: string; // "2024-01-15 14:30:00 UTC"
sentAmount: string;
sentCurrency: string;
receivedAmount: string;
receivedCurrency: string;
feeAmount: string;
feeCurrency: string;
netWorthAmount: string;
netWorthCurrency: string; // "USD"
label: string; // "trade" | "income" | "airdrop" | "staking" | etc
description: string;
txHash: string;
}
Koinly Partner API
async function syncToKoinly(userId: string, koinlyApiKey: string): Promise<void> {
const transactions = await db.getUnsyncedTransactions(userId);
await fetch("https://api.koinly.io/api/v2/transactions", {
method: "POST",
headers: {
"Authorization": `Bearer ${koinlyApiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
transactions: transactions.map(formatForKoinlyAPI),
}),
});
await db.markSyncedToKoinly(userId, transactions.map(t => t.id));
}
Integration with Koinly via CSV export or Partner API — 2-5 business days.







