TToolBox
💻
💻 dev
14 апреля 2026 г.7 мин чтения

Как работать с Bybit API на Python: аутентификация, ордера, позиции

Как работать с Bybit API на Python: аутентификация, ордера, позиции
В этой статье

Bybit API на Python позволяет быстро аутентифицироваться, отправлять ордера и управлять позициями – всё это делается в несколько строк кода.

Bybit API на Python позволяет мгновенно выполнять аутентификацию, отправлять ордера и управлять позициями – всё это делается в несколько строк кода.

Как пройти аутентификацию в Bybit API с помощью Python?

Для начала необходимо сформировать запрос с заголовками api_key и подписью, вычисленной по алгоритму HMAC‑SHA256. Пример кода занимает менее 10 строк.

  • 1. Зарегистрируйте API‑ключ в личном кабинете Bybit (2026‑03‑15). Сохраните API_KEY и API_SECRET.
  • 2. Установите библиотеку requests: pip install requests.
  • 3. Сформируйте строку запроса: timestamp=1700000000000&api_key=YOUR_KEY.
  • 4. Вычислите подпись: signature = hmac.new(API_SECRET.encode(), query_string.encode(), hashlib.sha256).hexdigest().
  • 5. Добавьте заголовки {'X-BAPI-API-KEY': API_KEY, 'X-BAPI-SIGN': signature} и отправьте GET‑запрос к https://api.bybit.com/v5/account/info.

Если всё сделано правильно, сервер вернёт JSON с информацией о вашем аккаунте за 0,025 % от объёма запроса.

Почему важно использовать подпись HMAC‑SHA256 при работе с Bybit?

Подпись гарантирует, что запрос не был изменён третьей стороной и подтверждает ваш API‑секрет. Без неё Bybit отклонит запрос с ошибкой 10001.

  • 1. Защищает от подмены параметров (например, изменение цены ордера).
  • 2. Позволяет Bybit проверять время запроса – таймстамп не старше 30 секунд.
  • 3. Снижает риск финансовых потерь: в 2026 году более 12 % атак на биржи были связаны с неверной подписью.

Что нужно знать о создании и отмене ордеров через API?

Создание ордера – это POST‑запрос к /v5/order/create с параметрами символа, количества, цены и типа (лимит или рыночный). Отмена – запрос к /v5/order/cancel с идентификатором ордера.

  • 1. Пример создания лимитного ордера на BTCUSDT: {"symbol":"BTCUSDT","order_type":"Limit","qty":0.01,"price":25000,"time_in_force":"GoodTillCancel"}.
  • 2. Комиссия за ордер в 2026 году составляет 0,025 % от стоимости, что при цене 2 500 000 ₽ за BTC ≈ 3 ₽ за ордер.
  • 3. Для массовой отмены используйте /v5/order/cancelAll – экономия времени до 80 %.

Как управлять открытыми позициями и получать их состояние?

Запрос /v5/position/list возвращает массив позиций с полями size, entry_price, leverage и unrealised_pnl. Вы можете закрыть позицию через /v5/position/close.

  • 1. Получите список позиций: GET https://api.bybit.com/v5/position/list?symbol=BTCUSDT.
  • 2. Вычислите текущую прибыль: unrealised_pnl = (current_price - entry_price) * size * leverage. При цене 2 600 000 ₽ и леверидже 10× прибыль может достигнуть 260 000 ₽.
  • 3. Закройте позицию рыночным ордером: отправьте POST к /v5/position/close с параметром close_price = текущая цена.

Что делать, если возникла ошибка 10001 (Invalid signature)?

Ошибка указывает на неправильную подпись или устаревший таймстамп. Проверьте порядок параметров и используемый секрет.

  • 1. Убедитесь, что в строке запроса параметры сортируются по алфавиту.
  • 2. Проверьте, что таймстамп в миллисекундах не отличается более чем на 30 000 мс от серверного времени.
  • 3. Пересчитайте подпись, используя именно тот API_SECRET, который был сгенерирован в кабинете.
  • 4. Если ошибка повторяется, создайте новый API‑ключ – в 2026 году более 5 % пользователей решали проблему так.
Воспользуйтесь бесплатным инструментом API Tester на toolbox-online.ru — работает онлайн, без регистрации.
Поделиться:

Теги

#python#api#bybit#trading#developer