This is the Python SDK for the BSX Exchange API.
See SDK docs to get started.
- Python 3.10 or above
You can install the SDK via pip:
pip install bsx-sdk-pyfrom eth_account import Account
wallet_private_key = "0x0000000000000000000000000000000000000000000000000000000000000000"
signer_private_key = "0x1111111111111111111111111111111111111111111111111111111111111111"
wallet = Account.from_key(wallet_private_key)
signer = Account.from_key(signer_private_key)from eth_account import Account
from bsx_py import BSXInstance, Environment
wallet_private_key = "0x0000000000000000000000000000000000000000000000000000000000000000"
signer_private_key = "0x1111111111111111111111111111111111111111111111111111111111111111"
wallet = Account.from_key(wallet_private_key)
signer = Account.from_key(signer_private_key)
bsx_instance = BSXInstance(env=Environment.TESTNET, wallet=wallet, signer=signer)from eth_account import Account
from bsx_py import BSXInstance, Environment
signer_private_key = "0x1111111111111111111111111111111111111111111111111111111111111111"
signer = Account.from_key(signer_private_key)
bsx_instance = BSXInstance.from_api_key(api_key="xxx", api_secret="zzz", signer=signer, env=Environment.TESTNET)# Placing orders
import time
from decimal import Decimal
from bsx_py.common.types.market import CreateOrderParams, Side, OrderType
params = CreateOrderParams(
type=OrderType.LIMIT,
side=Side.BUY,
product_index=3,
price=Decimal("100"),
size=Decimal("1"),
time_in_force="GTC",
nonce=int(time.time_ns()),
)
order = bsx_instance.create_order(params)
print(order)See Getting Started for more.
-
Clone github repo
-
Install poetry
$ curl -sSL https://install.python-poetry.org | python3 -
- Setup a virtual environment and activate it
$ python3 -m venv venv
$ source ./venv/bin/activate
- Install dependencies via
poetry install