Как работать с 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 — работает онлайн, без регистрации.
Теги