High-Level Workflows

Important Note: Both the Taker and the Maker will receive all updates through the JSON-RPCoverWebSockets Notification channels for events relating to Strategies, Orders, and Trades.

A user is only a Maker where their Order is executed upon by another Order. A user is only a Taker if they submit an Order which crosses an existing Order.

Return all available Strategies

If you would like to return all available Strategies to trade on Paradigm, you should request the RESToverHTTP [GET] /strategies endpoint.

Return your Orders

If you would like to return your Orders on Paradigm, you should request the RESToverHTTP [GET] /orders endpoint.

Return your Trades

If you would like to return your Trades on Paradigm, you should request the RESToverHTTP [GET] /trades endpoint.

Submit an Order

If you would like to submit an Order to a Strategy’s Order Book, you should request the RESToverHTTP [POST] /orders endpoint.

Update an Order

If you would like to update an existing Order, you should request the RESToverHTTP [POST] /orders/{order_id}/replace endpoint.

Managing a Strategy’s Order Book

You are able to create and manage a local copy of each Strategy’s Order Book with the following steps:

  1. Subscribe to the JSON-RPCoverWebSockets Channel order_book.{strategy_id}.{level} and note the returned seq_id value.
  2. Request the RESToverHTTP [GET] /strategies/{strategy_id}/order-book endpoint which returns the Strategy’s complete Order Book. Note the seq_id value.

As only the changes, or the delta, to the Order Book are messaged over the JSON-RPCoverWebSockets Channel order_book.{strategy_id}.{level}, you are able to disregard all seq_id values before the seq_id values returned by the RESToverHTTP [GET] /strategies/{strategy_id}/order-book request. You are able to update your local copy of the Strategy’s Order Book by adding and removing from your local copy as appropriate.

Orders upon Rejection at Settlement

All Orders, regardless of your role in the trade (as a Taker or Maker) are considered to be canceled upon rejection.

This means, as Paradigm sends a single Block Trade to the underlying venue for settlement and clearing, that if the Trade fails to settle & clear, both Orders are canceled. To clarify, only the amount of the Order that failed to settle & clear is canceled.

You will know this has occurred principally from the JSON-RPCoverWebSockets Channel trades.{venue}.{kind}.{strategy_id} wherein you will receive a message with the state == REJECTED. You will also receive a message on the JSON-RPCoverWebSockets Channel orders.{venue}.{kind}.{strategy_id} where the pending_fill_amount, canceled_amount key values have been incremented to reflect the amount of the Order canceled as a result of rejection.

Get All Trades

All users of Paradigm are able to receive updates of all Trades which occur through the Future Spread Dashboard product.

Paradigm does not reveal the counterparties involved or the individual side == BUY | SELL of the composite legs traded.

  1. Subscribed to trade_tape.{venue}.{kind}.{strategy_id} WS Channel.
  2. Receives WS messages for only successfully cleared & settled Trades.

JSON-RPCoverWebSockets

Authentication + Subscribe & Unsubscribe to Notification Channels

  1. Authenticate, establish a heartbeat and Subscribe to the strategy_state.{venue}.{kind}, order_book.{strategy_id}.{level}, orders.{venue}.{kind}.{strategy_id}, trades.{venue}.{kind}.{strategy_id}, trade_tape.{venue}.{kind}.{strategy_id}, and venue_bbo.{strategy_id} JSON-RPCoverWebSockets Notification Channels.