# Intro

Custom Bet is a service that **enables you to build your own** **Bet Builder feature**, giving punters the freedom to create **highly personalized betting experiences**. By combining multiple selections—whether within a single match or across different matches—you can offer engaging, flexible betting options that drive both **margin growth** and **player satisfaction**.

Check our [product sheet ](https://resources.sportradar.com/custom-bet/custom-bet-sheet)to understand Custom Bet on one page.

**Key Benefits / Use Cases**

* You can customize your odds pricing for the Bet Builder by choosing a specific odds key or using any odds source to define the margin.
* You can enhance your punters' engagement by using our AI-driven pre-built recommendations, or our highly customizable combination options.
* You can choose the best integration solution for your business:
  * **API solution** (supports [SDK](https://docs.betradar.com/display/BD/UOF+-+SDK)) to design your own front end and tailor the experience fully.
  * **Front-end widget solution** for faster integration into your existing platform. - *Reach out to our sales or support team for more information.*

#### **2. Supported Sports & Markets** <a href="#id-wip-custombetapidocumentationredesign-2.supportedsports-and-markets" id="id-wip-custombetapidocumentationredesign-2.supportedsports-and-markets"></a>

Custom Bet uses a limited number of selected markets provided in our *Unified odds feed* product for each supported sport.

Check out the [Custom Bet Market List page](https://docs.sportradar.com/uof/introduction/market-overview-uof-and-cb) for the detailed list of markets we support.&#x20;

{% hint style="info" %}
**Note:**

* For all Total and Handicap lines, we only support x.5 market lines.
* All Asian outcomes are not supported in Custom Bet, as we do not currently provide calculations for partly-voided outcomes.
  {% endhint %}

<table data-full-width="false"><thead><tr><th>Sports</th><th>Pre-Match</th><th>Live</th><th>Tournament</th></tr></thead><tbody><tr><td>Soccer</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> include player markets</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><p>We support <strong>all tournaments</strong> that are supported in UOF.</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>Basketball</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> include player markets</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><p>We support <strong>all tournaments</strong> that are supported in UOF, except NCCA (coming soon).</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>Tennis</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><p>We support <strong>all tournaments</strong> that are supported in UOF, except NCCA (coming soon).</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>Ice Hockey</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><p>We support <strong>all tournaments</strong> that are supported in UOF, except NCCA (coming soon).</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>Baseball</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> include player markets</td><td>Coming soon in 2025</td><td><p>We support <strong>all tournaments</strong> that are supported in UOF.</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>American Football</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> include player markets</td><td>Coming soon in Jan'26</td><td><p>We support <strong>NFL</strong> now. Other tournaments coming soon.</p><p>Player markets will only be supported by the tournaments you subscribed to.</p></td></tr><tr><td>Cricket</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> include player markets</td><td>We support all men T20 tournaments.</td><td><br></td></tr></tbody></table>

#### **3. Our Solutions** <a href="#id-wip-custombetapidocumentationredesign-3.oursolutions" id="id-wip-custombetapidocumentationredesign-3.oursolutions"></a>

These are the 2 solution you can choose to build your own Bet Builder feature.

<table data-full-width="false"><thead><tr><th>Solution</th><th>When to choose it?</th></tr></thead><tbody><tr><td>API</td><td><ul><li>Use this if you want a fully customized front-end experience.</li><li>Provides maximum flexibility to design your own interface and user experience.</li><li>Supports <a href="https://docs.betradar.com/display/BD/UOF+-+SDK">SDK</a></li></ul></td></tr><tr><td>Front-end</td><td><ul><li>Use this if you want fast, easy integration. </li><li>The widget can be iframed into your website for quick deployment. Ideal if you have limited time or resources and want to test the feature quickly. You can opt for our API solution afterwards when you finish building your own front end.</li><li>Demo: <a href="https://widgets.sir.sportradar.com/custom-bet#matches:(matchId:50852263,sportId:1)">https://widgets.sir.sportradar.com/custom-bet#matches:(matchId:50852263,sportId:1)</a></li><li>Reach out to our sales or support team for more information.</li></ul></td></tr></tbody></table>

**API solution**

These are the 4 main API endpoints you can use to build your Bet Builder. Check each page for the detailed guide to each API endpoint.

* [**Available Selection**](https://docs.sportradar.com/uof/custombet-cb/api/available-selections): Gives you all available markets that can be combined with the Custom Bet.
* [**Calculate**](https://docs.sportradar.com/uof/custombet-cb/api/calculate)**:** Returns the odds and probability of the selected combination. Also provides remaining available selections.
* [**Calculate Filter**](https://docs.sportradar.com/uof/custombet-cb/api/calculate-filter)**:** Returns the same information as Calculate (odds and probabilities). Additionally, flags selections that conflict with the current combo.
* [**Pre-Built**](https://docs.sportradar.com/uof/custombet-cb/api/pre-built-bet-recommendation)**:** Provides AI-powered personalized recommended pre-built combos with odds pricing.

**Other Features we support**

* Source-Agnostic solution: you can **use any odds sources** you want, and we will harmonize your single odds with the Custom Bet odds to generate the most competitive pricing. [Check here for the guide](https://docs.sportradar.com/uof/custombet-cb/source-agnostic-solution-harmonization-feature).
* Multi-match request: **combine up to 5 matches** with a maximum of 10 selections per match. [Check here for the guide](https://docs.sportradar.com/uof/custombet-cb/api/calculate).
* Multi-sport request: coming soon
* Combination flexibility: You can freely combine any markets as long as they do not conflict. Even if two selections imply the same outcome, we still allow the combination—helping you increase bet volume and reduce ticket rejection rates.

<table data-full-width="false"><thead><tr><th>Sports</th><th>Source-Agnostic</th><th>Multi-Match</th><th>Multi-Sport</th></tr></thead><tbody><tr><td>Soccer</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Coming soon</td></tr><tr><td>Basketball</td><td>Coming soon in Dec'25</td><td>Coming soon in Dec'25</td><td>Coming soon</td></tr><tr><td>Tennis</td><td>Coming soon in 2026</td><td>Coming soon in 2026 </td><td>Coming soon</td></tr><tr><td>Ice Hockey</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Coming soon</td></tr><tr><td>Baseball</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Coming soon</td></tr><tr><td>American Football</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Coming soon</td></tr><tr><td>Cricket</td><td>Coming soon</td><td>Coming soon</td><td>Coming soon</td></tr></tbody></table>

#### **4.** Combination Rules <a href="#id-wip-custombetapidocumentationredesign-4.combinationrules" id="id-wip-custombetapidocumentationredesign-4.combinationrules"></a>

* Max 10 selections in one request
* Max 5 matches in one request, so it can be either a combo of the same match or multiple matches (Above is the supported sport)
* We allow all combinations as long as they do not conflict. However, there are some cases that are not combinable. See the chart below for the exceptions. We plan to remove them soon.

<table data-full-width="false"><thead><tr><th>Sport</th><th>Combination Rules</th></tr></thead><tbody><tr><td>Soccer</td><td><ul><li><p>For Goal scorer markets, we support these combinations now. Note that the same player cannot be selected twice within the same Custom Bet request.</p><ul><li>Anytime Goal Scorer (market 40) + Last Goal scorer (market 39) - different players</li><li>Multiple Anytime Goal Scorer (market 40) - different players</li></ul></li><li>Team to score xth goal (market 8) + 1st or 2nd half team to score xth goal (market 62, 84)</li><li>Team to score xth goal (market 8, 62, 84) cannot be combined with player goalscorer markets (market 38, 39, 40)</li><li>Markets that imply the same outcome (i.e., where Market A is effectively a subset of Market B) cannot be combined. For example, in player markets, “Player A to score 1 goal” and “Player A to score 2 goals” cannot be combined.</li></ul></td></tr><tr><td>Basketball</td><td><ul><li>Markets that imply the same outcome.</li></ul></td></tr><tr><td>Tennis</td><td><ul><li>Markets that imply the same outcome</li></ul></td></tr></tbody></table>

#### **5. Environments** <a href="#id-wip-custombetapidocumentationredesign-5.environments" id="id-wip-custombetapidocumentationredesign-5.environments"></a>

<table data-full-width="false"><thead><tr><th>Environments</th><th>Guideline</th></tr></thead><tbody><tr><td>Integration</td><td><p>Use this environment for <strong>testing and development</strong> before release.</p><p><em>Note:</em> Since it is also used for ongoing development, testing, and deployments, results may differ from production. Performance and reliability are not guaranteed.</p></td></tr><tr><td>Production</td><td><p>Use this environment for <strong>real user traffic and live experiences</strong>.</p><p><em>Note:</em> Do not use for testing to ensure production requests are processed reliably.</p></td></tr></tbody></table>

For more information about API availability, access restrictions and functionality related to these, please see the [Unified Odds feed integration documentation.](https://docs.betradar.com/pages/viewpage.action?pageId=2162692)&#x20;

#### **6. API Access & Data Availability** <a href="#id-wip-custombetapidocumentationredesign-6.apiaccess-and-dataavailability" id="id-wip-custombetapidocumentationredesign-6.apiaccess-and-dataavailability"></a>

**Products Access**

Custom Bet is offered per Sport + Pre-match/Live combination. For example, to access both Soccer Live and Soccer Pre-match, you must activate two separate products: *Soccer Live Custom Bet* and *Soccer Pre-match Custom Bet*.

**Rate Limit**

<table data-full-width="false"><thead><tr><th>Environment</th><th>Default Limit</th><th>Pro Package</th><th>Premium Package</th></tr></thead><tbody><tr><td>Production</td><td>100 req/sec</td><td>250 req/sec</td><td>500 req/sec</td></tr><tr><td>Integration</td><td>100 req/sec</td><td>250 req/sec</td><td>500 req/sec</td></tr></tbody></table>

⚠️ For higher limits, please contact your commercial representative to upgrade the product.

**Data Availability**

<table data-full-width="false"><thead><tr><th>Event Type</th><th>Availablity</th></tr></thead><tbody><tr><td>Pre-match</td><td>Pre-match Custom Bet is available once you receive <em>side markets</em> (markets other than 2-way, 3-way, or totals) from UOF, until handover to Live.</td></tr><tr><td>Live</td><td><p>Live Custom Bet is available after handover from Pre-match to Live odds, until the match ends.</p><p>And you need to book the Live event on our Live Booking Calendar.</p></td></tr><tr><td>Completed matches</td><td>Not supported</td></tr></tbody></table>

⚠️ Betpal (Producer 4) is supported on Custom Bet. However, it is strongly recommended to enable the Harmonization feature. Without Harmonization, customers are advised that Custom Bet will use underlying probabilities to form Custom Bet odds and not ALPHA odds probabilities. We recommend all customers to use Harmonization to have the most optimum Custom Bet Odds available.

#### **7. Odds & Margins** <a href="#id-wip-custombetapidocumentationredesign-7.odds-and-margins" id="id-wip-custombetapidocumentationredesign-7.odds-and-margins"></a>

**How Odds Are Calculated:**

<figure><img src="https://1868790214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1KlIQPveu0EGYCTI8DL1%2Fuploads%2Fdl4rkomGKixD7sRsd5Py%2FSlide5.jpg?alt=media&#x26;token=06842d7a-ff76-43d6-a976-0acbd498bb16" alt=""><figcaption></figcaption></figure>

1. Calculate correlation: We use simulation data to assess the correlation between all selections. There are three types:
   * Independent: One selection does not affect another.
   * Positively correlated: One selection makes another more likely.
   * Negatively correlated: One selection makes another less likely.
2. Calculate combined probabilities: Multiply the individual fair probabilities of each selection and adjust by the correlation factor to get the combined probability. For example: Combined Probability = Correlation factor \* Probability 1\*Probability 2\*Probability 3\*...&#x20;
3. Convert probability to odds: The combined fair probability is then converted into fair odds = 1/fair probability
4. Apply margin: Finally, a margin is added on top of the fair odds to generate the final odds offered. (See below for 2 margin options).

**Margin / Odds Key Configuration**

We offer two types of margin and odds key options, but only one can be applied at a time.

<table data-full-width="false"><thead><tr><th>Options</th><th>What is it?</th><th>How to use it?</th></tr></thead><tbody><tr><td><p>Harmonization</p><p>(Recommended)</p></td><td><p>We use your single odds price to calculate the Custom Bet odds. This will ensure Custom Bet odds are aligned with your single odds and provides consistent, competitive pricing.</p><p>This approach is <strong>source-agnostic</strong>, so you can use any odds sources you want. <a href="source-agnostic-solution-harmonization-feature">Explanation of source-agnostic solution</a>.</p><p>For example you want to combine market A and market B, we will use our model to calculate the correlation factor (see the explanation), and multiply it with all your single odds of each selection.</p><p>Calculation formula = Single odds (Market A) * Single odds (Market B) * Correlation factor.</p></td><td><p>Simply send us the odds of each single selection in the request.</p><p>&#x3C;selection id="sr:match:14736961" market_id="14" specifiers="hcp=1:0" outcome_id="1711" odds="2.4"/> &#x3C;selection id="sr:match:14736961" market_id="26" outcome_id="70" odds="3.5"/></p><p><br></p><p>You can set a <strong>max cap</strong> on your harmonized odds, so that you can ensure it is within your risk management. Please reach out to the support team and we can set this up for you.</p></td></tr><tr><td><p>Odds Key Ladder</p><p><img src="https://confluence.sportradar.ag/plugins/servlet/twitterEmojiRedirector?id=26a0" alt="warning"> To be deprecated, so please do not use this if you are starting to integrate</p></td><td><p>Select among four odds key options, and this will be applied on top of the fair Custom Bet odds.</p><p>The odds key will be used for all Custom Bet odds, and we do not consider your single odds and probabilities adjusted for specific selections via CTRL (pre-match) or Betpal (live).</p></td><td><p>The Custom Bet ladder will be configurable through <a href="https://docs.betradar.com/pages/viewpage.action?pageId=2163703">Betradar Ctrl</a> (feed options > Custom Bet tab)<br><br></p><p>Please find the mapping of fair odds to Custom Bet odds for each ladder in the chart below.</p><p><br></p></td></tr></tbody></table>

\
**Odds Key Ladder Mapping**

| fair odds | Aggressive (105) | Moderate (110) | moderate (flat) | Conservative (115) |
| --------- | ---------------- | -------------- | --------------- | ------------------ |
| 1         | 1                | 1              | 1               | 1                  |
| 1,001     | 1,0005           | 1              | 1               | 1                  |
| 1,02      | 1,015            | 1,01           | 1,01            | 1,005              |
| 1,05      | 1,04             | 1,03           | 1,03            | 1,02               |
| 1,1       | 1,08             | 1,07           | 1,07            | 1,05               |
| 1,2       | 1,17             | 1,15           | 1,16            | 1,12               |
| 1,4       | 1,36             | 1,32           | 1,33            | 1,28               |
| 1,7       | 1,63             | 1,57           | 1,6             | 1,51               |
| 2         | 1,9              | 1,82           | 1,85            | 1,74               |
| 2,5       | 2,36             | 2,23           | 2,25            | 2,11               |
| 3,5       | 3,25             | 3              | 3               | 2,8                |
| 5         | 4,5              | 4,1            | 3,8             | 3,8                |
| 10        | 8,5              | 7,5            | 6               | 7                  |
| 20        | 16               | 14             | 9               | 12                 |
| 50        | 40               | 33             | 18              | 25                 |
| 100       | 70               | 50             | 22              | 30                 |
| 1000      | 300              | 200            | 50              | 100                |
| 10000     | 750              | 500            | 70              | 250                |
| 100000    | 2000             | 1000           | 80              | 500                |

***

#### **8. Best Practices** <a href="#id-wip-custombetapidocumentationredesign-8.bestpractices" id="id-wip-custombetapidocumentationredesign-8.bestpractices"></a>

* **Punter Placing a Bet**

  * Use **Available Selection endpoint** to show users all possible markets.
  * When a user selects a combo, call **Calculate Filter endpoint** to get odds and disable conflicting selections.
  * Before placing a bet, call **Calculate endpoint** for a fast, accurate odds response.

  **Offering Pre-Built Recommendation**

  * Get recommended pre-built combos and display it on the event page or homepage for quick bet placement.
  * For Pre-match Pre-Built recommendations, we recommend caching the odds price for 15 seconds, since Pre-match prices rarely change quickly, which reduces excessive API calls.
  * If you need to update the odds for a specific pre-built, call **Calculate endpoint** endpoint for a fast response without the need for filtering.

  **Handling Settlements & Voided Markets:**

  * Store the final accepted custom bet ticket
  * Listen to the feed for settlements of individual markets.
    * Voided selections: If any market within a custom bet is voided, we recommend voiding the entire custom bet.
    * Losing selections: If any single selection loses, the entire custom bet is considered losing. A losing selection does not override voided selections
    * Winning bet: Only when all selections are winning is the custom bet considered a win.
  * The settlement logic should follow the same principles as handling combination bets across different events.

<br>
