Skip to main content

Overview

This guide covers the full flow for market making parlays on SX Bet:
  1. Connect to the WebSocket.
  2. Receive parlay requests.
  3. Analyse the legs.
  4. Calculate odds.
  5. Post orders.
All of it has to happen within the 3-second RFQ window.

Step 1: Connect to the parlay channel

Subscribe to the parlay_markets:global channel to receive parlay requests in real time. You need a token from the GET /user/realtime-token-v3/api-key endpoint.

Step 2: Parse the parlay request

Each incoming message contains the parlay’s marketHash, the requested token and size, and the legs:

Step 3: Look up each leg

Query each leg’s market via GET /markets/find to see what the bettor selected.

Step 4: Calculate your odds

The simplest approach is to multiply the implied probabilities of each leg. Your pricing strategy is up to you. This is a basic example:
percentageOdds is your own implied probability, scaled by 10^20 — the price you are paying, for the side named by isMakerBettingOutcomeOne.

Step 5: Post your order

Posting a parlay order is posting an order. There is nothing parlay-specific about the payload or the signature. The order’s expiry must be no later than the parlay market’s expiry. The signing code lives on the shared pages:

Create orders

EIP-712 order signing

The struct, the domain, and signing the digest.
Keep your order’s expiry — a unix epoch timestamp in seconds — inside the parlay’s own expiry.

Step 6: Manage your orders

Cancelling a parlay order is cancelling an order. Use DELETE /orders-v3 with the ids you want cancelled.

Cancelling orders

Picking a route, confirming before you exit, and why a 200 is not enough.

Parlays

The RFQ flow.

Create orders

Posting new orders

EIP-712 order signing

The eight-field struct every order shares.

Parlay requests channel

The message you subscribe to.
Last modified on August 23, 2026