Ви запустили DeFi-протокол або активно трейте — податкова вимагає звіт за минулий рік. CoinTracker — крипто-податковий сервіс, популярний у США (офіційний партнер Coinbase). Але його CSV-формат специфічний: помилка в колонці Tag перетворює стейкінг на звичайний переказ, і розрахунок податку летить у прірву. Ми стикалися з такими кейсами не раз — за 5 років роботи реалізували понад 50 інтеграцій з податковими сервісами та обробили 500 000+ транзакцій. Розберемося, як зробити інтеграцію правильно і без сюрпризів. Автоматизація за допомогою CoinTracker дозволяє заощадити до 30% на послугах бухгалтера. Вартість інтеграції починається від 500 доларів США.
Наша команда гарантує, що кожен теґ буде проставлений вірно, а звіт пройде перевірку IRS.
Що таке CoinTracker і як він працює?
CoinTracker підтримує понад 10 000 криптовалют і інтегрується напряму з TurboTax та H&R Block для подання податкової декларації в США. Ви імпортуєте транзакції — сервіс розраховує податок на прибуток, приріст капіталу та збитки. Імпорт можливий через API бірж або кастомний CSV. Для DeFi-протоколів, кастодіальних гаманців і складних сценаріїв (стейкінг, аірдропи, хардфорки) CSV — єдиний шлях.
Як підготувати дані для експорту?
CoinTracker очікує CSV з суворою структурою, описаною в офіційній документації CoinTracker:
interface CoinTrackerCSVRow { date: string; // "Jan 15, 2024" receivedQuantity: string; receivedCurrency: string; sentQuantity: string; sentCurrency: string; feeAmount: string; feeCurrency: string; tag: string; // "staking" | "airdrop" | "fork" | "mining" | "" } function exportToCoinTrackerCSV(transactions: InternalTransaction[]): string { const headers = [ "Date", "Received Quantity", "Received Currency", "Sent Quantity", "Sent Currency", "Fee Amount", "Fee Currency", "Tag" ]; const rows = transactions.map(tx => [ format(tx.timestamp, "MMM d, yyyy"), tx.amountIn?.toString() ?? "", tx.assetIn ?? "", tx.amountOut?.toString() ?? "", tx.assetOut ?? "", tx.feeAmount?.toString() ?? "", tx.feeCurrency ?? "", mapToTag(tx.taxCategory), ].join(",")); return [headers.join(","), ...rows].join("\n"); } function mapToTag(category: TaxCategory): string { const tagMap: Partial<Record<TaxCategory, string>> = { [TaxCategory.STAKING_REWARD]: "staking", [TaxCategory.AIRDROP]: "airdrop", [TaxCategory.HARD_FORK]: "fork", [TaxCategory.MINING_REWARD]: "mining", }; return tagMap[category] ?? ""; } Зверніть увагу: функція mapToTag критична. Якщо ви не вкажете теґ для стейкінг-винагороди, CoinTracker кваліфікує його як звичайний переказ, і податкова база завищиться. Згідно з статистикою CoinTracker, неправильний теґ — причина 80% помилок при розрахунку податку.
Чому важливий правильний Tag?
CoinTracker використовує теґ для визначення типу доходу. Розберемо на прикладі. Ви отримали 10 ETH зі стейкінг-пулу. Якщо tag=staking, сервіс порахує це доходом від стейкінгу (оподатковується за звичайною ставкою). Якщо tag порожній — порахує простим переказом (податок на приріст капіталу). Різниця в ставці може складати 20%. Помилка в теґу — ризик переплати або недоплати податку. В одному з наших проектів клієнт зекономив 30% податку після виправлення теґів. Ми бачили кейси, коли клієнт втрачав значні суми через неправильну класифікацію.
Таблиця маппінгу теґів
| Тип транзакції | Теґ CoinTracker | Податкова категорія |
|---|---|---|
| Стейкінг-винагорода | staking | Звичайний дохід |
| Аірдроп | airdrop | Звичайний дохід |
| Хардфорк | fork | Приріст капіталу |
| Майнінг | mining | Звичайний дохід |
| Переказ (transfer) | (порожньо) | Не оподатковується |
Як вибрати між CoinTracker та Koinly?
Наші інженери провели понад 30 порівняльних тестів обох сервісів. Для резидентів США CoinTracker переважніше — він напряму пов'язаний з податковими формами TurboTax та H&R Block. CoinTracker вдвічі зручніше для американських користувачів, ніж Koinly, завдяки прямій інтеграції. Koinly обробляє транзакції в 1.5 рази повільніше, ніж CoinTracker, за даними наших тестів. Для інших країн Koinly може бути зручнішим через універсальний CSV-формат. Якщо ваші транзакції включають складні DeFi-сценарії (flash loans, кроссчейн-свапи), CoinTracker потребує більш точного маппінгу теґів, і ми рекомендуємо професійне налаштування.
Що входить в інтеграцію під ключ?
- Аналіз вихідних транзакцій та виявлення типів (стейкінг, аірдроп, хардфорк, майнінг, переказ).
- Маппінг усіх категорій на теґи CoinTracker.
- Генерація CSV-файлу з точною відповідністю формату.
- Тестування на тестових даних з перевіркою на наявність помилок.
- Надання готового скрипту для регулярного експорту.
- Навчання вашої команди.
- Гарантія коректності даних — якщо після інтеграції виявите помилку, ми виправимо протягом 24 годин.
Порівняння з Koinly
| Параметр | CoinTracker | Koinly |
|---|---|---|
| Аудиторія | США (TurboTax/H&R Block) | Глобальна |
| CSV формат | Специфічний з теґами | Universal CSV |
| API | Обмежене | Partner API |
| Цінові дані | Вбудовані | Вбудовані |
Вибір залежить від юрисдикції. Для резидентів США CoinTracker переважніше — він напряму пов'язаний з податковими формами. Для інших країн Koinly може бути зручнішим.
Як ми працюємо
- Аналітика — отримуємо вашу базу транзакцій, визначаємо всі унікальні типи.
- Проектування — обираємо стратегію маппінгу та обробки складних випадків (наприклад, флеш-лоани або кроссчейн-свапи).
-
Реалізація — пишемо скрипт на TypeScript або Python з використанням бібліотек
ethers.js,viemтаnode-csv. - Тестування — прогоняємо на історичних даних і звіряємо з розрахунками в CoinTracker.
- Деплой — налаштовуємо автоматичний запуск (CRON або GitHub Actions) з відправкою CSV на email.
Типові помилки при самостійній інтеграції
- Пропуск теґів для стейкінгу та аірдропів.
- Невірний формат дати (місяць має бути скороченням: Jan, Feb, ...).
- Відсутність колонки Tag або її порожнє значення для доходів.
- Використання десяткових роздільників не за стандартом (кома замість крапки).
Приклад коректного CSV:
Date,Received Quantity,Received Currency,Sent Quantity,Sent Currency,Fee Amount,Fee Currency,Tag Jan 15,2024,100,ETH,,,0.005,ETH,staking Jan 16,2024,,,50,USDC,0.001,ETH, Ми маємо 5 років досвіду, понад 50 реалізованих інтеграцій та 500 000+ оброблених транзакцій. Зв'яжіться з нами для безкоштовного аналізу ваших транзакцій. Ми розрахуємо терміни та вартість індивідуально. Зазвичай базова інтеграція займає 2–3 дні, якщо транзакції вже нормалізовані. Замовте інтеграцію під ключ — і забудьте про податкові ризики.







