Руководство по API Backpack Exchange Python

Предварительные требования

Получите ваши API ключи, если вы собираетесь использовать endpoints аккаунта: https://backpack.exchange/portfolio/settings/api-keysarrow-up-right

Установите необходимые библиотеки Python:

  • cryptography — для X-Signature (только endpoints аккаунтаarrow-up-right)

  • requests — для выполнения HTTP запросов (или aiohttp, если вы предпочитаете async)

pip3 install cryptography requests 

Установите dotenv-python для безопасного управления вашими ключами с помощью переменных окружения, если вы собираетесь использовать endpoints аккаунтаarrow-up-right

pip3 install python-dotenv

Создайте файл .env и храните ваши ключи так:

PUBLIC_KEY=zDIJj9qneWIY0IYZ5aXoHcNMCm+XDhVcTssiT0HyY0A=
SECRET_KEY=4odxgSUxFrC/zsKWZF4OQwYAgnNu9hnWH3NxWfLAPz4=

Создайте файл .gitignore и добавьте .env, чтобы исключить его из контроля версий.

.env

Для всех примеров мы будем использовать синхронную библиотеку requests. Давайте импортируем её:

import requests

Публичные endpoints

Для публичных endpoints просто отправьте GET запрос.

API ключи не требуются.

Пример: Доступ к публичным данным

Примечание: Если у вас более одного аргумента, объедините их, используя символ &.

Приватные endpoints

Для приватных endpoints нам нужно создать специальные заголовки и тело запроса (для POST запросов). Это требует аутентификации с вашими API ключами.

Пример: Получение адреса депозита

Давайте посмотрим, как получить адрес депозита, используя API: https://docs.backpack.exchange/#tag/Capital/operation/get_deposit_addressarrow-up-right

Теперь, когда у нас готовы компоненты аутентификации (X-Timestamp, X-Window и X-API-Key), давайте создадим подпись.

Подписание запроса

Теперь давайте подпишем запрос нашим приватным ключом:

Создание заголовков

Создайте необходимые заголовки для API запроса:

Отправка запроса

Теперь мы можем отправить аутентифицированный запрос к API:

Использование POST запросов

Для POST запросов вам нужно включить тело JSON и использовать метод post() вместо get().

Пример: Исполнение ордера

Давайте посмотрим, как отправить ордер в движок сопоставления для исполнения, используя API: https://api.backpack.exchange/api/v1/orderarrow-up-right

Источники

SDK значительно упрощает процесс разработки.

Пример SDK: https://github.com/sndmndss/bpx-pyarrow-up-right

Для получения дополнительной информации посетите официальную документацию: https://docs.backpack.exchange/arrow-up-right