Skip to main content

FORMAT: 1A HOST: https://core.cryptohub24.net/

API Cryptohub (RU)

Введениe

CryptoHub — это решение для приёма и обработки криптовалютных платежей, которое работает напрямую с блокчейнами без посредников. Платформа агрегирует протоколы различных сетей и взаимодействует со специализированными сервисами конкретных валют, обеспечивая полностью автономный, стабильный и безопасный процессинг.

С помощью CryptoHub вы можете работать с полным циклом криптовалютных операций: создавать адреса, управлять балансами, проводить выплаты и возвраты, рассчитывать комиссии и проверять mpкорректность транзакций. Все процессы интегрированы в единое API, что позволяет гибко и безопасно подключать криптопроцессинг к вашим сервисам.

Oсновы

CryptoHub API построено на принципах REST. Каждый запрос в API связан с выполнением определенного действия.

CryptoHub API использует HTTP, что делает его совместимым с разработкой на любом языке программирования.

Basic URL: https://core.cryptohub24.net/<метод API>

API поддерживает POST и GET-запросы. POST использует JSON для аргументов, а GET — строковые запросы. API всегда возвращает ответ в формате JSON, независимо от типа запроса.

При отправке запроса к CryptoHub API нужно указать заголовок "Content-Type: application/json" и каждый раз генерировать подпись с помощью вашего секретного ключа. Секретный ключ необходимо получить через менеджеров CryptoHub.

Начало работы с API

Пoдключение:

До начала интеграции вам нужно выполнить несколько шагов:

  1. Передайте вашему менеджеру(Cryptohub) список IP-адресов, которые будут использоваться для работы с API, чтобы мы добавили их в whitelist.

  2. Передайте вашему менеджеру(Cryptohub) креды от риск-провайдера и max_risk_rate — допустимый порог риска

  3. Получите у менеджера partner_id и секретный ключ для доступа к API.

  4. Настроить формирование подписи в вашей системе.

  5. Настроить обработку уведомлений от CryptoHub и проверку их подлинности.

  6. Проинтегрироваться с CryptoHub по API

Пpоверка подлинности уведомлений

При поступлении уведомления от Cryptohub, проверьте его подлинность с помощью проверки IP-адреса и подписи.

Шаг 1. Проверка IP-адреса

Проверьте IP-адрес, с которого пришло уведомление. CryptoHub может присылать уведомления со следующих IP-адресов:

  • 34.147.48.238
  • 34.90.243.164

Формирование подписи [sign]

Для каждого запроса к API необходимо формировать подпись (X-Sign) с использованием вашего secretKey.
Подпись обеспечивает проверку подлинности и целостности данных.

Секретный ключ выдаётся менеджером CryptoHub. Храните его в защищённом месте и не публикуйте на сторонних ресурсах.

Алгоритм формирования подписи

  1. Сформировать тело запроса (JSON).
  2. При необходимости добавить параметр timestamp (в зависимости от конкретного метода API).
  3. Отсортировать все ключи тела по алфавиту.
  4. Сериализовать объект в строку JSON без пробелов и форматирования.
  5. Вычислить HMAC-SHA256 от полученной строки с использованием secretKey.
  6. Передать подпись в заголовке X-Sign.

Пример pre-request скрипта (Postman / JavaScript)

// 1. Load secret (выдаётся менеджером) 
const secretKey = pm.environment.get("secretKey") || "Ввести секретный ключ";

// 2. Parse request body
let bodyObj = {};
if (pm.request.body && pm.request.body.raw) {
try {
bodyObj = JSON.parse(pm.request.body.raw);
} catch (e) {
console.error("Invalid JSON body:", e);
}
}

// 3. Optionally add timestamp
// bodyObj.timestamp = Math.floor(Date.now() / 1000).toString();

// 4. Sort keys
const ordered = {};
Object.keys(bodyObj).sort().forEach(key => {
ordered[key] = bodyObj[key];
});

// 5. Stringify compactly
const jsonString = JSON.stringify(ordered);

// 6. Compute HMAC-SHA256 signature
const CryptoJS = require("crypto-js");
const msgBytes = CryptoJS.enc.Utf8.parse(jsonString);
const keyBytes = CryptoJS.enc.Utf8.parse(secretKey);
const signature = CryptoJS.HmacSHA256(msgBytes, keyBytes).toString(CryptoJS.enc.Hex);

// 7. Set the X-Sign header
pm.request.headers.upsert({
key: 'X-Sign',
value: signature
});

Pre-request Script - это автоматизированный сценарий, выполняемый перед отправкой API-запроса. Его основная функция - подготовка и валидация данных запроса в соответствии с требованиями API.

Интеграционное описание API методов [/integration]

#Group Интеграционное описание API методов

Создание крипто-адреса [/create_address]

С помощью данного метода можно генерировать криптовалютные адреса для различных блокчейнов через агрегатор Cryptohub. Используется для создания адресов депозитов, комиссионных и системных операций.

Prod URL: https://core.cryptohub24.net/create_address

Test URL: https://core.test-cryptohub24.net/create_address

Метод: POST

Типы адресов (AddressType):

Параметр Формат Описание
Push Integer (1) Адрес для оплаты без фиксированной суммы оплаты
Wallet Integer (3) Кошелёк
FeeWallet Integer (4) Кошелёк для комиссий
System Integer (5) Системный кошелёк
ClientWallet Integer (6) Кошелёк клиента (CryptoDeposit)

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

Параметры для формирования подписи:

Параметр Формат Описание
blockchain String Название блокчейна. Пример: BTC, ETH
type Integer Тип адреса.
partner_id Integer Идентификатор партнёра в системе CryptoHub

Входные данные(JSON Body):

Параметр Тип Обязательность Описание Пример
blockchain String Да Название блокчейна "Bitcoin"
type Integer Да Тип генерируемого адреса 1
user_info Object Нет Дополнительная информация о пользователе {"user_id": "12345"}
partner_id String Да Внешний идентификатор партнёра "partner_company"

Опциональные параметры:

Параметр Тип Описание Пример
need_activate Boolean Указывает, нужно ли активировать адрес. Применимо для сетей Tron, Ton true / false

Ответные данные:

Параметр Тип Описание Пример
address String Адрес в выбранном блокчейне 0x63b5192bbcbd3d30ad14837ab9fdded3b2935f7d
cross_chains String Список блокчейнов, в которых этот адрес может использоваться дополнительно к запрошенному BSC

Создание крипто-адреса [POST]

  • Request

    • Headers

      Content-Type: application/json X-Sign: sha256_signature

    • Body

      {
      "blockchain": "Bitcoin",
      "type": 1,
      "user_info": {
      "user_id": "customer_12345"
      },
      "partner_id": "your_partner_id",

      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "blockchain": "Ethereum",
      "address": "0x63b5192bbcb d3d30ad14837a b9fdded3b2935f7d",
      "cross_chains": ["BSC", "Polygon"]
      },
      "message": "OK",
      "error_code": 0
      }
  • Response 200 (Кейс: запрос не успешен)

    • Body

      {
      "result": false,
      "data": {}
      }
  • Response 400 (application/json)

    • Body

      {
      "error": "Invalid signature"
      }
  • Response 400 (application/json)

    • Body

      {
      "error": "Address type not allowed"
      }
  • Response 403 (application/json)

    • Body

      {
      "error": "Forbidden - IP not in whitelist"
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Создание выплаты [/create_withdraw]

С помощью данного метода можно инициировать вывод криптовалютных средств через агрегатор Cryptohub. Поддерживает различные типы выводов с настройкой комиссий и проверкой безопасности.

Prod URL: https://core.cryptohub24.net/create_withdraw

Test URL: https://core.test-cryptohub24.net/create_withdraw

Метод: POST

Подробнее о статусах транзакциях вы можете ознакомится тут

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body) Обязательные параметры:

Параметр Тип Описание Пример
blockchain string Название блокчейна "Bitcoin"
token string Тикер токена "BTC"
from_address string Адрес отправителя "bc1q...sender"
to_address string Адрес получателя "bc1q...receiver"
withdraw_id string Уникальный ID вывода. При повторной передаче можно запросить обновление статуса вывода "wd_12345"
amount string Сумма для вывода "1.0"
partner_id string ID партнера "partner_company"

Опциональные параметры:

Параметр Тип Описание Пример
fee_address string Адрес для комиссии.
Опционально — для базовых валют (например, ETH в сети Ethereum).
Обязательно — для небазовых токенов (например, USDT).
"bc1q...fee"
fee_level string Уровень комиссии: low / medium / high "medium"
withdraw_type integer Тип вывода:
1 — Withdraw
2 — System
3 — Payout
1
max_fee_price string Максимальная цена комиссии "100.0"
include_fee bool При true комиссия будет оплачена из объема вывода (если вывод в базовом токене) true
comment string Комментарий к транзакции, который необходимо добавить в блокчейне "Payment for invoice #123"

Ответные данные:

Параметр Тип Описание Пример
blockchain string Адрес в разрезе блокчейна 0x63b5192bbcbd3d30ad14837ab9fdded3b2935f7d
token string Тикер токена BTC
amount string Сумма вывода "1.0"
hash string Хэш транзакции "0xa12f...9bc3"
status int Статус транзакции (см. таблицу статусов выше) 5
from_address string Адрес отправителя "bc1q...sender"
to_address string Адрес получателя "bc1q...receiver"
transaction_id int ID транзакции 123456
created date Дата создания "2025-09-30T12:34:56Z"
processed date Дата обработки "2025-09-30T12:40:00Z"

Примеры ответов с ошибками:
Недостаточно средств (error_code: 20)

{
"result": false,
"message": "Insufficient balance for transaction",
"error_code": 20
}
Подробнее о возможных ошибках

Создание выплаты [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "blockchain": "Ton",
      "token": "USDT",
      "from_address": "ВАШ_АДРЕС_ОТПРАВИТЕЛЯ",
      "to_address": "ВАШ_АДРЕС_ПОЛУЧАТЕЛЯ",
      "withdraw_id": "ВАШ_УНИКАЛЬНЫЙ_ID",
      "amount": "1.0",
      "partner_id": "ВАШ_PARTNER_ID",
      "fee_address": "АДРЕС_ДЛЯ_КОМИССИИ",
      "fee_level": "low",
      "withdraw_type": 1,
      "max_fee_price": "100.0",
      "include_fee": true,
      "comment": "Комментарий к транзакции"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "blockchain": "BSC",
      "token": "USDT",
      "amount": "1.0",
      "hash": "0x864b6815119bd852ef0e7a6e2ad481dfc705d1d80211adf72146d057ff0af",
      "status": 1,
      "from_address": "0xd1d5f52c21f655957a94a742acasff1cf81885b",
      "to_address": "0x4d98388fb",
      "transaction_id": 44879,
      "created": "2022-09-27 15:58:39",
      "processed": "2022-09-27 15:58:40"
      },
      "message": "OK",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Insufficient balance for transaction",
      "error_code": 20
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Duplicate withdraw_id detected",
      "error_code": 25
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner (some_external_partner_id) not found",
      "error_code": 2000
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Получение баланса [/get_balance]

С помощью данного метода можно получить суммарный баланс по каждому токену по данным Cryptohub.

Prod URL: https://core.cryptohub24.net/get_balance

Test URL: https://core.test-cryptohub24.net/get_balance

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256.
Дополнительные параметры участвующие в подписи: timestamp . Формат: "%Y-%m-%d %H:%M:%S" Подробнее

####Входные данные(JSON Body):

Параметр Тип Описание Пример
blockchain string Название блокчейна "Bitcoin"
timestamp number UNIX timestamp с миллисекундами 1659100099.278159
partner_id string ID партнера "your_partner_id"

Ответные данные:

Поле Тип Описание
result boolean Результат операции (true/false)
data.balances object Балансы токенов в формате {"ТОКЕН": "СУММА"}
message string Сообщение от сервера
error_code integer Код ошибки

Получение баланса [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "blockchain": "Bitcoin",
      "timestamp": 1659100099.278159,
      "partner_id": "ВАШ_PARTNER_ID"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "balances": {
      "BTC": "0.512548060000000000"
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "data": null,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "data": null,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 500 (application/json)

    • Body

Проверка риска адреса [/get_address_risk_rate]

С помощью данного метода можно проверить уровень риска криптовалютного адреса через интеграцию с сервисами анализа рисков.

Prod URL: https://core.cryptohub24.net/get_address_risk_rate

Test URL: https://core.test-cryptohub24.net/get_address_risk_rate

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body):

Параметр Тип Описание Пример
address string Криптовалютный адрес для проверки "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k"
blockchain string Название блокчейна адреса "Bitcoin"
partner_id string ID партнера "your_partner_id"

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.address string Проверяемый адрес
data.blockchain string Блокчейн адреса
data.risk_rate number Уровень риска (от 0.0 до 1.0)
data.risk_level string Уровень риска: low / medium / high / critical
data.categories array[] Категории адреса (например: exchange, gambling, mining и т.д.)
data.transactions_count integer Общее количество транзакций
data.first_seen string Дата первого использования
data.last_seen string Дата последней активности
data.volume_received string Общий объем полученных средств
data.volume_sent string Общий объем отправленных средств
message string Сообщение от сервера
error_code integer Код ошибки (0 = успех)

Описание результатов аналитической системы:

Поле Тип Пример Описание
result boolean true Флаг успешного выполнения запроса
message string "Ok" Сообщение об успехе или ошибке
error_code int 0 Код ошибки (0 = ошибок нет)
data.blockchain string "Bitcoin" Блокчейн, к которому относится адрес
data.address string "tb1qv5kk494..." Проверяемый адрес
data.partner string "KVITUM" Идентификатор партнёра
data.recipient_address_risky.checked boolean true Проверка на рискованность адреса выполнена
data.white_or_black_address.checked boolean true Проверка на наличие адреса в whitelist/blacklist выполнена
data.crystal.start string (datetime) "2025-09-25 16:26:41" Время старта проверки
data.crystal.checked boolean true Факт выполнения проверки
data.crystal.risk_rate float 0.05 Итоговый риск адреса (0–1)
data.crystal.signals.atm float 0.01 Риск, связанный с банкоматами
data.crystal.signals.scam float 0.05 Риск мошенничества
data.crystal.signals.miner float 0.04 Риск, связанный с майнингом
data.crystal.signals.mixer float 0.02 Использование миксеров
data.crystal.signals.ransom float 0.1 Вымогательство
data.crystal.signals.gambling float 0.2 Азартные игры
data.crystal.signals.sanctions float 0.72 Связь с санкционными адресами
data.crystal.signals.dark_market float 0.03 Даркнет-маркеты
data.crystal.signals.marketplace float 0.08 Нелегальные маркетплейсы
data.crystal.signals.dark_service float 0.07 Даркнет-сервисы
data.crystal.signals.stolen_coins float 0.06 Украденные монеты
data.crystal.signals.seized_assets float 0.09 Арестованные активы
data.crystal.signals.illegal_service float 0.01 Нелегальные сервисы
data.crystal.signals.liquidity_pools float 0.01 Подозрительные пулы ликвидности
data.crystal.signals.exchange_licensed float 0.02 Лицензированные биржи
data.crystal.signals.exchange_fraudulent float 0.01 Мошеннические биржи
data.crystal.signals.exchange_unlicensed float 0.02 Нелицензированные биржи
data.crystal.signals.p2p_exchange_licensed float 0.01 Лицензированные P2P-биржи
data.crystal.signals.p2p_exchange_unlicensed float 0.08 Нелицензированные P2P-биржи
data.crystal.signals.child_exploitation float 0.4 Детская эксплуатация (критический индикатор)
data.crystal.signals.terrorism_financing float 0.35 Финансирование терроризма
data.crystal.signals.enforcement_action float 0.02 Правоприменительные действия
data.crystal.risk_reason string "High Risk" Текстовое объяснение уровня риска
data.max_risk_rate float 0.3 Пороговое значение риска
data.risk_rate float 0.05 Рассчитанный риск адреса
data.risky boolean false Флаг «рискованный/нерискованный» с учётом порога

Проверка риска адреса [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "blockchain": "Bitcoin",
      "partner_id": "ВАШ_PARTNER_ID"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "blockchain": "Bitcoin",
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "partner": "example",
      "recipient_address_risky": {
      "checked": true
      },
      "white_or_black_address": {
      "checked": true
      },
      "crystal": {
      "start": "2025-09-25 16:26:41",
      "checked": true,
      "risk_rate": 0.05,
      "signals": {
      "atm": 0.01,
      "scam": 0.05,
      "miner": 0.04,
      "mixer": 0.02,
      "other": 0.02,
      "ransom": 0.1,
      "wallet": 0.01,
      "payment": 0.01,
      "gambling": 0.2,
      "sanctions": 0.72,
      "dark_market": 0.03,
      "marketplace": 0.08,
      "dark_service": 0.07,
      "stolen_coins": 0.06,
      "seized_assets": 0.09,
      "illegal_service": 0.01,
      "liquidity_pools": 0.01,
      "exchange_licensed": 0.02,
      "child_exploitation": 0.4,
      "enforcement_action": 0.02,
      "exchange_fraudulent": 0.01,
      "exchange_unlicensed": 0.02,
      "terrorism_financing": 0.35,
      "p2p_exchange_licensed": 0.01,
      "p2p_exchange_unlicensed": 0.08
      },
      "risk_reason": "High Risk"
      },
      "max_risk_rate": 0.3,
      "risk_rate": 0.05,
      "risky": false
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Расчет комиссии [/calculate_fee]

С помощью данного метода можно рассчитать размер комиссии для транзакции в указанном блокчейне. Поддерживает различные уровни комиссий и автоматически определяет оптимальную сумму для разных типов блокчейнов.

Prod URL: https://core.cryptohub24.net/calculate_fee

Test URL: https://core.test-cryptohub24.net/calculate_fee

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256.
Дополнительные параметры участвующие в подписи: timestamp . Формат: "%Y-%m-%d %H:%M:%S" Подробнее

####Входные данные(JSON Body)

Обязательные параметры:

Параметр Тип Описание Пример
blockchain string Название блокчейна "Bitcoin"
token string Тикер токена "BTC"
from_address string Адрес отправителя "tb1q...sender"
fee_level string Уровень комиссии: low / medium / high "medium"
partner_id string ID партнера "your_partner_id"
timestamp number UNIX timestamp с миллисекундами 1659100099.27815

Опциональные параметры:

Параметр Тип Описание Пример
amount string Сумма транзакции (опционально) "0.1"

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.blockchain string Блокчейн транзакции
data.token string Токен, в котором рассчитана комиссия (базовый токен блокчейна)
data.fee string Рассчитанная комиссия
data.fee_level string Использованный уровень комиссии
message string Сообщение от сервера
error_code integer Код ошибки

Расчет комиссии [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "blockchain": "Ton",
      "token": "USDT",
      "from_address": "EQCCkzV4N3rGJYYbCAhdCH4u8isQ3hc0jIWul6JUM8UXtVOT",
      "fee_level": "low",
      "partner_id": "1",
      "timestamp": 1659100099.278159,
      "amount": "0.1"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "blockchain": "Ton",
      "token": "TON",
      "fee": "0.047",
      "fee_level": "low"
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Token is not active",
      "error_code": 11
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid amount",
      "error_code": 19
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Address not for blockchain",
      "error_code": 27
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Получение баланса адреса [/get_address_balance]

С помощью данного метода можно получить балансы всех токенов для указанного криптовалютного адреса, принадлежащего партнеру.

Prod URL: https://core.cryptohub24.net/get_address_balance

Test URL: https://core.test-cryptohub24.net/get_address_balance

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256.
Дополнительные параметры участвующие в подписи: timestamp . Формат: "%Y-%m-%d %H:%M:%S" Подробнее

####Входные данные(JSON Body):

Параметр Тип Описание Пример
address string Криптовалютный адрес для проверки "EQCCkzV4N3rGJYYbCAhdCH4u8isQ3hc0jIWul6JUM8UXtVOT"
timestamp number UNIX timestamp с миллисекундами 1659100099.278159
partner_id string ID партнера "your_partner_id"

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.balances object Балансы по блокчейнам и токенам
data.balances.{blockchain} object Балансы для конкретного блокчейна
data.balances.{blockchain}.{token} string Баланс токена в строковом формате
message string Сообщение от сервера
error_code integer Код ошибки (0 = успех)

Получение баланса адреса [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "address": "EQCCkzV4N3rGJYYbCAhdCH4u8isQ3hc0jIWul6JUM8UXtVOT",
      "timestamp": 1659100099.278159,
      "partner_id": "ВАШ_PARTNER_ID"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "balances": {
      "Ton": {
      "TON": "7.866401871",
      "USDT": "8.089"
      }
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Address not found for this partner",
      "error_code": 27
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Возврат транзакции [/refund_transaction]

С помощью данного метода можно инициировать возврат средств для платежей (тип Payment). Поддерживает возвраты как в базовой валюте блокчейна, так и в токенах.

Prod URL: https://core.cryptohub24.net/refund_transaction

Test URL: https://core.test-cryptohub24.net/refund_transaction

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body): Обязательные параметры:

Параметр Тип Описание Пример
transaction_id string ID исходной транзакции для возврата "80211"
to_address string Адрес для возврата средств "TELiZxB4eiKrXqbrtSMMFj4c1wxZNzsswg"
fee_address string Адрес для оплаты комиссии "TAHZe1e2avW3zmNozcjohBCsruNiJ1bEY8"
partner_id string ID партнера "your_partner_id"

Опциональные параметры:

Параметр Тип Описание Пример
fee_level string Уровень комиссии: low/medium/high "low"
max_fee_price string Максимальная цена комиссии "100.0"
comment string Комментарий к возврату "Refund for order #123"
confirmations integer Количество подтверждений 3
fee_limit string Ограничение затрат на комиссию

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.hash string Хэш транзакции возврата в блокчейне
data.blockchain string Блокчейн транзакции
data.token string Токен возврата
data.amount string Сумма возврата
data.status integer Статус транзакции возврата
data.from_address string Адрес отправителя (исходный адрес транзакции)
data.to_address string Адрес получателя возврата
data.transaction_id integer ID новой транзакции возврата
data.created string Время создания возврата
data.processed string Время обработки возврата (если завершено)
message string Сообщение от сервера
error_code integer Код ошибки

Возврат транзакции [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "transaction_id": "80211",
      "to_address": "TELiZxB4eiKrXqbrtSMMFj4c1wxZNzsswg",
      "fee_address": "TAHZe1e2avW3zmNozcjohBCsruNiJ1bEY8",
      "partner_id": "your_partner_id",
      "fee_level": "low",
      "max_fee_price": "100.0",
      "comment": "Refund for order #123",
      "confirmations": 3,
      "fee_limit": "0.1"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "hash": "01158a9062abbe04cb417ae334fc98d9fa9e7f83181163776406661bfa4ca8f1",
      "blockchain": "Tron",
      "token": "TRX",
      "amount": "10.000000000000000000",
      "status": 5,
      "from_address": "TAHZe1e2avW3zmNozcjohBCsruNiJ1bEY8",
      "to_address": "TELiZxB4eiKrXqbrtSMMFj4c1wxZNzsswg",
      "transaction_id": 80212,
      "created": "2025-09-25 12:37:20",
      "processed": "2025-09-25 12:38:31"
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Refund already created for this transaction",
      "error_code": 22
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Balance on address not enough for refund",
      "error_code": 20
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Refund on our address prohibited",
      "error_code": 23
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Fee address required",
      "error_code": 24
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Валидация адреса [/validate_address]

С помощью данного метода можно проверить валидность и активность криптовалютного адреса для указанного блокчейна. Проверяет как формальную корректность, так и возможность использования адреса в сети.

Prod URL: https://core.cryptohub24.net/validate_address

Test URL: https://core.test-cryptohub24.net/validate_address

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body)

Параметр Тип Описание Пример
address string Криптовалютный адрес для проверки "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k"
blockchain string Название блокчейна адреса "Bitcoin"
timestamp number UNIX timestamp с миллисекундами 1659100099.278159
partner_id string ID партнера "your_partner_id"

Ответные данные:

Поле Тип Описание
result boolean Результат операции (всегда true, кроме серверных ошибок)
data.valid boolean Формальная валидность: соответствует ли адрес стандартам блокчейна
data.active boolean Активность: можно ли использовать адрес в сети (активирован ли в блокчейне. Для Ton, Tron адрес нужно дополнительно активировать специальным образом, без этого не весь функционал доступен)
message string Сообщение от сервера
error_code integer Код ошибки

Валидация адреса [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "blockchain": "Bitcoin",
      "timestamp": 1659100099.278159,
      "partner_id": "ВАШ_PARTNER_ID"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "valid": true,
      "active": true
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "valid": true,
      "active": false
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "valid": false,
      "active": false
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Получение баланса адреса по блокчейну [/get_address_blockchain_balance]

С помощью данного метода можно получить балансы токенов для указанного адреса в конкретном блокчейне. В отличие от метода get_address_balance, передает баланс из блокчейна, а не из данных Cryptohub.

Prod URL: https://core.cryptohub24.net/get_address_blockchain_balance

Test URL: https://core.test-cryptohub24.net/get_address_blockchain_balance

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body) Обязательные параметры:

Параметр Тип Описание Пример
address string Криптовалютный адрес для проверки "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k"
blockchain string Название блокчейна "Bitcoin"
timestamp string Временная метка в ISO формате "2022-10-10T10:10:10.000Z"
partner_id integer ID партнера 1

Опциональные параметры:

Параметр Тип Описание Пример
tokens array Список токенов для фильтрации ["BTC", "USDT"]

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.balances object Балансы токенов в блокчейне
data.balances.{token} string / number Баланс токена (строка для ненулевых, число 0 для нулевых)
message string Сообщение от сервера
error_code integer Код ошибки

Особенности формата ответа:

-Ненулевые балансы: возвращаются как строки для точности ("0.125000000")

-Нулевые балансы: возвращаются как числа (0)

-Фильтрация: если указан параметр tokens, возвращаются только запрошенные токены

Получение баланса адреса по блокчейну [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "blockchain": "Bitcoin",
      "timestamp": "2022-10-10T10:10:10.000Z",
      "partner_id": 1,
      "tokens": ["BTC", "USDT"]
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "balances": {
      "BTC": "0.125000000",
      "USDT": "1500.000000"
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "balances": {
      "BTC": 0
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Address not for blockchain",
      "error_code": 27
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Сверка блокчейна [/blockchain_reconciliation]

С помощью данного метода можно инициировать процесс сверки (реконсиляции) балансов для указанного блокчейна за определенный период времени. Процесс выполняется асинхронно в фоновом режиме. Доступна отправка расхождений в мессенджере "Telegram".

Prod URL: https://core.cryptohub24.net/blockchain_reconciliation

Test URL: https://core.test-cryptohub24.net/blockchain_reconciliation

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

Сценарии сверки (автоматический выбор):

  • Cross-Chain с полной проверкой - для блокчейнов с cross-chain поддержкой и check_all=true
  • Обычная полная проверка - для блокчейнов без cross-chain и check_all=true
  • Cross-Chain частичная проверка - для блокчейнов с cross-chain и check_all=false
  • Обычная частичная проверка - для блокчейнов без cross-chain и check_all=false***

Какие адреса проверяются:

  • При check_all=true (полная сверка): Все адреса партнера в указанном блокчейне
  • При check_all=false (частичная сверка): Адреса с транзакциями в указанный период, новые адреса, системные, кошельковые и fee-адреса, адреса с ранее найденными расхождениями

Важные примечания:

  • Процесс сверки выполняется асинхронно
  • Ответ processed: true означает, что запрос принят в обработку
  • Уведомление об окончании сверки через callback-уведомления
  • Для больших периодов обработка может занимать время

Рекомендации:

  • Используйте ежедневные сверки для актуальности данных
  • Мониторьте callback-уведомления о завершении сверок

####Входные данные(JSON Body) Обязательные параметры:

Параметр Тип Описание Пример
blockchain string Название блокчейна для сверки "Bitcoin"
start string Начало периода (ISO format) "2022-10-10T10:10:10.000Z"
end string Конец периода (ISO format) "2022-10-11T10:10:10.000Z"
id integer ID запроса для поиска расхождений, которые были найдены по данному запросу.
(Поиск по этому параметру пока недоступен)
1
partner_id integer ID партнера 1
timestamp string Временная метка (ISO format) "2022-10-11T10:10:10.000Z"

Опциональные параметры:

Параметр Тип Описание Пример
check_all boolean Полная сверка всех адресов true

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.processed boolean Статус обработки запроса (true — запрос принят в обработку)
message string Сообщение от сервера
error_code integer Код ошибки

Сверка блокчейна [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "blockchain": "Bitcoin",
      "start": "2024-01-20T00:00:00.000Z",
      "end": "2024-01-20T23:59:59.999Z",
      "id": 1,
      "partner_id": 1,
      "timestamp": "2024-01-21T10:00:00.000Z",
      "check_all": true
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "processed": true
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Blockchain is not active",
      "error_code": 10
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid period",
      "error_code": 30
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Сбор платежей [/collect_payments]

С помощью данного метода можно собрать средства с нескольких адресов на один коллекторский адрес. Поддерживает различные сценарии сбора в зависимости от типа токена и адресов.

Prod URL: https://core.cryptohub24.net/collect_payments

Test URL: https://core.test-cryptohub24.net/collect_payments

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее


Типы адресов и их назначение:

  • Адреса для сбора (addresses): Тип "push" (депозитные адреса) - адреса, с которых собираются средства (клиентские адреса пополнения)
  • Коллекторский адрес (collector_address): Тип "system" (системный адрес) - адрес для накопления собранных средств (холодный кошелек или основной счет)
  • Адрес комиссии (fee_address): Любой адрес партнера с балансом - для оплаты комиссий сети

Особенности для разных типов токенов:

  • Базовые токены (BTC, ETH, TRX): fee_address не обязателен, комиссия оплачивается тем же токеном
  • Небазовые токены (USDT, USDC): fee_address обязателен, требуется баланс в базовой валюте для комиссии

Сценарии использования:

  • Сбор с конкретных адресов через параметр addresses
"addresses": [
"TE7gA5yTnhQce9SYni4AyMsV6qAkvuGV3N", и другие адреса]
  • Сбор со всех адресов через параметр collect_all: true
{
"blockchain": "",
"token": "",
"collector_address": "",
"partner_id": "1",
"collect_all": true,
"fee_address": ""
}

####Входные данные(JSON Body) Обязательные параметры:

Параметр Тип Описание Пример
blockchain string Название блокчейна "Tron"
token string Тикер токена для сбора "TRX"
addresses array Список адресов для сбора ["TE7gA5yTnhQce9SYni4AyMsV6qAkvuGV3N"]
collector_address string Адрес-коллектор (system тип) "TCM28qNGEFcR7RJ6UnhV3TcFNy3CG3BUNF"
partner_id string ID партнера "1"

Опциональные параметры:

Параметр Тип Описание Пример
min_balance string Минимальный баланс для сбора "1.0"
fee_address string Адрес для оплаты комиссии "TAHZe1e2avW3zmNozcjohBCsruNiJ1bEY8"
fee_level string Уровень комиссии: low/medium/high "low"
fee_limit string Ограничение затрат на комиссию null
max_fee_price string Максимальная цена комиссии "100.0"
collect_all boolean Собрать со всех адресов true

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.blockchain string Блокчейн операции
data.token string Токен сбора
data.transits array Массив ID созданных транзитных операций
message string Сообщение от сервера
error_code integer Код ошибки (0 = успех)

Сбор платежей [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "blockchain": "Tron",
      "token": "TRX",
      "addresses": [
      "TE7gA5yTnhQce9SYni4AyMsV6qAkvuGV3N"
      ],
      "collector_address": "TCM28qNGEFcR7RJ6UnhV3TcFNy3CG3BUNF",
      "partner_id": "1",
      "min_balance": "1.0",
      "fee_address": "TAHZe1e2avW3zmNozcjohBCsruNiJ1bEY8",
      "fee_level": "low",
      "max_fee_price": "100.0",
      "collect_all": true
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "blockchain": "Tron",
      "token": "TRX",
      "transits": [80214]
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Fee address needed for non-base tokens",
      "error_code": 24
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid minimum balance",
      "error_code": 26
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

История транзакций адреса [/get_transaction_history]

С помощью данного метода можно получить историю транзакций для указанного криптовалютного адреса за заданный период времени. Работает только с адресами, принадлежащими партнеру.

Prod URL: https://core.cryptohub24.net/get_transaction_history

Test URL: https://core.test-cryptohub24.net/get_transaction_history

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body):

Параметр Тип Описание Пример
address string Криптовалютный адрес для проверки "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k"
start string Начало периода (формат: "YYYY-MM-DD HH:MM:SS") "2022-09-24 15:58:39"
end string Конец периода (формат: "YYYY-MM-DD HH:MM:SS") "2025-09-26 19:35:11"
partner_id integer ID партнера 1
timestamp string Временная метка (ISO format) "2024-01-21T10:00:00.000Z"

Ответные данные:

Поле Тип Описание
result boolean Результат операции
data.transactions_history.address string Проверяемый адрес
data.transactions_history.address_type integer Тип адреса (1 — push, 2 — wallet и т.д.)
data.transactions_history.transactions array Массив транзакций
transactions[].hash string Хэш транзакции в блокчейне
transactions[].blockchain string Блокчейн транзакции
transactions[].token string Токен транзакции
transactions[].amount string Сумма транзакции
transactions[].status integer Статус транзакции
transactions[].from_address string Адрес отправителя
transactions[].to_address string Адрес получателя
transactions[].transaction_id integer Внутренний ID транзакции
transactions[].created string Время создания
transactions[].processed string Время обработки
transactions[].confirmations integer Количество подтверждений
transactions[].type integer Тип транзакции
message string Сообщение от сервера
error_code integer Код ошибки

История транзакций адреса [POST]

  • Request (application/json)

    • Headers

      Content-Type: X-Sign: generated_signature_here

    • Body

      {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "start": "2024-01-20 00:00:00",
      "end": "2024-01-21 23:59:59",
      "partner_id": 1,
      "timestamp": "2024-01-22T10:00:00.000Z"
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": {
      "transactions_history": {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "address_type": 1,
      "transactions": [
      {
      "hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef1234",
      "blockchain": "Bitcoin",
      "token": "BTC",
      "amount": "0.15000000",
      "status": 5,
      "from_address": "bc1qsendaddress1234567890abcdefghijk",
      "to_address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "transaction_id": 12345,
      "created": "2024-01-20 14:30:25",
      "processed": "2024-01-20 14:35:10",
      "confirmations": 12,
      "type": 1
      }
      ]
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (Без транзакции:)

    • Body

      {
      "result": true,
      "data": {
      "transactions_history": {
      "address": "tb1qv5kk494hh98sydrk4ksprmm9j24v64z9pml80k",
      "address_type": 1,
      "transactions": []
      }
      },
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid address format",
      "error_code": 18
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Address not found for this partner",
      "error_code": 27
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Запрос на получение списка транзакций [/list_transactions]

С помощью данного метода можно получить список транзакций партнёра с возможностью фильтрации по различным параметрам (статус, тип, адреса и др.).

Prod URL: https://core.cryptohub24.net/list_transactions

Test URL: https://core.test-cryptohub24.net/list_transactions

Метод: POST

Аутентификация осуществляется через цифровую подпись X-Sign в заголовке запроса, формируемую по алгоритму SHA-256. Подробнее

####Входные данные(JSON Body):

Параметр Тип Описание Пример
partner_id string ID партнёра "1"
Необязательные параметры (фильтры):
Параметр Тип Описание Пример
id integer ID транзакции 80022
status integer Статус транзакции (1 = успешно и т.д.) 1
type integer Тип транзакции (4 = депозит, 5 = вывод) 4
transaction_hash string Хэш транзакции "fd1e40..."
from_address string Адрес отправителя "0xd638..."
to_address string Адрес получателя "0xf40d3..."
base_amount string Сумма в базовой валюте "5000"
is_small_amount boolean Признак «малой суммы» false
risky boolean Флаг рискованной транзакции false
created string Дата создания (формат: YYYY-MM-DD) "2025-09-01"
updated string Дата обновления "2025-09-05"
processing boolean Признак в обработке false
blockchain string Блокчейн транзакции "Tron"
token string Токен "TRX"

Доступные операции для фильтров:

Операция Описание
eq равно
lt меньше
lte меньше или равно
gt больше
gte больше или равно
ne не равно
in входит в список
is проверка на null или boolean
like поиск по шаблону (чувствителен к регистру)
ilike поиск по шаблону (без учета регистра)

Ответные данные:

Поле Тип Описание
result boolean Результат операции (true/false)
data array Массив транзакций
data[].id integer ID транзакции
data[].transaction_hash string Хэш транзакции (может быть null)
data[].partner_transaction_id string ID транзакции партнёра (если передавался)
data[].cs_transaction_id string Внутренний ID (может быть null)
data[].type integer Тип транзакции
data[].blockchain string Название блокчейна (Tron, BSC, Bitcoin и т.д.)
data[].token string Токен (TRX, BNB, BTC)
data[].partner integer ID партнёра
data[].status integer Статус транзакции
data[].status_updated string Время обновления статуса (может быть null)
data[].block integer Номер блока (если применимо)
data[].confirmations integer Количество подтверждений
data[].from_address string Адрес отправителя
data[].to_address string Адрес получателя
data[].token_amount string Сумма в токенах
data[].base_amount string Сумма в базовой валюте
data[].is_small_amount boolean Признак «малой суммы»
data[].fee string Комиссия
data[].fee_info.fee_level string Уровень комиссии (low, medium, high)
data[].fee_info.fee_limit string Лимит комиссии (может быть null)
data[].fee_info.max_fee_price string Максимальная комиссия (если есть)
data[].risky boolean Признак рискованной транзакции
data[].risk_rate_info object Детали по рискам (может быть пустым)
data[].config.comment string Комментарий к транзакции
data[].config.refund_of integer ID транзакции, возвратом которой является текущая
data[].config.next_check string Следующее время проверки транзакции
data[].config.check_count integer Количество проверок транзакции
data[].config.confirmations integer Количество подтверждений (сохранённых в config)
data[].config.processing_time string Время обработки транзакции
data[].created string Дата создания транзакции
data[].updated string Дата обновления транзакции
data[].processing boolean Признак обработки транзакции
data[].fee_currency string Валюта комиссии (например, TRX)
message string Сообщение от сервера
error_code integer Код ошибки (0 = успех)

Запрос на получение списка транзакций [POST]

  • Request ()

    • Headers

      Content-Type: application/json X-Sign: generated_signature_here

    • Body

      {
      "partner_id": "1",
      "filters": {
      "status": {
      "eq": "1"
      },
      "type": {
      "eq": "4"
      },
      "blockchain": {
      "eq": "Tron"
      },
      "token": {
      "eq": "TRX"
      },
      "created": {
      "gte": "2025-09-01"
      },
      "base_amount": {
      "gt": "1000"
      },
      "risky": {
      "eq": false
      }
      }
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": [
      {
      "id": 80022,
      "transaction_hash": null,
      "partner_transaction_id": null,
      "cs_transaction_id": null,
      "type": 4,
      "blockchain": "Tron",
      "token": "TRX",
      "partner": 1,
      "status": 1,
      "status_updated": null,
      "block": null,
      "confirmations": 0,
      "from_address": "TE7gA5yTnhQce9SYni4AyMsV6qAkvuGV3N",
      "to_address": "TTK3vbnmHLVJgfL5onfBSVTeCXMMBunA6a",
      "token_amount": "0",
      "base_amount": "5000",
      "is_small_amount": false,
      "fee": "0",
      "fee_info": {
      "fee_level": "medium",
      "fee_limit": null,
      "max_fee_price": null
      },
      "risky": false,
      "risk_rate_info": {},
      "config": {
      "comment": null,
      "refund_of": 80018,
      "next_check": "2025-09-26 17:30:58",
      "check_count": 50,
      "confirmations": 1,
      "processing_time": "2025-09-25T17:30:57.553403"
      },
      "created": "2025-09-01 12:19:10",
      "updated": null,
      "processing": false,
      "fee_currency": "TRX"
      }
      ],
      "message": "Ok",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": true,
      "data": [],
      "message": "No transactions found",
      "error_code": 0
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Partner not found",
      "error_code": 2000
      }
  • Response 200 (application/json)

    • Body

      {
      "result": false,
      "message": "Invalid filter parameters",
      "error_code": 30
      }
  • Response 500 (application/json)

    • Body

      {
      "error": "Internal server error"
      }

Group Callback уведомления

При изменении статуса транзакции, Cryptohub отправляет callback на указанный партнёром callback_url.
В этой связи, партнёру необходимо:

  • Обработать callback у себя;
  • Выставить endpoint для приёма данных;
  • При необходимости — вернуть в ответе параметры по риск-чеку или автоматическому транзиту.

Для проверки на риск, статусы транзакции должны быть не финальными (например: new, not confirmed).

Типы транзакций:

Код Название Описание
1 Payment Оплата клиентов на наши адреса
2 FeeRequest Запрос комиссии
3 Transit Транзит между нашими адресами
4 Refund Возврат денег клиенту
5 Withdraw Выплата (используется мерчантами)
6 System Системная выплата (через админку KVT)
7 CustomRefund Not used
8 Payout Выплата (используется клиентами)
9 Activation Активация
10 Other Другое
11 Delegate Делегирование
12 Undelegate Анделегирование


Параметры callback (JSON Body):

Поле Тип Описание Пример
transaction_id integer ID транзакции 80022
type integer Тип транзакции (см. таблицу ниже) 1
hash string Хэш транзакции "fd1e402b5d..."
token string Тикер токена "USDT"
amount string Сумма транзакции "100.0"
fee_spent string Общая комиссия (включая комиссии fee request-ов) "0.002"
fee_tr string Комиссия конкретно за эту транзакцию "0.001"
fee_transactions array Список транзакций, задействованных для оплаты комиссии "txid": "fee_transaction.transaction_hash", "amount": "prettify_decimal(fee_transaction.base_amount)", "fee": "prettify_decimal(fee_transaction.fee)", "fee_currency": "fee_transaction.token.name", "address_from": "fee_transaction.from_address", "address_to": "fee_transaction.to_address"
blockchain string Название блокчейна "Tron"
status string Статус транзакции "not confirmed"
balance string Баланс адреса "5000"
from_address string Адрес отправителя "TXXX..."
to_address string Адрес получателя "TYYY..."
risk_rate_info object JSON с результатом проверки на риск {"..."}
created string Дата создания транзакции "2025-09-01 12:19:10"
confirmations integer Количество подтверждений в блокчейне 2
processed string Дата завершения обработки (только если статус Confirmed) "2025-09-25 12:19:10"

Пример тела запроса (callback от CryptoHub):

{
"transaction_id": 0000000,
"type": 1,
"hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"token": "USDT",
"amount": "000.00",
"fee_spent": "0",
"fee_tr": "0",
"fee_transactions": [],
"blockchain": "Tron",
"status": 3,
"balance": {
"Tron": {
"TRX": "0.000000",
"USDT": "0000.00000"
}
},
"from_address": "Txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"to_address": "Tyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy",
"risk_rate_info": {
"notified": true,
"recipient_address_risky": {
"checked": true
},
"risk_rate": "0.005",
"white_or_black_address": {
"checked": true,
"risk_rate": "0.005",
"start": "2025-09-29 09:53:18",
"tag": {
"category": "payeer",
"id": 12221,
"name": "Payeer"
},
"white_address_id": 12221
}
},
"created": "2025-09-29 09:53:00",
"processed": "2025-09-29 09:53:08",
"confirmations": 19
}

В ответ на callback партнёр может вернуть объект data:

{
"result": true,
"data": {
"auto_transit": {
"fee_address": "Txxxxxxxxxxxxxxxxxxxx",
"fee_level": "medium",
"max_fee_price": 200,
"payout_address": "Tyyyyyyyyyyyyyyyyyyyy",
"confirmations": 10
},
"finish_risk_check": false,
"need_check": true,
"risk_rate": 0.5
},
"error_code": 0,
"message": "Ok"
}


Описание полей, которые может передать партнер (Опционально):

Поле Тип Описание
auto_transit object/boolean Функция, которая позволяет сразу инициировать сбор платежа (пополнения) на адрес мерчанта, на payout_address. Может быть false, если не используется. Параметры до confirmations относятся к функции auto_transit.
auto_transit.fee_address string Адрес комиссии
auto_transit.fee_level string Уровень комиссии (по умолчанию "medium")
auto_transit.max_fee_price number Максимальная цена комиссии
auto_transit.payout_address string Адрес для сбора авто-транзита
auto_transit.confirmations integer Количество подтверждений
finish_risk_check boolean Если проверка на риск требуется и завершилась по таймауту: • при true транзакция останется в ожидании проверки риска, пока она не будет успешно проведена; • иначе перейдёт в confirmed.
need_check boolean Нужно ли проводить проверку риска (true/false)
risk_rate number Максимальный рейтинг риска, при превышении которого транзакция считается рискованной

#Group Возможные статусы и ошибки

Статусы транзакций (TransactionStatus):

Параметр Описание Финальный?
New = 1 Новая транзакция, не отправлена в криптосервис, хэш не получен Нет
Rejected = 2 Транзакция отменена Да
NotConfirmed = 3 Транзакция не подтверждена в блокчейне, ждёт необходимого количества подтверждений Нет
WaitingForRisk = 4 Транзакция получила подтверждения, ждёт проверки на рискованность (только для транзакций типа Payment) Нет
Confirmed = 5 Транзакция успешна Да
Risky = 6 Транзакция неуспешна (ответ Crystal: транзакция рискованная) Да
RefundInProcess = 7 Транзакция рискованная, в процессе возврата (callback-уведомления на KVT не отправляются) Нет
Refund = 8 Транзакция успешно возвращена (callback-уведомления на KVT не отправляются) Да
WaitingForFee = 9 Транзакция в токене, ожидает комиссию Нет
FeeValueReceived = 10 Транзакция готова к отправке на криптосервис (комиссия получена, аналог статуса New) Нет
ProcessingError = 11 Транзакция попала в ошибку Нет
ProcessingNetworkError = 12 Транзакция попала в ошибку из-за сетевых проблем Нет
WaitingForKey = 13 Not Used Нет
KeyReceived = 14 Not Used Нет
captured Платеж вручную помечен как потенциальный дубликат. Нет
risk_not_check Не была совершена проверка на риск. Ожидается запуск проверки. Нет

Коды ошибок (error_code):

Код ошибки Константа Описание
10 BlockchainIsNotActive Блокчейн не активен
11 TokenIsNotActive Токен не активен
12 AddressTypeIsNotAllowed Тип адреса не разрешен
13 PayoutAddressNotSet Адрес для выплат не установлен
14 TransactionTypeIsNotAllowed Тип транзакции не разрешен
15 UnknownTransactionStatus Неизвестный статус транзакции
16 InvalidMaxRiskRate Невалидный максимальный уровень риска
17 InvalidConfirmation Невалидное подтверждение
18 InvalidAddress Невалидный адрес
19 InvalidAmount Невалидная сумма
20 BalanceNotEnough Недостаточно средств
21 InsufficientBaseBalance Недостаточно базовой валюты для комиссии
22 RefundAlreadyCreated Возврат уже создан
23 RefundOnOurAddress Возврат на наш адрес
24 FeeAddressNeeded Требуется адрес для комиссии
25 DuplicateWithdrawId Дублирующий withdraw_id
26 InvalidMinBalance Невалидный минимальный баланс
27 AddressNotForBlockchain Адрес не для указанного блокчейна
2000 UnknownError Неизвестная ошибка (например, неправильный partner_id)
{"result": false, "data": null, "message": "Partner (some_external_partner_id) not found", "error_code": 2000}
2001 InternalError Внутренняя ошибка сервера