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:
- Subscribe to the JSON-RPCoverWebSockets Channel
order_book.{strategy_id}.{level}
and note the returnedseq_id
value. - Request the RESToverHTTP [GET]
/strategies/{strategy_id}/order-book
endpoint which returns the Strategy’s complete Order Book. Note theseq_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.
- Subscribed to
trade_tape.{venue}.{kind}.{strategy_id}
WS Channel. - Receives WS messages for only successfully cleared & settled Trades.
JSON-RPCoverWebSockets
Authentication + Subscribe & Unsubscribe to Notification Channels
- 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}
, andvenue_bbo.{strategy_id}
JSON-RPCoverWebSockets Notification Channels.