
With hundreds of different betting sites, finding the best can be confusing. I'll guide you through and find the most suitable bookie for you.
What Are The Current STAR SPORTS Welcome Offer Details?
Welcome to our guide on the Star Sports sign-up offer. Find comprehensive details on the current promo for new customers. Further insights into what they offer beyond the new customer deal are found in our complete Star Sports betting site review or explore all our free bets.
Star Sports increased the size of their welcome offer to Bet £20 Get £40, but it's important to state that the odds for the qualifying bet are 5.0.
Star Sports Bonus Code
18+ New customers only. Bet £40+ get 2x£10 free bets. Evens or greater to qualify. 1x£10 free bet paid if all terms met. £10 free bets for us on singles and upwards. 1x£10 free bet paid 24h after payment of initial free bet. Free bets must be used at min. odds 4/1. Full T&Cs apply.
#ad. 18+, gambleaware.org, T&Cs Apply
Banking Options
Check Welcome Offer Payment Methods
These are all the payment methods available for Star Sports. Be aware that in some cases, qualification for the welcome offer will depend on the payment method used. While we try to keep this information up to date in the full offer details below, make sure you check the full terms and conditions on the registration day.
| Method | Min | Processing Time | Fee |
|---|---|---|---|
| £10 | Instant | ||
| £10 | Instant | ||
| £10 | Instant |
Star Sports Key Features
- Best Odds Guaranteed: 9:00AM
- Live Stream: horse racing, greyhounds
- Asian handicap
- Bet Builder
- Acca Insurance
- Early pay out
- Welcome / sign-up offer
- Odds Boosts
- In-play
- Cash Out
- Partial Cash Out
- Free Bet Club (or similar)
- Exchange betting
- Spread betting
- In-game statistics
- Pre-match form/statistics
- Request a bet (or similar)
- Virtual sports
- App
Star Sports Customer Service
- Phone
- Web chat
- Social media
Star Sports Markets
- How many sports: 26
18+ New customers only. Bet £40+ get 2x£10 free bets. Evens or greater to qualify. 1x£10 free bet paid if all terms met. £10 free bets for us on singles and upwards. 1x£10 free bet paid 24h after payment of initial free bet. Free bets must be used at min. odds 4/1. Full T&Cs apply.
#ad. 18+, gambleaware.org, T&Cs Apply
One thing that should always be considered is that the Welcome offer for any betting site lasts for just a moment when you join. Your main consideration should be whether that betting site is right for you and what your betting needs are in the long term.
There are plenty of promotions going on across the majority of sportsbooks and betting sites in the UK. Full a fun rundown on all the different ones available through OLBG, you can see the best betting sign up offers.
Alternative Welcome Offers to Compare with Star Sports
You might consider these if you are looking for the best welcome offers. But we suggest reading the full reviews to see if the site suits you.
| Bookmaker | Total Value | Expiry | Min Deposit |
|---|---|---|---|
| Unibet | £40 | 7 Days | £5 |
| talkSPORT BET | £40 | 7 Days | £10 |
| BetMGM | £40 | 7 Days | £5 |
| BetVictor | £45 | 7 Days | £5 |
| Betano | £40 | 5 Days | £10 |
18+ New customers only. Bet £40+ get 2x£10 free bets. Evens or greater to qualify. 1x£10 free bet paid if all terms met. £10 free bets for us on singles and upwards. 1x£10 free bet paid 24h after payment of initial free bet. Free bets must be used at min. odds 4/1. Full T&Cs apply.
#ad. 18+, gambleaware.org, T&Cs Apply
More Star Sports Promotions
Once you have registered and claimed the welcome offer, you will find a host of promotions for existing customers to use. These range from football, horse racing and other sports promotions.
| Section | Offer |
|---|---|
⚽️ Sports | Bet Builder |
⚽️ Sports | Football Rewards: Free Bets when you stake on multiples |
⚽️🏀🏈🎾 Sports | Price Boosts |
| 🎾 Sports | Second Serve Acca Refund: Money back if 1 leg of your tennis acca lets you down |
⚽️ Sports | Premier League Added back: Money Back as free bets for selected markets |
| 🏀 Sports | Acca Rebound: Money back if 1 leg of your NBA acca lets you down |
🏇 Sports | Extra Places |
⚽️🏀🏈🎾 Sports | Boosted Odds |
⚽️ Sports | Cash Out |
Cheltenham Free Bets and Offers 2027
With the Cheltenham Festival the biggest week in racing, expect to see most bookies worth their salt running specific Cheltenham free bets and offers. There were some great ones last time around, and we'll keep you posted as and when they come through.
18+ New customers only. Bet £40+ get 2x£10 free bets. Evens or greater to qualify. 1x£10 free bet paid if all terms met. £10 free bets for us on singles and upwards. 1x£10 free bet paid 24h after payment of initial free bet. Free bets must be used at min. odds 4/1. Full T&Cs apply.
#ad. 18+, gambleaware.org, T&Cs Apply
Star Sports Login and Registration Guide
You will first need to register an account before being able to claim the Star Sports welcome offer.
Register an Account
🖋️ How do you register at Star Sports?
Just follow this step-by-step guide to get started:
🔻From the Home page, click on Sign Up in the top-right corner of the page
🔻Enter your Email and Password. Then, click Create Account
🔻Enter your Address, Mobile Number and Marketing preferences. Then, click Continue
🔻Set your Deposit Limits. Make sure to read the disclaimer thoroughly, then tick the checkbox and click Continue
🔻From here, you can either make your first Deposit, or click on the X if you’re not ready to Deposit yet.
Star Sports Sign Up Offer History
THESE OFFERS ARE EXPIRED AND NO LONGER AVAILABLE
In this section, we record previous welcome offers available from Star Sports so we can see how they have changed and potentially predict what might happen in the future
Offer history
| Expired at | Offer |
|---|---|
| 28.02.2025 | Wager £20, Get 50 Free Spins on Big Bass Splash Expired18+. New UK/IE customers only. Sign up via a recognised affiliate partner using promo code 'STARSPINS'. Deposit and wager a minimum of £20 on slots to receive 50 free spins on Big Bass Splash, credited by 12pm GMT the following day. 10 x wagering before winnings can be withdrawn. |
| 28.11.2024 | Up to £25 Free Bet + 25 Free Spins! ExpiredNew UK/IE customers only. Sign up and place your first sports bet at odds of Evens (2.0) or greater and if it loses, get a free bet equivalent to 50% of your first bet stake (min £10), to a maximum value of £25, plus 25 free spins on Gold Horsey Winner. Full T&Cs apply. 18+ | GambleAware.org |
January 2026
At the beginning of the year, Star Sports changed their welcome offer to Bet £10 Get £20 in free bets.
May 2026
Title
Content
Normal Paragraph FormatNormalHeading 1Heading 2Heading 3Heading 4CodeParagraph StyleGrayBorderedSpacedUppercaseQuoteIncreaseDecreaseBoldItalicAlignAlign LeftAlign CenterAlign RightAlign JustifyOrdered ListDefaultLower AlphaLower GreekLower RomanUpper AlphaUpper RomanUnordered ListDefaultCircleDiscSquareInsert TableInsert SnippetInsert LinkInsert ImageInsert VideoFullscreenCode ViewOLBG ImageInsert image from olbgimages.co.uk
class="modal fade component-backend-modal"
role="dialog"
aria-modal="true"
v-if="visible"
v-bind:aria-labelledby="ariaLabeledBy"
:style="containerStyle"
:class="containerCssClass"
@click="onOverlayClick"
>
ref="document"
role="document"
class="modal-dialog"
:class="cssClass"
>
ref="content"
class="modal-content"
:class="contentCssClassName"
:style="modalStyle"
@mousedown="onMouseDown"
@transitionend="onTransitionEnd"
>
data-default-button-text="OK"
>
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
data-default-button-text="OK"
>
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueKey"
:size="size"
:storePosition="false"
@hidden="onHidden"
>
type="button"
class="btn-close"
aria-label="Close"
tabindex="0"
>
class="component-backend-richeditor-document-connector flex-layout-column layout-absolute"
:class="cssClass"
data-configuration="{"lang":{"command_upload_from_computer":"Upload From Computer","browse":"Browse Media Library","by_url":"By URL","url_required":"The URL is required","url_validation":"URL must start with http:\/\/ or https:\/\/","add_image_title":"Insert Image","add_video_title":"Insert Video","add_audio_title":"Insert Audio","add_file_title":"Insert File","embedding_code":"Embedding Code","embedding_code_required":"The embedding code is required","invalid_embedding_code_title":"Invalid code","invalid_embedding_code_message":"Please enter valid HTML embedding code"},"vendorPath":"https:\/\/www.olbg.com\/modules\/backend\/vuecomponents\/richeditordocumentconnector\/assets\/vendor"}"
>
v-if="codeEditingMode"
ref="codeEditor"
container-css-class="fill-container"
:model-definitions="codeEditorModelDefinitions"
>
container-css-class="fill-container"
:built-in-mode="true"
:full-screen="fullScreen"
ref="document"
>
:disabled="readOnly"
@command="onToolbarCommand"
ref="toolbar"
>
:toolbar-container="toolbarExtensionPointProxy"
:external-toolbar-app-state="externalToolbarAppState"
:use-media-manager="useMediaManager"
:built-in-mode="true"
unique-key="html-editor-form-widget"
container-css-class="fill-container"
>
:read-only="options.readOnly"
:use-line-breaks="options.useLineBreaks"
:full-page="fullPage"
:editor-options="editorOptions"
:toolbar-buttons="toolbarButtons"
ref="richeditor"
@blur="onBlur"
@focus="onFocus"
>
class="component-backend-document flex-layout-column"
:class="cssClass"
>
v-if="processing"
indicator-style="stripe"
css-class="document-progress-indicator"
>
size="small"
>
role="button"
v-if="settings.href"
v-bind:href="settings.href"
v-bind:target="settings.target ? settings.target : '_self'"
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:aria-controls="ariaControlsId"
v-bind:aria-haspopup="settings.type == 'dropdown'"
v-bind:id="buttonId"
v-bind:data-cmd="command"
v-bind:data-tooltip-text="tooltip"
v-bind:data-tooltip-hotkey="tooltipHotkey"
class="backend-toolbar-button"
:class="cssClass"
@click="onClick"
ref="button"
>
type="button"
v-else
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:aria-controls="ariaControlsId"
v-bind:aria-haspopup="settings.type == 'dropdown'"
v-bind:id="buttonId"
v-bind:data-cmd="command"
v-bind:data-tooltip-text="tooltip"
v-bind:data-tooltip-hotkey="tooltipHotkey"
class="backend-toolbar-button"
:class="cssClass"
@click="onClick"
ref="button"
>
>type="button"
v-if="settings.type != 'dropdown' && settings.menuitems"
class="backend-toolbar-button menu-trigger"
:class="menuTriggerCssClass"
aria-haspopup="true"
v-bind:disabled="settings.disabled || toolbarDisabled"
v-bind:tabindex="settings.disabled || toolbarDisabled ? -1 : 0"
v-bind:id="menuButtonId"
v-bind:aria-controls="menuId"
@click="onClick($event, false, true)"
ref="menuButton"
>
v-if="settings.menuitems"
:items=settings.menuitems
:menu-id="menuId"
:labeled-by-id="buttonId"
ref="menu"
@closedwithesc="onMenuClosedWithEsc"
@command="onMenuItemCommand"
@shown="onMenuShown"
@hidden="onMenuHidden"
@aligntotrigger="onAlignToTrigger"
>
v-if="documentIcon"
class="document-icon"
v-bind:style="documentIconStyle"
>
type="text"
class="header-subtitle flex-layout-item stretch"
v-model="data[subtitleProperty]"
v-bind:disabled="disabled"
@input="onSubtitleInput"
>
v-if="showCloseIcon"
class="close close-icon backend-icon-background-pseudo"
@click="$emit('documentcloseclick')"
>
ref="sheet"
:items="items"
:labeled-by-id="labeledById"
:menu-id="menuId"
:preferable-position="preferablePosition"
@aligntotrigger="$emit('aligntotrigger', $event)"
@command="$emit('command', $event)"
@hidden="onSheetHidden"
@closemenu="hideMenu"
>
class="item"
:class="{
separator: type == 'separator',
first: isFirst,
'submenu-expanded': isSubmenuExpanded
}"
v-bind:role="type == 'separator' ? 'separator' : 'presentation'"
v-bind:disabled="disabled"
>
v-bind:tabindex="disabled ? -1 : 0"
v-bind:disabled="disabled"
v-bind:aria-disabled="disabled"
v-bind:role="itemRole"
v-bind:aria-checked="itemIsChecked ? 'true' : 'false'"
v-bind:id="menuItemId"
v-bind:aria-haspopup="hasSubmenu"
v-bind:aria-expanded="isSubmenuExpanded"
:class="{'has-submenu': hasSubmenu}"
:style="itemStyle"
@click="onClick($event)"
@mouseenter="onMouseEnter"
data-menuitem
>
class="backend-icon-background-pseudo"
v-if="type == 'checkbox' || type == 'radiobutton'"
>
class="backend-icon-background-pseudo submenu-indicator"
v-if="hasSubmenu"
>
ref="itemElement"
v-if="href && type != 'separator'"
v-bind:href="href"
v-bind:target="target ? target : '_self'"
v-bind:tabindex="disabled ? -1 : 0"
v-bind:disabled="disabled"
v-bind:aria-disabled="disabled"
v-bind:aria-checked="itemIsChecked ? 'true' : 'false'"
v-bind:role="itemRole"
:style="itemStyle"
@click="onClick($event)"
@mouseenter="onMouseEnter"
data-menuitem
>
class="backend-icon-background-pseudo"
v-if="type == 'checkbox' || type == 'radiobutton'"
>
v-if="hasSubmenu"
ref="submenu"
:items="items"
:labeled-by-id="menuItemId"
:menu-id="submenuId"
:is-submenu="true"
@command="$emit('command', $event)"
@hidden="onSubmenuHidden"
@closemenu="$emit('closemenu', $event)"
>
class="component-backend-richeditor flex-layout-column"
:class="cssClass"
data-configuration="{"editorLang":null,"useMediaManager":true,"iframeStylesFile":"https:\/\/www.olbg.com\/modules\/backend\/vuecomponents\/richeditor\/assets\/css\/iframestyles.css","globalToolbarButtons":["paragraphFormat","paragraphStyle","quote","bold","italic","align","formatOL","formatUL","insertTable","insertSnippet","insertPageLink","insertImage","insertVideo","fullscreen","html","olbgImages"],"allowEmptyTags":null,"allowTags":null,"allowAttrs":null,"noWrapTags":null,"removeTags":null,"lineBreakerTags":null,"imageStyles":null,"linkStyles":null,"paragraphFormat":null,"paragraphStyles":null,"inlineStyles":null,"tableStyles":{"branded":"Add OLBG Branding","no-branding":"Remove OLBG Branding"},"tableCellStyles":null}"
>
class="component-backend-uploader"
v-show="!hidden"
:class="{'uploader-collapsed': collapsed}"
data-lang-uploading="Uploading Files"
data-lang-complete="Upload Complete"
>
indicator-style="bar"
:progress="totalProgress"
>
@click.prevent="onHeaderButtonClick"
type="button"
class="close backend-icon-background-pseudo"
:class="{'collapse': !collapsed && hasFilesInProgress, 'expand': collapsed && hasFilesInProgress}"
tabindex="0"
>
:relative-layout="true"
:relative-layout-max-height="200"
>
v-for="(file, index) in files"
:key="file.key"
:fileName="file.name"
:status="file.status"
:progress="file.progress"
:errorMessage="file.errorMessage"
@removeclick="onRemoveClick(index)"
>
class="backend-icon-background"
v-if="status == 'completed'"
>
v-if="status == 'uploading'"
>
indicator-style="bar"
:progress="progress"
>
@click.prevent="$emit('removeclick')"
type="button"
class="close backend-icon-background-pseudo"
tabindex="0"
>
class="component-backend-scrollablepanel"
:class="{'scrollablepanel-relative': relativeLayout}"
>
class="scrollable"
ref="scrollable"
v-on:scroll.passive="onScroll"
:style="containerStyle"
>
ref="panel"
:controls="dataSchema"
:obj="liveObject"
:parent-obj="parentObject"
:inspector-unique-id="uniqueId"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
>
class="component-backend-inspector-panel"
data-validation-alert-title="Error"
>
:controls="untabbedControls"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="0"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
>
v-show="tabs.length > 0"
ref="tabs"
:tabs="tabs"
:closeable="false"
:use-slots="true"
tabs-style="inspector"
@tabselected="onTabSelected"
>
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="0"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
>
class="group-name inspector-padding-control-left inspector-padding-control-right"
:class="{expanded: expanded, collapsed: !expanded, loading: loading, 'has-errors': hasErrors, 'hide-bottom-border-collapsed': hideBottomBorder}"
@click.stop="onToggleGroup"
>
v-text="nameAndValue"
class="backend-icon-background-pseudo"
>
size="tiny"
>
v-show="expanded"
:controls="controls"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:depth="depth + 1"
:panel-update-data="panelUpdateData"
:inspector-preferences="inspectorPreferences"
:inspector-unique-id="inspectorUniqueId"
@inspectorcommand="$emit('inspectorcommand', $event)"
>
:controls="groupedControls.ungrouped"
:obj="obj"
:parent-obj="parentObj"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
>
v-for="(controls, groupName) in groupedControls"
v-if="groupName != 'ungrouped'"
:key="groupName"
:group-name="groupName"
:obj="obj"
:parent-obj="parentObj"
:controls="controls"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
>
v-for="control in controls"
:obj="obj"
:parent-obj="parentObj"
:key="control.property"
:control-host-unique-id="uniqueId"
:control="control"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
:inspector-unique-id="inspectorUniqueId"
:is-full-width="isFullWidthControl(control)"
@inspectorcommand="$emit('inspectorcommand', $event)"
>
class="inspector-padding-control-left"
v-text="control.title"
v-bind:for="controlEditorId"
:style="labelStyle"
@click.stop="onLabelClick"
>
v-if="control.description"
class="property-description backend-icon-background-pseudo"
v-bind:data-tooltip-text="control.description"
>
class="inspector-padding-control-left"
v-text="control.title"
v-bind:for="controlEditorId"
:style="labelStyle"
@click.stop="onLabelClick"
>
v-if="control.description"
class="inspector-padding-control-left full-width-property-description"
v-text="control.description"
:style="labelStyle"
>
v-if="control.type == 'string' || control.type == 'text'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:splitter-data="splitterData"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
>
v-if="control.type == 'dropdown'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
>
v-if="control.type == 'autocomplete'"
:obj="obj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
>
v-if="control.type == 'checkbox'"
:obj="obj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
>
v-if="control.type == 'table'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
ref="editor"
@hidebottomborder="bottomBorderHidden = true"
@hidefullwidthlabel="controlLabelHidden = true"
>
v-if="control.type == 'object'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
>
v-if="control.type == 'set'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
>
v-if="control.type == 'objectList'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
>
v-if="control.type == 'objectListRecords'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
@inspectorcommand="$emit('inspectorcommand', $event)"
>
v-if="control.type == 'dictionary'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:inspector-preferences="inspectorPreferences"
:splitter-data="splitterData"
:inspector-unique-id="inspectorUniqueId"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
ref="editor"
@hidefullwidthlabel="controlLabelHidden = true"
@hidebottomborder="bottomBorderHidden = true"
>
v-if="control.type == 'mediafinder'"
:obj="obj"
:parent-obj="parentObj"
:control="control"
:control-id="controlEditorId"
:splitter-data="splitterData"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="onEditorFocus"
@blur="onEditorBlur"
@invalid="onEditorInvalid"
@valid="onEditorValid"
>
v-if="control.type == 'string'"
class="inspector-control"
type="text"
ref="input"
v-bind:value="valueWithPreset"
v-bind:id="controlId"
v-bind:placeholder="control.placeholder"
v-bind:readonly="inspectorPreferences.readOnly"
@input="updateValue"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
/>
v-if="control.type == 'text'"
class="component-backend-inspector-textinput inspector-control"
:class="cssClass"
ref="input"
v-bind:value="valueWithPreset"
v-bind:id="controlId"
v-bind:placeholder="control.placeholder"
v-bind:readonly="inspectorPreferences.readOnly"
@keydown.enter.stop
@input="updateValue"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
>
v-if="control.type == 'text'"
class="inspector-textarea-shadow inspector-control component-backend-inspector-textinput"
ref="textareaShadow"
v-text="valueWithPreset"
>
size="tiny"
>
v-if="!loadingDynamicOptions"
:options="options"
:id="controlId"
:placeholder="control.placeholder"
:tabindex="0"
:disabled="inspectorPreferences.readOnly"
:allow-empty="true"
track-by="code"
label="label"
ref="input"
v-model="selectedValue"
select-label=""
selected-label=""
deselect-label=""
@input="updateValue"
@open="onFocus"
@close="onBlur"
@hook:mounted="onDropdownMounted"
>
No options found
{{ props.option.label }}
class="component-backend-inspector-checkbox"
>
tabindex="0"
@keydown="onLabelKeydown"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
>
type="checkbox"
ref="input"
value="1"
v-bind:checked="isChecked"
v-bind:id="controlId"
v-bind:readonly="inspectorPreferences.readOnly"
v-bind:disabled="inspectorPreferences.readOnly"
@input="updateValue"
/>
class="component-backend-inspector-table"
data-lang-add-item="Add item"
>
:columns="columns"
>
v-for="(row, index) in value"
:row="row"
:key="index"
:columns="columns"
:row-index="index"
:inspector-preferences="inspectorPreferences"
:table-configuration="tableConfiguration"
@removerow="onRemoveRowClick"
>
href="#"
class="add-item-link"
:class="{disabled: inspectorPreferences.readOnly}"
@click.stop.prevent="onAddItemClick"
v-text="control.btnAddRowLabel === undefined ? lang.addItem : control.btnAddRowLabel"
>
v-for="(column, index) in columns"
:key="index"
:column="column"
:column-index="index"
:column-width="columnWidth"
>
v-for="(column, index) in columns"
:key="index"
:column="column"
:row="row"
:cell-index="index"
:inspector-preferences="inspectorPreferences"
:table-configuration="tableConfiguration"
:is-last-cell="index == columns.length-1"
@focus="onCellFocus"
@blur="onCellBlur"
@valid="onValid"
@invalid="onInvalid"
@removerow="$emit('removerow', rowIndex)"
>
v-if="column.type == 'string'"
:row="row"
:column="column"
:cell-index="cellIndex"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
@valid="$emit('valid', $event)"
@invalid="$emit('invalid', $event)"
>
v-if="column.type == 'dropdown'"
:row="row"
:column="column"
:cell-index="cellIndex"
:inspector-preferences="inspectorPreferences"
ref="editor"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
@valid="$emit('valid', $event)"
@invalid="$emit('invalid', $event)"
>
type="text"
class="inspector-table-control-text"
v-model="row[column.column]"
ref="input"
v-bind:readonly="inspectorPreferences.readOnly"
@focus="$emit('focus', $event)"
@blur="$emit('blur', $event)"
/>
v-bind:tabindex="containerTabIndex"
@focus="onContainerFocus"
class="inspector-table-dropdown-container"
>
:options="options"
:placeholder="column.placeholder"
:tabindex="0"
:disabled="inspectorPreferences.readOnly"
:allow-empty="true"
track-by="code"
label="label"
ref="editor"
v-model="selectedValue"
select-label=""
selected-label=""
deselect-label=""
@input="updateValue"
@open="onFocus"
@close="onBlur"
>
No options found
:group-name="control.title"
:obj="editedObject"
:controls="control.properties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
ref="group"
>
:group-name="control.title"
:obj="editedObject"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:group-value="groupValue"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
:loading="loadingDynamicOptions"
ref="group"
>
data-lang-key-required="The Key field is required"
data-lang-value-required="The Value field is required"
>
:group-name="control.title"
:obj="editedObject"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:group-value="groupValue"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
:hide-bottom-border="true"
ref="group"
>
data-lang-error="Error"
data-lang-prop-cant-be-empty="Property :property cannot be empty"
data-lang-key-value-exists="Value is already defined: :property_value"
>
:group-name="control.title"
:obj="editedObject"
:parent-obj="obj"
:controls="nestedControlProperties"
:splitter-data="splitterData"
:depth="depth"
:panel-update-data="panelUpdateData"
:layout-update-data="layoutUpdateData"
:inspector-unique-id="inspectorUniqueId"
:inspector-preferences="inspectorPreferences"
ref="group"
@inspectorcommand="onInspectorCommand"
>
class="component-backend-inspector-table"
data-lang-add-item="Add item"
>
:control="control" :record="record" :parent-obj="parentObj" :obj="obj" > |
href="#"
class="add-item-link"
:class="{disabled: inspectorPreferences.readOnly || !displayAddItem}"
:disabled="inspectorPreferences.readOnly || !displayAddItem"
@click.stop.prevent="onAddItemClick"
v-text="lang.addItem"
>
size="tiny"
>
size="tiny"
>
v-if="!loadingDynamicOptions"
ref="autocomplete"
:search="onSearch"
:getResultValue="getResultValue"
:placeholder="placeholder"
:defaultValue="initialValue"
:readonly="inspectorPreferences.readOnly"
v-bind:id="controlId"
@input="onInput"
@change="onChange"
@update="onUpdate"
@focus="onFocus"
@blur="onBlur"
>
{{ result.value }}
data-lang-error-not-image="The selected file is not an image"
data-lang-placeholder="Click to select a file"
class="inspector-control-clearable"
>
class="inspector-control clickable act-as-text-input"
:class="cssClass"
:tabindex="0"
@focus="onFocus"
@blur="onBlur"
ref="input"
v-text:value="displayedText"
v-bind:readonly="inspectorPreferences.readOnly"
@click.stop="onClick"
@keydown.stop="onKeyDown"
>
data-default-button-text="OK"
>
ref="modal"
:aria-labeled-by="modalTitleId"
:unique-key="uniqueId"
:size="size"
:store-position="true"
:resizable="resizableWidth ? 'horizontal' : false"
:resize-default-width="600"
:close-by-esc="!readOnly"
:modal-temporary-hidden="layoutUpdateData.modalTemporaryHidden"
@hidden="onHidden"
@resized="onResized"
@shown="onShown"
@enterkey="onEnterKey"
>
type="button"
class="btn-close"
v-bind:disabled="readOnly"
aria-label="Close"
tabindex="0"
>
:data="data"
:live-mode="liveMode"
:unique-id="uniqueId"
:layout-update-data="layoutUpdateData"
:read-only="readOnly"
ref="inspector"
>
class="component-backend-splitter" :class="cssClass"
>
Left panel
class="flex-layout-item fix splitter-handle"
:class="{dragging: dragging}"
ref="handle"
@mousedown.stop="onHandleMouseDown"
>
Right panel
class="component-backend-tabs flex-layout-column"
:class="cssClass"
data-lang-close="Close Tab"
data-lang-close-all="Close All"
data-lang-close-others="Close Others"
data-lang-close-saved="Close Saved"
>
class="tablist flex-layout-row"
role="tablist"
ref="tabList"
v-bind:aria-label="ariaLabel"
@keydown="onKeyDown"
>
v-for="tab in tabs"
role="tab"
data-component-backend-tab
class="flex-layout-item"
:class="{
active: currentTabKey == tab.key,
stretch: tabsStyle == 'document',
fix: tabsStyle == 'form',
'has-icon': tab.icon || tab.fatalError,
'has-close-button': closeable
}"
v-bind:id="getTabId(tab, 'tab')"
v-bind:aria-controls="getTabId(tab, 'panel')"
v-bind:aria-selected="currentTabKey == tab.key ? 'true' : 'false'"
v-bind:tabindex="currentTabKey == tab.key ? 0 : -1"
v-bind:data-tooltip-text="getTooltipText(tab)"
@click.ignore="onClick(tab)"
@mouseup.middle="onMiddleClick(tab)"
@contextmenu.stop="onContextMenu($event, tab)"
>
class="tab-icon"
:class="{'tab-error': tab.fatalError}"
v-if="tab.icon"
aria-hidden="true"
>
class="tab-icon-background"
v-bind:style="getTabIconStyle(tab)"
>
:class="tab.icon.cssClass"
>
class="backend-icon-background-pseudo close-tab"
:class="{'has-changes': tab.hasChanges}"
v-bind:tabindex="currentTabKey == tab.key ? 0 : -1"
v-if="closeable"
role="button"
aria-hidden="true"
aria-label="Close Tab"
v-bind:title="closeTooltip ? '' : 'Close Tab'"
v-bind:data-tooltip-text="closeTooltip"
v-bind:data-tooltip-hotkey="closeTooltipHotkey"
@click.stop.prevent="onCloseClick(tab)"
>✕
role="tabpanel"
tabindex="0"
:key="getTabUniqueKey(tab)"
v-show="currentTabKey == tab.key"
v-bind:id="getTabId(tab, 'panel')"
v-bind:aria-labelledby="getTabId(tab, 'tab')"
class="tabpanel flex-layout-item stretch relative"
:class="tabPanelCssClass"
>
:ref="getTabComponentRefName(tab)"
v-bind:is="tab.component"
:component-data="tab.componentData"
@tabfatalerror="onTabFatalError(tab)"
@tabkeychanged="onTabkeyChanged"
@tabclose="onHostedComponentTabClose(tab)"
>
:items="contextMenuItems"
:menu-id="contextMenuId"
:labeled-by-id="contextMenuLabeledById"
ref="contextmenu"
@command="onMenuItemCommand"
>
class="flex-layout-column component-backend-monaco-editor"
:class="cssClass"
data-configuration="{"vendorPath":"https:\/\/www.olbg.com\/modules\/backend\/vuecomponents\/monacoeditor\/assets\/vendor\/monaco","fontSize":"12px","tabSize":4,"useEmmet":true,"yamlSchemas":[{"uri":"https:\/\/www.olbg.com\/modules\/tailor\/assets\/js\/blueprint-yaml-schema.json","fileMatch":["*-blueprint.yaml"]}],"renderLineHighlight":"all","useTabStops":false,"renderIndentGuides":false,"renderWhitespace":"all","autoClosingBrackets":"languageDefined","autoClosingQuotes":"languageDefined","hover":{"delay":750},"wordWrap":"off","theme":"vs-dark"}"
>
:tabs="editorTabs"
:closeable="false"
:no-panes="true"
:container-css-class="tabsContainerCssClass"
:tooltips-enabled="false"
tabs-style="monaco-editor"
@tabselected="onTabSelected"
>
Star Sports changed their welcome offer from Bet £10 Get £20, to Bet £20 Get £40.
June 2025
In June Star Sports changed to their current welcome offer from the offer: Get 50% back as a free bet up to £25 if your first bet loses.
March 2025
In March, Star Sports changed their welcome offer from a matched free bet up to £20 with 50 free spins, to Bet £40 Get £25 in free bets.
FAQ
Bookie Review FAQs - Star Sports
Who are Star Sports? Star Sports is the UK's Leading Independent Bookmaker. It has a sportsbook and casino and is legally authorised to operate in the UK under the name Star Racing Ltd.
When did Star Sports launch? Star Racing Ltd launched its online sportsbook – Star Sports – in 1999.
What are withdrawal times at Star Sports? Withdrawal times depend on the payment method used, but typically Star Sports will pay out its customers in 1-3 business days.