Обмен USDT → ₽

Обмен USDT в сети BEP20 на рубли: вы создаёте заявку с суммой и реквизитами получателя, получаете адрес и точную сумму для перевода, а после поступления USDT рубли уходят на карту или по СБП.

API v1 · обновлено 2026-09-12

Как это работает

  1. Создайте заявку POST /exchange: способ выплаты (sbp или card), сумма к получению в рублях (rub) или сумма к отправке в USDT (usdt) и реквизиты получателя. Курс и комиссия фиксируются в момент создания.
  2. В ответе — адрес USDT BEP20 (address) и точная сумма перевода (sendUsdt, до 6 знаков после запятой). По этой сумме перевод находится в сети и сводится с заявкой, поэтому отправлять нужно ровно её и только в сети BEP20 (BNB Smart Chain).
  3. На перевод отводится время до expiresAt (обычно 60 минут). После поступления USDT заявка переходит в received, затем рубли отправляются получателю (paying → paid).
  4. Статус проверяйте запросом GET /exchange/{id}.

Условия обмена: биржевой курс со скидкой, комиссия 0 % + 0,5 $ (точные цифры — в ответе расчёта). Лимиты — как у вывода в рублях (см. Тарифы). Лимиты считаются по сумме к получению, комиссия добавляется сверху.

Авторизация

Для обмена используйте отдельный ключ API обменника exk_live_…: создайте его в личном кабинете — Обмен → вкладка «По API». Ключ показывается один раз, сохраните его. Передавайте ключ в заголовке Authorization: Bearer exk_live_…. Ключ даёт доступ только к обмену (создание заявки и её статус), к счетам и выводам с ним не пройти; отозвать ключ можно там же, запросы с ним сразу перестанут проходить. Лимит — 60 запросов в минуту на ключ, статус заявки — не чаще раза в 3 секунды.

Боевой ключ проекта sk_live_ для обмена тоже по-прежнему принимается.

POST /exchange — создать заявку

ПолеТипОписание
methodstringsbp — по номеру телефона, card — на карту российского банка.
rubstring | numberСколько рублей должен получить получатель. Передаётся rub или usdt, не оба.
usdtstring | numberСколько USDT вы отправите (до учёта уникальной добавки к сумме).
requisites.phone, bank, holderstringДля СБП: телефон, банк получателя и имя так, как получатель записан в банке (обязательно).
requisites.card, holderstringДля карты: номер карты (16 цифр) и, по желанию, имя владельца.
ПолеОписание
sendUsdtТочная сумма перевода в USDT. Отправляйте ровно её — иначе перевод не будет найден автоматически.
address, networkАдрес для перевода и сеть (bsc = BEP20).
receiveRubСумма, которую получит получатель.
rate, feeUsdЗафиксированный курс (₽ за 1 USDT) и комиссия в USDT.
expiresAtДо какого времени ждём перевод.
requisitesMaskedРеквизиты получателя, замаскированные.

GET /exchange/{id} — статус заявки

Статусы

СтатусЧто значит
awaiting_depositЖдём перевод USDT на указанный адрес.
receivedПеревод получен, готовим выплату.
payingРубли отправлены, ждём подтверждения банка.
paidРубли выплачены получателю. Финальный.
failedВыплата не прошла — заявку разбирает поддержка.
aml_holdПеревод на дополнительной проверке безопасности.
expiredПеревод не поступил вовремя. Если USDT уже отправлены — напишите в поддержку с хешем транзакции.
cancelled, refundedЗаявка отменена / средства возвращены. Финальные.

Ошибки

Остальные ошибки — в общем формате, см. Ошибки: validation (реквизиты, сумма вне лимитов), unauthorized, rate_unavailable.