For the complete documentation index, see llms.txt. This page is also available as Markdown.

Backpack Exchange Python API guide

Prerequisites

Get your API keys if you are going to use account endpoints: https://eu.backpack.exchange/portfolio/settings/api-keys

Install the required Python libraries:

  • cryptography – for X-Signature (account endpoints only)

  • requests – for making HTTP requests (or aiohttp if you prefer async)

pip3 install cryptography requests 

Install dotenv-python to securely manage your keys using environment variables if you are going to use account endpoints

pip3 install python-dotenv

Create a .env file and store your keys like this:

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

Create a .gitignore file and add .env to exclude it from version control.

.env

For all examples, we will use the synchronous requests library. Let's import it:

import requests

Public endpoints

For public endpoints, simply send a GET request.

No API keys are required.

Example: Accessing Public Data

Note: If you have more than one argument, join them using the & symbol.

Private endpoints

For private endpoints, we need to create specific headers and a request body (for POST requests). This requires authentication with your API keys.

Example: Retrieving a Deposit Address

Let's see how to retrieve a deposit address using the API: https://docs.backpack.exchange/#tag/Capital/operation/get_deposit_address

Now that we have our authentication components ready (X-Timestamp, X-Window, and X-API-Key), let's create the signature.

Signing the Request

Now let's sign the request with our private key:

Creating Headers

Create the required headers for the API request:

Sending the Request

Now we can send the authenticated request to the API:

Using POST Requests

For POST requests, you need to include the JSON body and use the post() method instead of get().

Example: Executing an Order

Let's see how to submit an order to the matching engine for execution using the API: https://api.backpack.exchange/api/v1/order

Sources

SDK makes the development process much easier.

Example SDK: https://github.com/sndmndss/bpx-py

For more information, visit the official documentation: https://docs.backpack.exchange/

Last updated