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 trades for the current user of particular product
user_trades = exchange.get_user_ongoing_trades()

# Get all trades across the protocol of particular product
all_trades = exchange.get_all_ongoing_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.6.tar.gz (13.0 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.6-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: supurr_sdk-0.1.6.tar.gz
  • Upload date:
  • Size: 13.0 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.6.tar.gz
Algorithm Hash digest
SHA256 627967ec1d47d1efaed2d695b04d20cf3bc6ed1c575f531c3f68b52edf0e693f
MD5 0c7373e4d58f95beb4acdb3243976b72
BLAKE2b-256 01b5103290f30f84eeafb5954a55a30ffc9b4a36234a7537b89f353cd7b238f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: supurr_sdk-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 990e86f86fa43f3505d740222241ebce8d57cc1db66a7e0af666c1f2c4e3041b
MD5 525cf0c81b2993b70e5b27a0901b73b7
BLAKE2b-256 3795732dd3f921ae6f971e6de4a493f70f04366f83505f767dd7550f4a9e3202

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