Обмен USDT → ₽
Обмен USDT в сети BEP20 на рубли: вы создаёте заявку с суммой и реквизитами получателя, получаете адрес и точную сумму для перевода, а после поступления USDT рубли уходят на карту или по СБП.
API v1 · обновлено 2026-09-12
Как это работает
- Создайте заявку
POST /exchange: способ выплаты (sbpилиcard), сумма к получению в рублях (rub) или сумма к отправке в USDT (usdt) и реквизиты получателя. Курс и комиссия фиксируются в момент создания. - В ответе — адрес USDT BEP20 (
address) и точная сумма перевода (sendUsdt, до 6 знаков после запятой). По этой сумме перевод находится в сети и сводится с заявкой, поэтому отправлять нужно ровно её и только в сети BEP20 (BNB Smart Chain). - На перевод отводится время до
expiresAt(обычно 60 минут). После поступления USDT заявка переходит вreceived, затем рубли отправляются получателю (paying→paid). - Статус проверяйте запросом
GET /exchange/{id}.
Условия обмена: биржевой курс со скидкой, комиссия 0 % + 0,5 $ (точные цифры — в ответе расчёта). Лимиты — как у вывода в рублях (см. Тарифы). Лимиты считаются по сумме к получению, комиссия добавляется сверху.
Авторизация
Для обмена используйте отдельный ключ API обменника exk_live_…: создайте его в личном кабинете — Обмен → вкладка «По API». Ключ показывается один раз, сохраните его. Передавайте ключ в заголовке Authorization: Bearer exk_live_…. Ключ даёт доступ только к обмену (создание заявки и её статус), к счетам и выводам с ним не пройти; отозвать ключ можно там же, запросы с ним сразу перестанут проходить. Лимит — 60 запросов в минуту на ключ, статус заявки — не чаще раза в 3 секунды.
Боевой ключ проекта sk_live_ для обмена тоже по-прежнему принимается.
POST /exchange — создать заявку
| Поле | Тип | Описание |
|---|---|---|
method | string | sbp — по номеру телефона, card — на карту российского банка. |
rub | string | number | Сколько рублей должен получить получатель. Передаётся rub или usdt, не оба. |
usdt | string | number | Сколько USDT вы отправите (до учёта уникальной добавки к сумме). |
requisites.phone, bank, holder | string | Для СБП: телефон, банк получателя и имя так, как получатель записан в банке (обязательно). |
requisites.card, holder | string | Для карты: номер карты (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.