Skip to main content

What a combo is

A combo is a single position built from 2 to 10 legs. Each leg is one outcome on one market — for example, “Manchester City to win: YES” or “Over 2.5 total goals: YES”. Bayse Markets prices the whole slip as one position with one price and one multiplier. A combo wins only if every leg wins. If any leg loses, the whole combo loses.
Combos are not the same as combined events. A combined event is an event type whose markets are mutually exclusive — only one of them can resolve YES. A combo is a position you build across markets, usually from several different events. See Event types.

Price, multiplier, and payout

For example, a $10 combo at a `price` of `0.18` has a `multiplier` of about `5.56`. If every leg wins, you receive $55.56. In NGN, a combo share costs price × 100 and settles at ₦100.00, the same as a regular share (see Multi-currency). This means shares and potentialPayout differ by a factor of 100 in NGN. A ₦5,000 combo at a price of 0.20 holds 250 shares and pays ₦25,000.

Payout cap

A combo can pay at most 1000× your stake.
  • A slip that prices slightly above 1000× is quoted at exactly 1000×.
  • A slip that prices well above 1000× is refused with 400. Remove a leg or pick outcomes with a higher chance.
The quote also returns a maxStake. A placement whose stake or payout exceeds the allowed limit is refused with 400.

Building a combo

1

Find combo-eligible markets

Call List events with comboEligible=true. The filter composes with every other filter. For example, sportGameSlug=bm-game-20260524-mci-avl&comboEligible=true lists the combinable markets for one fixture.Each event returns two flags:
  • comboEligible — the event’s markets can be used as combo legs.
  • combosOnly — the event can only be traded inside a combo. Regular orders on its markets are not accepted.
2

Request a quote

Send your selections (marketId + outcomeId per leg) to Get combo quote. The response contains a quoteId, the combo price, multiplier, maxStake, and the per-leg chance.
3

Place the combo

Send the quoteId, the same selections, and your stake to Place combo. Set maxPrice to protect yourself against the price moving between the quote and the placement.
4

Track it

Poll Get combo or subscribe to the combos WebSocket channel for live state changes.

Leg rules

  • A combo needs between 2 and 10 legs.
  • Each market can appear only once.
  • Two legs cannot come from the same grouped or combined event — for example, two lines of one Total Goals event.
  • Legs that conflict are refused with 400. This covers outcomes that cannot both happen (for example, two different winners of the same game) and legs on the same fixture that are too closely correlated to price together.
  • Every leg’s market must be open.

Re-pricing and idempotency

Placement re-prices the combo server-side. If the new price is above your maxPrice, the placement is refused with 409 and nothing is debited. Request a new quote and try again. The quoteId is the idempotency key for a placement. Retrying with the same quoteId cannot place a second combo — it returns 409 with This combo has already been placed. Request a new quote to place another. If a placement times out or its response is lost, retry with the same quoteId. Do not request a new quote first: the original may have gone through, and a new quoteId would place a second combo. A 409 saying the combo has already been placed means it did — find it with List combos, which returns your newest combos first. Request a new quote only when you mean to place another combo.

Lifecycle

uiStatus gives a coarser, display-friendly view:

Settlement

A combo stays PENDING until it settles. It loses as soon as one leg loses, once voids can no longer reduce it below 2 legs. Otherwise it wins when every remaining leg has won.

Voided legs

A leg is voided when its market resolves 50-50 or is cancelled.
  • Voided legs drop out of the combo. The surviving legs settle at the probabilities they were quoted at when you placed the combo. Bayse Markets recomputes the multiplier, so potentialPayout falls.
  • If voids leave fewer than 2 legs, the whole combo is VOIDED and your stake is returned — whichever way the remaining leg went.
  • If every leg is voided, the combo is VOIDED and your stake is returned.
Each selection reports its own status (PENDING, WON, LOST, VOIDED) and a display-friendly displayStatus (NOT_STARTED, IN_PLAY, WON, LOST, VOIDED).

Settlement and payout are separate

The combo’s status changes first (WON, LOST, or VOIDED). The wallet credit follows shortly after. Use paidOut and amountPaidOut on the combo to see when the money has landed in your wallet.

Cashout

You can exit a combo early at its current value. Cashout is available only when all of the following are true:
  • The combo is PENDING.
  • No leg’s game has started.
  • Every leg’s market is open.
  • The cashout value is positive.
cashoutAvailable on the combo tells you cashout is currently offered. The cashout quote is authoritative — it returns the exact amount you would receive, or a reason when cashout is unavailable. Cash out combo re-prices at execution, so the amount you receive can differ from the last cashout quote. The proceeds are credited to your wallet and the combo moves to CASHED_OUT.

Sharing a combo

Every combo has an 8-character code. Anyone with read authentication can open a combo by its code with Get combo. When you open a combo you did not place, isOwner is false, every money field (amount, potentialPayout, shares, amountPaidOut, cashoutAmount) is zero, and cashoutAvailable is false.