Перейти к содержимому
← Назад к документации

API v1

API v1 позволяет внешним системам получать курсы и создавать обмены программно: собственные виджеты, боты, мобильные приложения, партнёрские витрины. API соответствует on-demand модели платформы: курс возвращается в момент запроса, без кэшированных фидов.

Общие сведения

base_url     = https://your-domain.com/api/v1
protocol     = HTTPS only
format       = JSON
auth         = API-ключ в заголовке:  X-API-Key: <your_key>

  • API-ключи создаются в панели администратора, отдельный ключ на каждую интеграцию (см. Основы безопасности).
  • Ответы — JSON; ошибки возвращают HTTP-код и машиночитаемый error.code.

Получение курсов (on-demand)

Запрос актуального курса по направлению. Курс рассчитывается в момент вызова: рынок → спред платформы → ваша наценка (см. Формирование курса).

GET /api/v1/rates?from=BTC&to=USDT.TRC20&amount=0.5
Пример ответа:

{
“from”: “BTC”,
“to”: “USDT.TRC20”,
“amount_from”: 0.5,
“rate”: 98507.39,
“amount_to”: 49253.69,
“min_amount”: 0.002,
“max_amount”: 2.0,
“reserve”: 150000,
“rate_ttl_sec”: 30
}

  • rate_ttl_sec — срок, в течение которого котировка считается актуальной для создания заявки; после истечения запросите курс заново.
  • Без amount эндпоинт возвращает курс и лимиты направления.

Создание обмена

POST /api/v1/exchanges
Тело запроса:

{
“from”: “BTC”,
“to”: “USDT.TRC20”,
“amount_from”: 0.5,
“payout_address”: “TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”,
“payout_extra”: “”,
“client_email”: “[email protected]”,
“ref_id”: “my-internal-id-123”
}
Ответ:

{
“exchange_id”: “EX-8F31KQ”,
“status”: “waiting_payment”,
“rate_fixed”: 98507.39,
“amount_from”: 0.5,
“amount_to”: 49253.69,
“deposit_address”: “bc1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
“deposit_extra”: “”,
“payment_deadline”: “2026-07-31T12:30:00Z”
}
Курс фиксируется (rate_fixed) на срок до payment_deadline: если клиент оплатит вовремя, заявка исполняется по зафиксированному курсу. Просроченная оплата — пересчёт по текущему курсу или возврат по регламенту.

Статус обмена

GET /api/v1/exchanges/EX-8F31KQ
{
“exchange_id”: “EX-8F31KQ”,
“status”: “paid”,
“amount_from”: 0.5,
“amount_to”: 49253.69,
“deposit_tx”: “a1b2c3…”,
“payout_tx”: “d4e5f6…”,
“updated_at”: “2026-07-31T12:11:42Z”
}
Типовые статусы: waiting_payment → confirming → paid → payout_sent → completed; терминальные: expired, refunded, failed.

Ошибки и лимиты

{ “error”: { “code”: “amount_below_min”, “message”: “Amount is below direction minimum” } }
Частые коды: invalid_direction, amount_below_min, amount_above_max, invalid_payout_address, rate_expired, insufficient_reserve.

Рейт-лимиты применяются на уровне API-ключа; при превышении — HTTP 429 с заголовком Retry-After. Для высокочастотных сценариев (собственные мониторинг-боты) используйте разумный интервал опроса или экспорт для мониторингов.

См. также