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 Testnet-India: https://testnet.delta.exchange/
    For non-Indian customers use Testnet-Global: https://testnet-global.delta.exchange/
  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://cdn-ind.testnet.deltaex.org',
  api_key='',
  api_secret=''
)
base_url for different environments:
Production-India : https://api.india.delta.exchange
(Site at: https://india.delta.exchange/)

Testnet-India : https://cdn-ind.testnet.deltaex.org
(Site at: https://testnet.delta.exchange/)

Production-Global : https://api.delta.exchange
(Site at: https://www.delta.exchange/)

Testnet-Global : https://testnet-api.delta.exchange
(Site at: https://testnet-global.delta.exchange/)
  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.

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
        reduce_only='false'
    )
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 maker order (true or false) false (false by default)
reduce_only string reduce only order (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.13.tar.gz (6.7 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.13-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: delta_rest_client-1.0.13.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for delta_rest_client-1.0.13.tar.gz
Algorithm Hash digest
SHA256 c9298823b361263880a8b6a10dedeea27db7a557044f54e7b45162d53b2b8845
MD5 fdec6af74837cbc5ad85da94b73cf683
BLAKE2b-256 15266d9efcb9fbb8fa4d81c98a217d967baa5fb2bf8acaac094ee80f3f857bb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for delta_rest_client-1.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 d89d1909cc92a576b16e5b7e161a639967ae7556620ba50236a45412d6be4ab3
MD5 619fa90bca019475ba7a4df665e0652c
BLAKE2b-256 2def666dcf5e5f0b36fd53f6c1066ee8666c0ffeb3d3588804eb9f601e22a6e9

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