Как создать ключ API RevBit v2 и не засветить HMAC-секрет

Как создать ключ API RevBit v2 и не засветить HMAC-секрет
16 сентября 2026 г.
~1 мин. чтения

В поисковой выдаче по запросу “как создать API ключ обменника” обычно стоят гайды бирж: полный доступ, права на вывод и секрет в чат поддержке. У RevBit схема другая. Для курса и простой заявки HMAC-ключ не нужен. Для API v2 выпускают пару ключей, ограничивают IP сервера и один раз сохраняют секрет у себя. Вы выберете контур, создадите ключ по документации, проверите тестовый вызов и будете знать, как отозвать его без повторной публикации секрета.

Быстрый ответ: Сначала решите, хватает ли публичного API v1. Затем войдите в аккаунт RevBit с активной сессией. Потом создайте ключ с именем и списком IP своего сервера и сразу сохраните secretKey в секрет-хранилище. В запрос кладут HMAC-подпись, не сам секрет. Если секрет уже засветился, остановите вызовы, попросите B2B-поддержку деактивировать ключ и выпустите новый.

API здесь похож на набор адресов, по которым программа спрашивает курс или создаёт заявку без виджета. HMAC – это подпись запроса секретным ключом, как печать на конверте: сервер видит, что запрос ваш, но сам секрет в письме не едет. Не копируйте шаблон биржи: в публичной документации RevBit нет прав Read, Trade и Withdraw.

1. Отделите публичный API v1 от API v2 с HMAC-ключом

Сравнение публичного API v1 без ключа и API v2 с HMAC

Курс без ключа, HMAC только для v2

На хабе API RevBit два контура. API v1 отдаёт курсы и простое создание заявки без ключа и без IP-whitelist. API v2 нужен интегратору: уникальный ключ, управление заказами, наценка и подпись HMAC SHA256. Хаб датирован 11 сентября 2024; на 16 сентября 2026 текст тот же. HMAC не берите “на всякий случай”: лишняя пара ключей – ещё один секрет.

Задача Нужен ли ключ Что подписывать
Получить публичный курс Нет Ничего: GET без HMAC
Создать простую заявку v1 Нет Без подписи; referrerId относится к партнёрке, не к ключу
Работать с API v2 Да: publicKey и secretKey Три заголовка и HMAC-SHA256
Создать сам ключ Нужна cookie-сессия входа Это вход в аккаунт, не HMAC боевого v2

Вердикт: Делайте ключ v2 только если интеграция требует подписанных запросов. Не выпускайте HMAC ради курса. Для публичного GET и простой заявки откройте документацию API v1.

2. Войдите в аккаунт и создайте ключ с whitelist IP

Три шага выпуска API-ключа: вход, имя и whitelist IP

Сначала сессия входа, потом IP сервера

Создание ключа в документации идёт через HTTP, а не через выдуманное меню кабинета. Для вызовов /api/v1/users/* нужна активная authorization cookie: сайт помнит, что вы вошли. Без этой сессии ключ не создать.

Запрос: POST /api/v1/users/generate-api-key. В JSON передайте name, whiteListIp как массив IP вашего сервера и isActive: true. WhiteListIp – белый список адресов, с которых сервер примет вызовы этим ключом. Не копируйте чужие IP и не оставляйте список “на потом”.

В ответе приходят apiId, name, isActive, publicKey, secretKey, whiteListIp и createdAt. SecretKey показывают только в этот момент. Сэмпловые ключи из документации не используйте как рабочие. Практический минимум: понятное имя, только IP своего сервера, ключ активен. Не шарьте одну пару на тест и прод. Если B2B-доступа нет, напишите на marketing@revbit.net или support@revbit.net без секретов.

Делать: задать whitelist до первого вызова. Не делать: угадывать пункты меню и копировать UI Binance или Bybit.

3. Сохраните HMAC-секрет один раз в своём хранилище

Чеклист хранения HMAC-секрета: один раз, хранилище, не в чат

Секрет пишут в хранилище, не в тикет

Пара ключей – это не один токен. PublicKey – идентификатор, его кладут в заголовок. SecretKey – HMAC-секрет, симметричный ключ подписи. Его показывают один раз при создании. Список GET /api/v1/users/list-api-key отдаёт publicKey и IP, но не secretKey. Если секрета уже нет под рукой, не ищите его в кабинете: выпускайте новый ключ.

Сразу запишите секрет в секрет-хранилище или в переменную окружения сервера. Переменная окружения – настройка вне кода, её не публикуют в репозитории. Не вставляйте секрет в Git, фронтенд, URL, образ Docker, лог CI, скриншот, Telegram, email и тикет. HMAC не шифрует тело запроса, его используют вместе с HTTPS. Секрет на странице браузера можно вытащить из кода. В запрос уходит только подпись.

Делать: сохранить secretKey до закрытия ответа. Не делать: слать HMAC “чтобы быстрее подключили”, даже в официальный канал.

4. Проверьте тестовый подписанный вызов до боевого объёма

Без авторизации API v2 отвечает 403 Forbidden, то есть “доступ запрещён”. Сначала ключ, затем подпись. Каждый запрос v2 несёт заголовки x-api-public-key, x-api-timestamp и x-api-signature.

Заголовок Что класть Чего не класть
x-api-public-key Ваш publicKey Не secretKey
x-api-timestamp UNIX-время; в образце доки это миллисекунды Не пустая строка и не время “на глаз”
x-api-signature HMAC-SHA256 в Base64 Не сам секрет и не подпись от другого тела

Строка для подписи: сначала timestamp, затем JSON-тело запроса, потом publicKey. Ключ HMAC – secretKey. Digest, то есть готовая подпись, пишется в Base64. Образец вызова: POST /api/v2/orders/public/create. Сверяйте канон на хабе API RevBit. Тест – с малой нагрузкой. Каркас заголовков не обещает успешный обмен: адрес, сеть и лимиты сверяйте отдельно. Для Python смотрите SDK RevBit: pip install revbit-sdk, поля api_public и api_secret вне кода.

Типичный 403: нет или неверны три заголовка, запрос не с IP из whitelist, ключ неактивен, либо строка подписи не совпала с телом.

Делать: один тестовый вызов с сервера из whitelist. Не делать: гонять боевой объём, пока не сходятся заголовки и IP.

5. Отзовите ключ через поддержку, если секрет уже засветился

Утечка – секрет в чате, логе, репозитории, скрине или тикете. Не “доиспользуйте” старый ключ. Сначала прекратите вызовы, затем запросите деактивацию, потом выпустите новый ключ с новым whitelist и положите новый секрет только в хранилище сервера.

Удаление, смена IP, настройки вроде min/max markup и деактивация в публичной доке описаны как обращение в B2B customer support, не как кнопка в кабинете. Не ищите delete-api-key и не просите “восстановить” secretKey: его не восстанавливают.

Пишите в официальный канал поддержки RevBit как B2B-интеграция. Назовите apiId, name или publicKey, дату и где засветился секрет. Сам HMAC, seed-фразу и ключи кошелька не кладите.

Делать: остановить старый ключ и заменить хранилище. Не делать: оставлять старый секрет рядом с новым.

6. Отделите API-наценку от партнёрской программы

Ключ API не включает вас в партнёрку. Партнёрка – доля от дохода сервиса с обменов по реферальной ссылке. Markup в API и SDK – наценка интегратора поверх курса. Не собирайте гибрид “API-партнёрка” вокруг одного ключа.

Критерий Партнёрская программа API v2 с HMAC
Задача Приводить обмены по своей ссылке Подписывать запросы своего сервиса
Что выдают Кабинет партнёра и referrerId Пару ключей и whitelist IP
Где старт Гайд по подключению партнёрки Хаб документации API
Чего не делать Считать HMAC пропуском в кабинет Путать markup с реферальной долей

Если нужна партнёрка, откройте гайд по партнёрской программе RevBit. Если нужна интеграция, вернитесь к хабу API.

Делать: выбрать один продукт под задачу. Не делать: смешивать рефералку и HMAC-ключ.

7. Соберите финальный чеклист и выберите следующий шаг

Как проходит выпуск ключа:
Сначала сверьте задачу с хабом API. Затем войдите в аккаунт. Потом создайте ключ с IP сервера, сохраните secretKey и сделайте один тестовый подписанный вызов. При утечке остановите старый ключ и запросите деактивацию.

  1. Шаг 1: Сверьте задачу: курс и публичная заявка закрываются API v1 без ключа.
  2. Шаг 2: Войдите в аккаунт RevBit, чтобы была активная cookie-сессия.
  3. Шаг 3: Вызовите generate-api-key с name, whiteListIp своего сервера и isActive true.
  4. Шаг 4: Сразу сохраните secretKey в секрет-хранилище; publicKey оставьте как идентификатор.
  5. Шаг 5: Проверьте list-api-key: есть publicKey и IP, нет secretKey.
  6. Шаг 6: Сделайте один тестовый вызов v2 с тремя заголовками и HMAC-SHA256.
  7. Шаг 7: При 403 сверьте заголовки, IP из whitelist и канон строки подписи.
  8. Шаг 8: Если секрет засветился, остановите ключ, напишите в официальную B2B-поддержку без HMAC и выпустите новый.

Если интеграция не нужна и вы меняете крипту вручную, откройте виджет RevBit и не выпускайте ключ. Жителей ЕС и ЕЭЗ сервис не обслуживает.

Частые вопросы

Чем API v1 RevBit отличается от v2?

v1 отдаёт публичный курс и простое создание заявки без ключа. v2 требует ключ, IP-whitelist и HMAC-SHA256. Без заголовков v2 отвечает 403. Если нужен только курс, ключ не выпускайте.

Нужен ли HMAC-ключ, чтобы просто получить курс?

Нет. Смотрите публичный GET /api/v1/rates/public/one в документации API v1. Параметры пары, сети и суммы передаются без HMAC и без whitelist.

Можно ли отправить HMAC-секрет в Telegram поддержке?

Нет. Официальной поддержке не нужны seed, приватный ключ и HMAC-секрет. Для отзыва назовите apiId, name или publicKey. Секрет в чат не кладите.

Что делать, если ключ уже попал в лог или чат?

Прекратите вызовы этим ключом. Запросите деактивацию через официальную B2B-поддержку. Выпустите новый ключ с новым whitelist и положите секрет только в хранилище сервера.

Почему в списке ключей нет secretKey?

Секрет показывают один раз при создании. Восстановить его через list-api-key или скрин нельзя. Если строка потеряна, выпускайте новый ключ.

Какие права выдавать ключу RevBit?

В публичной доке нет биржевых Read, Trade и Withdraw. Задайте своё имя, только IP вашего сервера и isActive true. Не шарьте одну пару на dev и prod.

Почему на API v2 приходит 403?

Сверьте заголовки x-api-public-key, x-api-timestamp и x-api-signature, IP из whitelist и активность ключа. Строка подписи: timestamp, затем JSON тела, потом publicKey. Тест делайте с сервера из списка.



0.0
(0 оценки)
Нажмите на звезду, чтобы оценить

Вы отправляете:

Вы отправляете:

Сеть

Сеть

Плавающая ставка

Вы получаете:

Вы получаете:

Сеть

Сеть