Workflow
Submitting an order
Client → Server
- Sends either a New Order Single Limit
<D>
message or a New Order Single Market<D>
message
Does Gemini accept the order?
-
Yes: Order is accepted for initial processing
- Server → Client: Sends an Execution Report
<8>
for a new order with:- ExecType
<150>
set to0 = New
- OrdStatus
<39>
set to0 = New
- ExecType
Is the order marketable?
- Yes: The server executes one or more initial fills
- Server → Client: Sends an Execution Report
<8>
for each fill or partial fill - Does the order have remaining quantity?
- Yes: The server places the remaining quantity on the order book
- No: The server closes the order
- Server → Client: Sends an Execution Report
- No: The server puts the entire quantity of the order on the book
- Server → Client: Sends an Execution Report
-
No: Order is rejected
- Server → Client: Sends an Execution Report
<8>
indicating the order was rejected with:- ExecType
<150>
set to8 = Rejected
- OrdStatus
<39>
set to8 = Rejected
- ExecType
- Server → Client: Sends an Execution Report
-
No: Throttle exceeded
- Server → Client: Sends a Session Reject
<3>
indicating the message was rejected due to a rate limit breach
- Server → Client: Sends a Session Reject