Вы запустили DeFi-протокол или активно трейте — налоговая требует отчёт за прошлый год. CoinTracker — крипто-налоговый сервис, популярный в США (официальный партнёр Coinbase). Но его CSV-формат специфичен: ошибка в колонке Tag превращает стейкинг в обычный перевод, и расчёт налога летит в пропасть. Мы сталкивались с такими кейсами не раз — за 5 лет работы реализовали более 50 интеграций с налоговыми сервисами и обработали 500 000+ транзакций. Разберёмся, как сделать интеграцию правильно и без сюрпризов.
Наша команда гарантирует, что каждый тег будет проставлен верно, а отчёт пройдёт проверку IRS.
Что такое CoinTracker и как он работает?
CoinTracker поддерживает более 10 000 криптовалют и интегрируется напрямую с TurboTax и H&R Block для подачи налоговой декларации в США. Вы импортируете транзакции — сервис рассчитывает налог на прибыль, прирост капитала и убытки. Импорт возможен через API бирж или кастомный CSV. Для DeFi-протоколов, кастодиальных кошельков и сложных сценариев (стейкинг, аирдропы, хардфорки) CSV — единственный путь.
Как подготовить данные для экспорта?
CoinTracker ожидает CSV со строгой структурой, описанной в официальной документации CoinTracker:
interface CoinTrackerCSVRow { date: string; // "Jan 15, 2025" 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. Для остальных стран 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,2025,100,ETH,,,0.005,ETH,staking Jan 16,2025,,,50,USDC,0.001,ETH, Свяжитесь с нами для бесплатного анализа ваших транзакций. Мы рассчитаем сроки и стоимость индивидуально. Обычно базовая интеграция занимает 2–3 дня, если транзакции уже нормализованы. Закажите интеграцию под ключ — и забудьте о налоговых рисках.







