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.7.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

delta_rest_client-1.0.7-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

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