Skip to main content

No project description provided

Project description

Supurr SDK

A Python SDK for interacting with the Supurr protocol, supporting both Up/Down and Above/Below trading products.

Installation

pip install supurr-sdk

Quick Start

Initialize the Exchange

from supurr_sdk import SupurrExchange

# Initialize with your private key and desired product
exchange = SupurrExchange(
    pk="your_private_key",
    product="up_down"  # or "above_below"
)

Accessing Token Information

# Get token name
token_name = exchange.token.name  # e.g., "WHYPE"

# Get token decimals
decimals = exchange.token.decimals  # e.g., 18

# Convert human readable amount to token decimals
amount = int(0.1 * 10**exchange.token.decimals)  # 0.1 token in decimals

# Convert token decimals to human readable amount
human_readable = amount / 10**exchange.token.decimals  # back to 0.1

Trading with Up/Down Product

# Set the active market
exchange.product.set_active_market("BTCUSD")

# Place a trade
result = exchange.place_trade(
    is_up=True,  # True for up, False for down
    amount=int(0.1 * 10**18),  # Amount in token-decimals
    duration=360  # Expiration time in seconds (should be multiple of 60)
)

Trading with Above/Below Product

# Set the active market
exchange.product.set_active_market("BTCUSD")

# Get valid expiry timestamps
valid_timestamps = exchange.product.get_valid_expiry_timestamps()

# Place a trade with strike price
result = exchange.place_trade(
    is_up=True,  # True for above, False for below
    amount=int(0.01 * 10**18),  # Amount in token-decimals
    expiration=valid_timestamps[0],  # Use a valid timestamp
    strike=84000  # Strike price
)

Checking Current Price

# Get current price for the active market
current_price = exchange.price_provider.get_price(exchange.product.active_market)

Retrieving Trade History

# Get all ongoing trades for the current user of particular product
user_ongoing_trades = exchange.get_user_ongoing_trades()

# Get all ongoing trades across the protocol of particular product
all_ongoing_trades = exchange.get_all_ongoing_trades()

# Get all past trades for the current user of particular product
user_past_trades = exchange.get_user_past_trades()

# Get all past trades across the protocol of particular product
all_past_trades = exchange.get_all_past_trades()

Features

  • Support for both Up/Down and Above/Below trading products
  • Integration with Pyth price feeds
  • Automatic market selection and validation
  • Built-in token approval handling
  • Support for multiple markets (e.g., BTCUSD)

Available Markets

# Get current price for the active market
current_markets = exchange.product.markets
  • BTCUSD (with price precision of 1)

Error Handling

The SDK includes built-in validation for:

  • Invalid expiration times
  • Invalid strike prices
  • Market availability
  • Token approvals
  • Max trade size availability

Notes

  • All amounts should be provided in token-decimals (if token has 18 decimals than; 1Token= 10^18)
  • All time related information is expected in seconds (not ms).
  • The SDK uses Web3.py for blockchain interactions
  • Make sure to have sufficient token in wallet before trading

Development

To run the test suite:

pytest tests/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

supurr_sdk-0.1.8.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

supurr_sdk-0.1.8-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file supurr_sdk-0.1.8.tar.gz.

File metadata

  • Download URL: supurr_sdk-0.1.8.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.15 Linux/6.2.0-39-generic

File hashes

Hashes for supurr_sdk-0.1.8.tar.gz
Algorithm Hash digest
SHA256 14b7ef4e47df45596638d96a4bc00a0952471a4f9cd9be31a046a575f25118b1
MD5 d5e004c8534399de4ce73340c1a8df7d
BLAKE2b-256 23c38db1b24ba2ab03c39ff0c4efdc7fa48a17da61a64af624972635f032878a

See more details on using hashes here.

File details

Details for the file supurr_sdk-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: supurr_sdk-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.15 Linux/6.2.0-39-generic

File hashes

Hashes for supurr_sdk-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 182f55f409f652044196caf26de9dc126c56318dde8d97babfddaaadc8c3a51a
MD5 c6dc3198bc62c8d8a4cdd348f0815976
BLAKE2b-256 a01b2f6a21c4b5faa6b1029680d44af600c8155fff9c6b38e2ff94dac3977a78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page