Developer reference / v1

Контекст адреса.
В одном запросе.

JSON API для 52 сетей. Персональные ключи, учёт запросов и явные статусы источников.

Получить API-ключOpenAPI 3.1 ↗

1. Авторизация

Администратор создаёт аккаунт. Войдите в кабинет и откройте «Мои API-ключи». При выпуске полное значение показывается один раз. Передавайте его на сервере в заголовке:

Authorization: Bearer ai_live_…

# Альтернативный заголовок
X-API-Key: ai_live_…

Не размещайте ключ в публичном коде сайта. После отзыва ключ немедленно перестаёт работать. У отключённого пользователя не работают ни сессии, ни API-ключи.

2. Проверка адреса

POST /v1/check
curl -X POST https://scan.bitfm.pro/v1/check \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "network": "tron",
    "address": "TSrJgEFKMo4mpAuYC2xC4prJ5Q2Ryh3M3d"
  }'

Сначала проверяется собственная БД, затем Arkham, затем ChainLabel. При локальном совпадении внешние квоты не расходуются. Внешний сбор может занять до минуты; предусмотрите таймаут клиента не менее 90 секунд.

Необязательный details: true включает диагностические данные TRONGrid / Tronscan при промахе в базе. Такой запрос может занять несколько минут.

Выбор сети

Передайте network явно, например bitcoin, ethereum, base, solana, ton. Без сети или с auto сервис определит возможные варианты. Если формат общий для нескольких сетей, вернётся HTTP 409 network_required со списком кандидатов. В частности, EVM-адрес сам по себе не определяет сеть.

Открытый GET /v1/networks возвращает актуальные сети, псевдонимы и покрытие источниками. POST /v1/detect с телом {"address":"…"} определяет кандидатов без расхода суточной квоты. Валидация формата не подтверждает существование аккаунта или владение им. Для Zcash доступны только прозрачные t1/t3-адреса, поддержка UTXO — только mainnet.

Собственная база доступна для 48 сетей, ChainLabel — для 16. Источник без поддержки выбранной сети пропускается без расхода квоты. Для EVM сбор через Arkham отключён, пока нельзя гарантировать привязку метки к конкретной сети. Балансы и переводы через details:true доступны только в TRON; для остальных сетей — HTTP 422.

Пример результата

{
  "address": "TSrJgEFKMo4mpAuYC2xC4prJ5Q2Ryh3M3d",
  "network": "tron",
  "status": "partial",
  "label_status": "found",
  "primary_label": {
    "entity": "Poloniex",
    "category": "exchange_deposit",
    "source": "chainlabel",
    "confidence": null
  },
  "risk": { "score": null, "level": "unknown" }
}

partial означает неполный охват данных, включая AML. pending с HTTP 202 — адрес уже собирается другим запросом, повторите проверку позже. label_status: found, not_found или unknown. Нулевая уверенность и неизвестная уверенность различаются: null означает, что источник её не сообщил.

3. Другие методы

МетодПутьНазначение
GET/v1/address/{network}/{address}Известные данные без запуска сбора; 404, если их нет.
GET/v1/networksСети и покрытие, без авторизации.
POST/v1/detectКандидаты сетей, без расхода суточной квоты.
GET/v1/usageСуточная квота, расход и темп запросов текущего пользователя.
GET/v1/healthСостояние API, без авторизации.

4. Лимиты и ошибки

До 10 запросов в секунду на пользователя суммарно по его ключам. Суточную квоту назначает администратор, период — сутки UTC. Каждый валидный вызов POST /v1/check, включая локальное совпадение, расходует пользовательскую квоту. Внешние квоты источников учитываются отдельно.

{ "error": "daily_quota_exceeded" }
HTTPОшибкаЧто делать
400invalid_address / unsupported_networkПроверьте сеть и контрольную сумму адреса.
409network_requiredВыберите сеть из списка networks.
422details_not_supportedДетальный сбор доступен только для TRON.
401unauthorizedПроверьте ключ и статус аккаунта.
404address_not_foundВыполните POST /v1/check.
429rate_limitedПовторите через секунду; см. Retry-After.
429daily_quota_exceededДождитесь нового дня UTC или изменения квоты.

На успешных проверках заголовки X-DailyLimit-Limit и X-DailyLimit-Remaining показывают лимит и остаток.

Метки не являются доказательством владения. Отсутствие метки не означает отсутствие риска. Полный санкционный и AML-анализ в текущую версию не включён.