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.Exchange 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)

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

  • 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.3.tar.gz (12.7 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.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: supurr_sdk-0.1.3.tar.gz
  • Upload date:
  • Size: 12.7 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.3.tar.gz
Algorithm Hash digest
SHA256 f162608f10513d036ed4a23cdd4451d77ee63e77eaf84284d9cc5edaa282dab8
MD5 5c00b1a625f9b63a59584017a484d6b3
BLAKE2b-256 bf87b85d2fd50c023946d91d2a2a3aa16b8d1f78f14623bad04cf6788efdbbfa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: supurr_sdk-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 058d90dbab44d7c6127853f7bbe34c8a30ca277a33f5a8a2380e0527f6618d83
MD5 c44fc5c5c74af36b899d60b0b43460c6
BLAKE2b-256 9e855040d7204e44bcc79425ec3645cb90569a7f49ffd4ea6191e1e14999da49

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