Skip to content

Combos reference

Namespace STX.Sdk.Combos. See Combos for the flow.

Method Returns
RequestQuoteAsync(IEnumerable<ComboLeg> legs, string amount) QuoteRequest: RfqId
AcceptAsync(rfqId, quoteId, amount) ComboPlacement; STXComboPriceMovedException when the best fell below amount
CancelAsync(rfqId) CancelledRequest
SnapshotAsync(rfqId) RfqSnapshot: Status, Side, Amount, Quantity, ExpiresAt, BestQuote
CashOutAsync(marketId) CashOut: RfqId, MarketId, Quantity

Pushes (msg.Data): best_quote as BestQuote, placed as ComboPlacement, negotiation_closed as NegotiationClosed.

Method Returns
QuoteAsync(rfqId, amount, expiresInMs, clientOrderId) ComboQuote
WithdrawQuoteAsync(rfqId, quoteId) WithdrawnQuote

Pushes: rfq_opened as RfqOpened, rfq_closed as RfqClosed, quote_accepted as QuoteAccepted, placed as MakerPlacement, negotiation_closed as NegotiationClosed.

Both channels have JoinReply (ExternalId, your pseudonym) and every STXChannel member. Each command takes an optional timeout and ct.

ComboLeg(marketId, outcome) with outcome won or lost. Amounts are dollar strings, quantities contract strings, ExpiresAt Unix microseconds.