Skip to main content

Overview

SX Bet supports parlays (multi-leg bets) through a Request-for-Quote (RFQ) system. Unlike single bets where makers post orders to a standing orderbook, parlays are created on-demand when a bettor requests a custom combination of legs. This means there is no persistent parlay orderbook. Every parlay market is created fresh in response to a bettor’s request, and market makers compete in real-time to offer odds.

How it works

Bettor selects multiple legs on sx.bet


Parlay request broadcast via WebSocket
    (channel: parlay_markets:global)


Market makers receive the request


 3-second window for makers to
    post orders to the parlay


All submitted orders shown to taker
    simultaneously after window closes


Taker has 1 minute to fill an order
  before the orderbook closes


Taker chooses an order to fill


Trade executes like any other bet

Key concepts

Parlay markets are real markets

When a bettor submits a parlay request, SX Bet creates a real market with its own marketHash. This market behaves like any other market on the exchange — you post orders to it, fill orders on it, and cancel orders on it using the same API endpoints. The difference is that a parlay market has legs — an array of underlying single markets and the outcomes the bettor selected for each.

The 3-second RFQ window

Once a parlay request is broadcast:
  1. Market makers have 3 seconds to analyze the legs and post orders
  2. After the window closes, the taker sees all available orders at once
  3. The taker has 1 minute to fill an order before the orderbook closes
  4. The taker picks the best offer and fills it
Your orders may remain active even after the bettor’s orderbook window closes. Set apiExpiry on your orders to control how long they stay valid.

Sample parlay request

When a taker submits a parlay, makers receive a message like this on the parlay_markets:global WebSocket channel:
{
  "marketHash": "0x38cceead7bda65c18574a34994ebd8af154725d08aa735dcbf26247a7dcc67bd",
  "baseToken": "0x6629Ce1Cf35Cc1329ebB4F63202F3f197b3F050B", // Mainnet USDC — see References for testnet address
  "requestSize": "100000000",
  "legs": [
    {
      "marketHash": "0x0d64c52e8781acdada86920a2d1e5acd6f29dcfe285cf9cae367b671dff05f7d",
      "bettingOutcomeOne": true
    },
    {
      "marketHash": "0xe609a49d083cd41214a0db276c1ba323c4a947eefd2e4260386fec7b5d258188",
      "bettingOutcomeOne": false
    }
  ]
}
The marketHash at the top level is the parlay market you post orders against. The legs array contains the individual markets and outcomes the taker selected.

Legs and pricing

Each leg in a parlay request contains:
FieldDescription
marketHashThe single market for this leg
bettingOutcomeOneWhich outcome the bettor selected (true = outcome one)
As a market maker, you need to:
  • Look up each leg’s market via GET /markets/find to understand the matchup
  • Check current odds for each leg via GET /orders/odds/best
  • Calculate combined odds across all legs (accounting for correlation if applicable)
  • Decide your offer price and size, then post via POST /orders/new
For example, given the sample request above with two legs:
LegMarketTaker’s PickYour Fair Probability
10x0d64...Outcome One (e.g. Team A to win)55%
20xe609...Outcome Two (e.g. Under 220.5)48%
Combined26.4% (0.55 × 0.48)
You’d then add your margin on top of the combined probability to arrive at the odds you offer. For example, with a 3% edge you’d price the parlay at ~29.4% implied probability for the maker side.

Fees

SX Bet charges 0% fees on single bets but applies a 5% fee on profit for parlay bets.

Parlay vs single bets

Single BetParlay
OrderbookPersistent, always availableCreated on-demand per request
DiscoveryBrowse existing ordersReceive RFQ via WebSocket
TimingPost/fill anytime3-second maker window
Market creationMarkets exist for scheduled eventsMarket created when bettor requests
LegsSingle marketMultiple underlying markets
Fees0% maker and taker5% on profit

Next steps

Market Making Parlays →

The full guide to listening for, pricing, and submitting orders on parlay requests.

Parlay Markets API →

API reference for parlay market behavior and fields.