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
    )
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.12.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

delta_rest_client-1.0.12-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: delta_rest_client-1.0.12.tar.gz
  • Upload date:
  • Size: 6.6 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.12.tar.gz
Algorithm Hash digest
SHA256 ac4d7bbcbdeb93e3ce43e1685a3d62e22a220959add7e17a0afabe1347074abe
MD5 66f9a03fa1d214dab335b25debd90005
BLAKE2b-256 bd8d134563e8161efae113e152255727ddce1dbd8adab8811d05321b882aabc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for delta_rest_client-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 5b410a8a19e6d71e723d3cfac18e5fab4316b98dbe4d2e38ee68be565f40f4db
MD5 0c248deac378d6f721d5a66b2af6720f
BLAKE2b-256 83befd6bf3af56ad31a7725c75cda1b3825fbc2ea322e78723b9b41ea902decb

See more details on using hashes here.

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