Maker's Perspective
High-Level Flow
- Taker will create an RFQ and the Maker will be notified on the
rfqsJSON-RPCoverWebSockets Notification channel. - Maker is able to create an order using [POST]
/orders. - Maker is able to cancel an existing order with [DELETE]
/ordersor [DELETE]/orders/{order_id}. - Taker submits a crossing Order that matches with the Maker’s existing order.
- Maker will receive updates about the state of their order via the
ordersJSON-RPCoverWebSockets Notification channel. - Maker will receive clearing finality via the
tradesJSON-RPCoverWebSockets Notification channel where the result can either be success or rejection.
Maker managing Orders
- Each RFQ has a
side_layering_limitattribute which communicates to Makers how many orders per side they are able to have with astate==OPENat any one time. By default, and Takers are not able to configure this, all RFQs for the moment will have aside_layering_limit==1. Therefore, Makers are only able to have 1xstate==OPENorder per side per RFQ at any point in time. - Users are able to create Orders via [POST]
/orders. - Users are able to replace existing Orders via [PUT]
/orders/{order_id}. - Users are able to cancel an Order via [DELETE]
/orders/{order_id}. - Users are able to cancel all Orders via [DELETE]
/orders. - Creating and replacing Orders will always return with a
state==PENDINGin response to the RESToverHTTP request. This indicates the Order is being processed by the matching engine. The Order only becomes actionable by any user when it’sstatevalue changes toOPEN. This is communicated via theordersJSON-RPCoverWebSockets Notification channel. - Replacing an Order is an atomic Cancel & Create request in the system. This means the original Order will lose it’s time priority.
