Skip to main content

Rest Client for Delta Exchange

Project description

Python Rest Client for Delta Api

Delta Exchange is a crypto derivatives exchange where you can trade bitcoin, ethereum, ripple futures upto 100x leverage. This package is a wrapper around rest apis of Delta Exchange. User Guide - https://www.delta.exchange/user-guide API Documentation - https://docs.delta.exchange

Please read the Changelog before using this package.

Get started

  1. Create an account on https://testnet.delta.exchange/signup
  2. Install the package:
    pip install delta-rest-client
    
  3. Follow the below snippet to trade on testnet:
from delta_rest_client import DeltaRestClient
delta_client = DeltaRestClient(
  base_url='https://testnet-api.delta.exchange',
  api_key='',
  api_secret=''
)
  1. Get json list of available contracts to trade from given url and note down the product_id and asset_id, as it will be used in most of the api calls. production - https://api.delta.exchange/products testnet - https://testnet-api.delta.exchange/products

Methods

Get Assets

Get list of assets supported on Delta.

response = delta_client.get_assets()

Get Product Detail

Get product detail of current product. See sample response

product = delta_client.get_product(product_id) # Current Instrument
settling_asset = product['settling_asset'] # Currency in which the pnl will be realised
Name Type Description Required
product_id integer id of product true

Get Ticker Data

See sample response

response = delta_client.get_ticker(symbol)
Name Type Description Required
symbol string product symbol true

Get Orderbook

Get level-2 orderbook of the product. See sample response

response = delta_client.get_l2_orderbook(product_id)
Name Type Description Required
product_id integer id of product true

Open Orders

Get open orders. Authorization required. See sample response

orders = delta_client.get_live_orders()

Place Order

Create a new market order or limit order. Authorization required. See sample response

order_response = delta_client.place_stop_order(
        product_id=product_id,
        size=10,
        side='sell',
				limit_price='7800',
        order_type=OrderType.LIMIT,
     		time_in_force=TimeInForce.FOK
    )
Name Type Description Required
product_id int id of product true
size int order size true
side string buy or sell true
limit_price string order price (ignored if market order) false
order_type string limit or market false (LIMIT by default)
time_in_force string IOC or GTC or FOK false (GTC by default)
post_only string true or false false (false by default)

Place Stop Order

Add stop loss or trailing stop loss. Authorization required. See sample response

# Trailing Stop loss
order_response = delta_client.place_stop_order(
        product_id=product_id,
        size=10,
        side='sell',
				limit_price='7800',
        order_type=OrderType.LIMIT,
        trail_amount='20',
        isTrailingStopLoss=True
    )

# Stop loss
order_response = delta_client.place_stop_order(
        product_id=product_id,
        size=10,
        side='sell',
        order_type=OrderType.MARKET,
        stop_price='8010.5',
    )
Name Type Description Required
product_id int id of product true
size int order size true
side string buy or sell true
stop_price string price at which order will be triggered false(required if stop_loss)
trail_amount string trail price false(required if trailing_stop_loss)
limit_price string order price (ignored if market order) false
order_type string limit or market false (LIMIT by default)
time_in_force string IOC or GTC or FOK false (GTC by default)
isTrailingStopLoss string true or false false (false by default)

Cancel Order

Delete open order. Authorization required. See sample response

cancel_response = delta_client.cancel_order(product_id, order_id)
Name Type Description Required
product_id int id of product true
order_id int order id true

Batch Create Orders

Create multiple limit orders. Max number of order is 5. Authorization required. See sample response

response = delta_client.batch_create(product_id, orders)
Name Type Description Required
order array array of orders true

Batch Cancel Orders

Cancel multiple open orders. Max number of order is 5. Authorization required. See sample response

response = delta_client.batch_cancel(product_id, orders)
Name Type Description Required
order array array of orders true

Change Order Leverage

Change leverage for new orders. Authorization required. See sample response

response = delta_client.set_leverage(product_id, leverage)
Name Type Description Required
product_id integer id of product true
leverage string leverage value true

Open Position

Current open position of product. Authorization required. See sample response

response = delta_client.get_position(product_id)
Name Type Description Required
product_id integer id of product true

Change Leverage Positions

Change leverage for open position by adding or removing margin to an open position. Authorization required. See sample response

response = delta_client.change_position_margin(product_id, margin)
Name Type Description Required
product_id integer id of product true
margin string new margin true

Get Wallet Balances

Get user's balance. Authorization required. See sample response

response = delta_client.get_balances(asset_id)
Name Type Description Required
asset_id integer id of asset true

Order History

query = { "product_id": 27 }
response = delta_client.order_history(query, page_size=100)
old_orders = response['result']
after_cursor_for_next_page = response["meta"]["after"]
more_orders = delta_client.order_history(query, page_size=100, after=after_cursor_for_next_page)
Name Type Description Required
page_size integer page size false

Fills

Get fill history of your orders

query = { "contract_types": "futures,interest_rate_swaps" }
response = delta_client.fills(query, page_size=100)

fills = response['result']
after_cursor_for_next_page = response["meta"]["after"]
more_fills = delta_client.fills(query, page_size=100, after=after_cursor_for_next_page)
Name Type Description Required
page_size integer page size false

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

delta_rest_client-1.0.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

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

delta_rest_client-1.0.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file delta_rest_client-1.0.0.tar.gz.

File metadata

  • Download URL: delta_rest_client-1.0.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for delta_rest_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7e5b28283d8195d167ce5015081dfb04d1c176700c013cb340196b3de4554543
MD5 b6c613ae627de4ba04eee86c8cdb17a1
BLAKE2b-256 8730f12b671d89e281db6a60b4e58980becbe5eec2e14095548cf8f3bf57eb7e

See more details on using hashes here.

File details

Details for the file delta_rest_client-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: delta_rest_client-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5

File hashes

Hashes for delta_rest_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d6306aa679ebe5f53c1b98e2b0adc767a5cb43e74021d532b359501c70d2c7a
MD5 89dbf739ed0152d102ba7c1f3e814e1e
BLAKE2b-256 c858394a17dd97022b5fba69827e06446353bb760b785c371a4f29b72eeadcab

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