4.1 / 5 33 Ratings

Star Sports Sign Up Offer Guide

Star Sports currently has a welcome offer of Bet £20, Get £40.

What OLBG Likes

  • Independent Bookmaker
  • The Best Customer Service and Betting
  • Personal Traders for High Stakes Punters
Maximum Bonus:£20
Offer type:New Accounts
Sport Betting Offer:Yes
SEE OFFER
Luke Bradshaw Lee
Luke Bradshaw Lee - Your Sports Betting Guide 👍

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

To claim the Star Sports offer at OLBG, you do not need a promo code. Click the links on this page, register, and follow the steps below.

Banking Options

Check Welcome Offer Payment Methods

Please check the terms and conditions on the day of registration to ensure you use the correct deposit method to qualify for any offer.

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.

MethodMinProcessing TimeFee
£10Instant
£10Instant
£10Instant

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
  • Email

Star Sports Markets

  • How many sports: 26

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.

BookmakerTotal ValueExpiryMin Deposit
Unibet£407 Days£5
talkSPORT BET£407 Days£10
BetMGM£407 Days£5
BetVictor£457 Days£5
Betano£405 Days£10

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.

SectionOffer

⚽️ 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.

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

The offers below are no longer available, we document for historical reason and for information

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 atOffer
28.02.2025
Wager £20, Get 50 Free Spins on Big Bass Splash Expired

18+. 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! Expired

New 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"
>









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"

>


:elements="toolbarElements"
:disabled="readOnly"
@command="onToolbarCommand"
ref="toolbar"
>





:allow-resizing="showMargins"
: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"
>
v-model="value"
: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"
>




















class="document-toolbar-element"
:class="['element-type-'+element.type, {'button-group': !!element.buttonGroup, 'button-icon-only': element.type == 'button' && !element.label}]">
v-if="element.type == 'button' || element.type == 'dropdown'"
:settings=element
:toolbar-disabled="disabled"
@dropdowncontentshown="onDropdownContentShown"
@dropdowncontenthidden="onDropdownContentHidden"
@command="onElementCommand"
>




class="document-toolbar-element"
:class="['element-type-'+element.type, {'button-group': !!element.buttonGroup, 'button-icon-only': element.type == 'button' && !element.label}]">
v-if="element.type == 'button' || element.type == 'dropdown'"
:settings=element
:toolbar-disabled="disabled"
@dropdowncontentshown="onDropdownContentShown"
@dropdowncontenthidden="onDropdownContentHidden"
@command="onElementCommand"
>





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"

>


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"

>


:controls="tabbedControls[tabInfo.key]"
: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 }}





{{ 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"

>











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"
>









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"

>










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)"
>✕





class="backend-toolbar-button icon-only"
data-tooltip-text="Toggle Full Screen"
@click.stop.prevent="onToggleFullscreen"
>









v-for="tab in tabs"
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"
>
v-if="!useSlots"
: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"
>




class="flex-layout-column fill-container"
:class="editorContainerCssClass"
ref="editorContainer"
@dragover.capture="onDragOver"
@drop.capture="onDragDrop"
>






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