API для разработчиковv2

Ключ в кабинете

REST · JSON · v2

Обмен криптовалюты через API

Встройте обмен в кошелёк, Telegram-бота или магазин. Клиент отправляет монеты на выданный адрес, выплата уходит на указанный им адрес. Регистрировать клиента у нас не нужно.

  • Один ключсекретный ключ hx_secret_… в заголовке Authorization
  • Одна заявкаодин и тот же объект в ответах, списке и вебхуках
  • Без дублейповтор создания с Idempotency-Key вернёт ту же заявку

Обмен за четыре запроса

Клиент меняет 250 USDT в сети TRON на биткоин. Переменная SK — ваш секретный ключ.

  1. Найти пару

    GET /assets

    GET /assets возвращает активы и сети. deposit: true — актив можно отправить, payout: true — получить. Список меняется редко, его можно кешировать.

    curl https://666.exchange/api/v2/assets \
      -H "Authorization: Bearer $SK"
  2. Узнать цену

    POST /quotes

    POST /quotes считает, сколько получит клиент, и возвращает пределы суммы. quote.id действует 2 минуты: за это время создайте заявку.

    curl https://666.exchange/api/v2/quotes \
      -H "Authorization: Bearer $SK" \
      -H "Content-Type: application/json" \
      -d '{
        "from": { "asset": "USDT", "network": "TRON" },
        "to":   { "asset": "BTC",  "network": "BITCOIN" },
        "amount": "250"
      }'
  3. Создать заявку

    POST /orders

    POST /orders с quote и адресом выплаты. Покажите клиенту deposit.address и from.amount или отправьте его на страницу pageUrl.

    curl https://666.exchange/api/v2/orders \
      -H "Authorization: Bearer $SK" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: 0b9c3f4e-2d1a-4c7e-9f0a-7a1d2e3c4b5f" \
      -d '{
        "quote": "qt_eyJ2IjoxLCJwaWQiOi...mF0ZQ",
        "payout": { "address": "bc1q9h7garjxw5c3l8wmxq0y8wzg7l3f5n2t4u6v8x" },
        "reference": "inv_20931"
      }'
  4. Дождаться выплаты

    GET /orders/{id}

    Мы пришлём вебхук на каждое изменение заявки. Без вебхуков запрашивайте GET /orders/{id}. Готово, когда state равно completed.

    curl https://666.exchange/api/v2/orders/Q7M2-KD4X \
      -H "Authorization: Bearer $SK"

Состояния заявки

Поле state в объекте заявки. Основной путь — слева направо.

  1. awaiting_depositждём перевод
  2. confirmingнабираются подтверждения
  3. exchangingменяем и отправляем
  4. completedвыплата отправлена
awaiting_decisionнужно решение: курс изменился, пришла другая сумма или перевод опоздал
  • continueобмен по текущему курсу
  • refundrefunding → refunded

Другие исходы

  • expiredперевода не было
  • cancelledзаявка отменена
  • operatorнужна поддержка
  • problemостановлена из-за сбоя

Разделы