Market Makers' Guide

On this page, we describe how to make markets on Delta Exchange in an efficient and effective manner by leveraging all the tools and features that we offer to market makers.

We have attractive incentive program for both options and futures market making. If you are interested in becoming a Registered Market Maker (RMM), please write to insti-support@delta.exchange for more details.

To our RMMs, we offer significantly higher API rate limits to enable them to provide mass quotes and highly optimised margining scheme to improve capital utilisation.

Quoting on Delta: some recommendations

Margin mode

We currently offer two margin modes: isolated margin and portfolio margin. Margin mode is an account level property, i.e. all positions and orders in an account must have the same margin mode.

We recommend that you do market making in portfolio margin mode. You can get all the details for the margin requirement of your portfolio over the portfolio_margins socket channel. This channel publishes blocked margins and unrealized cashflows every 2 seconds.

You can also monitor the liquidation risk of your portfolio of positions on this channel through the 'liquidation_risk' flag. This flag is set to TRUE when you do not have sufficient margin to meet the initial margin requirement for your positions (and orders, if applicable), i.e. blocked_margin < im_w_ucf + commissions.

Maintaining a live orders snapshot

You should subscribe to the private "orders" channel on socket. You can receive new, create and delete events for orders which can be used create a live snapshot at your end.

Alternatively, you can use our get open orders rest api to fetch open orders for a particular contracts.

Orders updating via batch APIs

We provide 3 batch APIs - batch create, batch delete and batch edit APIs. You can use these endpoints to modify your orders periodically. Batch APIs perform much faster especially when trying to work on > 5 orders. You can send up to 50 orders in a single batch. Also, please note that a batch must comprise of orders in a single contract.

Listening to live trades

For this, you should subscribe to the private "user_trades" channel on socket.

How to cancel all orders or close all positions

To cancel all orders at once, you can use the close all orders api.

To close all positions at once, you can use the close all positions api. Please note that close all positions API also cancels all your open orders too.

Dead man switch

This feature is useful to cancel all open orders in case the market maker loses connectivity with the exchange. To use this, you can periodically set a timer using the cancel after API. The exchange will cancel open orders if the timer is reached.

Specifically for RMMs

Margin mode

All RMM accounts compulsorily be in portfolio margin mode

API rate limits

RMM accounts API rate limits sufficient to update orders for any selected contract 8-10 times per second. Moreover, RMM accounts can create up to 200 live orders (vs. 50 live orders for normal users) in a single contract.

Order risk limits

To enable mass quoting for options in a capital efficient manner, for RMM accounts orders are not margined individually. Instead a limit is applied on the notional size of open orders.

In any contract, the total notional of open orders is capped at min (500K USDT, 50 * USDT Equity). USDT Equity is defined as (USDT Wallet Balance + Unrealised Cashflows - USDT Balance blocked for spot orders).

If this limit is breached, you would get 'risk_limits_breached' as the error code for your place order requests.

{
   success: false,
   error: { 
      code: "risk_limits_breached", 
      context: {
         side: "buy",                   # side on which the order notional limit was breached
         current_notional: "343000.23", # cumulative notional of existing orders
         max_notional: "500000"         # notional limit as calculated by (500k, 50*equity)
      }
   }
}

Position risk limits

Your account goes into Risk reduction mode when your USDT Wallet Balance < Initial Margin requirement for your portfolio. In this mode, all options contracts are in reduce-only mode. And, only those futures orders will be accepted that will reduce the delta of your portfolio. The error code for risk reduction mode being triggered is liquidation_risk_limits_breached.

## for futures
{
   success: false,
   error: { 
      code: "liquidation_risk_limits_breached", 
      context: {
         allowed_order_side: "buy",        # side which will reduce portfolio delta
         current_portfolio_delta: "3.5",   # delta of existing portfolio (in underlying terms)
         current_total_orders_delta: "2.4" # delta of existing open futures orders (in underlying terms)
      }
   }
}


## for options
{
   success: false,
   error: { 
      code: "liquidation_risk_limits_breached", 
      context: {
         allowed_orders: "reduce_only_orders_allowed"
      }
   }
}

Market maker protection (MMP)

RMM accounts get access to MMP to enable them to provide mass quotes while still maintaining control over risk of acquiring excessively large positions. Details of MMP are available here.

Commission Rebates in RMM

RMM accounts may get discounts or rebates on trading fees. Discounts on trading fees are applied in real time and you are simply charged a lower fee for the relevant trades.

In the case of rebates, you are charged zero trading fees at the time of the trade. And, the rebate earned is processed as a cashback in batches that run every 15 mins.

Please note that for fills where discounted trading fees or rebates are applied, are excluded from the scope of VIP program, referral program and other promotional schemes. Moreover, fees for these fills cannot be paid in DETO.

Last updated