<a class="eb-image-viewport"></a>

#  SABA Calls for Restrictions on Prediction Markets in South Africa

  Friday, 31 July 2026

![The Rise of Mobile Casino Gambling in South Africa](https://www.southafricancasinos.co.za/images/saflag-logo.webp)The South African Bookmakers’ Association (SABA) has urged gambling regulators to prevent offshore prediction markets from operating locally until a dedicated legal framework is introduced. Prediction markets allow users to stake money on the outcome of future events, including elections, political appointments, sporting contests and financial developments. SABA believes these platforms operate in much the same way as betting exchanges, even when they are presented as forecasting or information services.

The association’s intervention follows reports that more than R700,000 was wagered through Polymarket on who would become Johannesburg’s next mayor. Polymarket reportedly operated without a South African gambling licence, meaning that the activity was not subject to local taxation, responsible gambling controls or the usual consumer safeguards.

---

## SABA Questions Whether Existing Licences Are Sufficient

South African gambling legislation does not currently include a specific licensing category for prediction markets.

SABA has also questioned whether provincial regulators have the authority to approve exchange-style betting products under existing legislation. Unlike a traditional bookmaker, a prediction-market operator generally connects users taking opposing positions and earns a commission rather than accepting the risk of each bet itself.

According to SABA chief executive Sean Coleman, the practical difference between prediction markets and exchange betting is largely a matter of how the product is described. The association argues that operators should not be able to avoid gambling regulations simply by labelling their services as forecasting platforms.

SABA wants lawmakers to consider prediction markets as part of a broader regulatory review covering gambling, financial markets and electoral legislation. Until that work is completed, the association believes these platforms should remain outside South Africa’s regulated industry.

## Integrity and Financial-Crime Concerns Raised

SABA has highlighted several risks associated with markets involving sport, politics and public decision-making.

In sport, markets that allow users to profit from poor performance or failure could potentially create additional incentives for match-fixing or the misuse of inside information. Political prediction markets could raise similar concerns where money is placed on election results, government appointments, legislative votes or regulatory decisions.

The association argues that South Africa does not currently have a dedicated monitoring system designed to identify manipulation involving these products.

Offshore platforms may also create anti-money laundering challenges. Transactions can take place between users in multiple jurisdictions, while some prediction markets accept crypto-assets. This can make it harder for South African authorities to obtain transaction records or enforce local compliance requirements.

These concerns do not mean that prediction markets could never form part of a regulated market. However, SABA’s position is that appropriate monitoring, reporting and enforcement systems would need to be established before operators are allowed to offer them legally.

## Player Protection and Local Taxation Remain Central

South Africans using an unlicensed offshore prediction market may not receive the protections available through locally regulated gambling businesses.

Licensed operators are generally required to provide responsible gambling measures, formal complaints procedures and access to self-exclusion tools. They must also comply with local advertising rules and contribute through applicable taxes and regulatory fees.

SABA says offshore prediction markets can take gambling-related revenue out of South Africa without making a meaningful contribution to domestic services or responsible gambling programmes.

The association has therefore recommended that regulators treat prediction markets as exchange-style betting products and prevent them from operating until clear rules are in place. Any future framework would need to cover licensing, consumer protection, integrity monitoring, anti-money laundering obligations and taxation.

For players, the debate is another reminder to check whether a gambling service is properly regulated before depositing money. Our reviewed list of online casinos provides a practical starting point for finding established gambling options aimed at South African players, rather than using unfamiliar offshore platforms with limited local accountability.
<div data-id="1" 
	class="eb-inst eb-hide eb-custom eb-1 "
	data-options='{"trigger":"onPageLoad","trigger_selector":"","delay":100,"early_trigger":false,"scroll_depth":"percentage","scroll_depth_value":5,"firing_frequency":1,"reverse_scroll_close":false,"threshold":0,"close_out_viewport":false,"exit_timer":1000,"idle_time":10000,"close_on_esc":false,"animation_open":"slideInLeft","animation_close":"fadeOut","animation_duration":0,"disable_page_scroll":false,"test_mode":false,"debug":false,"ga_tracking":false,"ga_tracking_id":0,"ga_tracking_event_category":"EngageBox","ga_tracking_event_label":"Box #1 - Convert Form","auto_focus":false}'
	data-type='popup'
	>

	<button type="button" data-ebox-cmd="close" class="eb-close placement-outside" aria-label="Close">
	<img alt="close popup button" />
	<span aria-hidden="true">&times;</span>
</button>
	<div class="eb-dialog " role="dialog" aria-modal="true" id="dialog1" aria-label="dialog1">
		
		<button type="button" data-ebox-cmd="close" class="eb-close placement-inside" aria-label="Close">
	<img alt="close popup button" />
	<span aria-hidden="true">&times;</span>
</button>	
		<div class="eb-container">
						<div class="eb-content">
				<div class="eb">
<p class="eb-p" style="text-align: center;"><div id="cf_3" class="convertforms cf cf-img-above cf-form-bottom cf-success-hideform  cf-hasLabels   cf-labelpos-top" data-id="3">
	<form name="cf3" id="cf3" method="post" action="#">
				<div class="cf-content-wrap cf-col-16 ">
			<div class="cf-content cf-col-16">
												<div class="cf-content-text cf-col " >
					<p><span style="color: brown; font-weight: bold;">EXCLUSIVE Free Casino Bonus offers delivered to your inbox &amp; mobile! </span></p>				</div>
							</div>
		</div>
				<div class="cf-form-wrap cf-col-16 " style="background-color:none">
			<div class="cf-response" role="status" aria-live="polite" aria-atomic="true" id="cf_3_response"></div>
			
							<div class="cf-fields">
					<div class="cf-control-group " data-key="1" data-name="Name" data-type="text" data-required>
		<div class="cf-control-input">
		<input type="text" name="cf[Name]" id="form3_name"
	
	
			required
		aria-required="true"
	
			placeholder="Enter Your Name"
	
	
	
	
	
	
	
	
	class="cf-input  name_form"
>	</div>
</div>
 <div class="cf-control-group " data-key="0" data-name="Email" data-type="email" data-required>
		<div class="cf-control-input">
		<input type="email" name="cf[Email]" id="form3_email"
	
	
			required
		aria-required="true"
	
			placeholder="Enter Your Email Address"
	
	
	
	
	
	
	
	
	class="cf-input  "
>	</div>
</div>
 <div class="cf-control-group " data-key="9" data-name="Mobile Number" data-type="tel" data-required>
		<div class="cf-control-input">
		<input type="tel" name="cf[Mobile Number]" id="form3_mobile-number"
	
	
			required
		aria-required="true"
	
			placeholder="Mobile Number"
	
	
	
	
	
	
	
	
	class="cf-input  "
>	</div>
</div>
 <fieldset class="cf-control-group .convertforms .cf-control-group{border:0px;}" data-key="10" data-name="checkbox_10" data-type="checkbox" data-required>
		<div class="cf-control-input">
		<div class="cf-list ">
			<div class="cf-checkbox-group  cf-checkbox-group-required ">
			<input type="checkbox" name="cf[checkbox_10][]" id="form3_checkbox10_0"
				value="I am 18+"
				data-calc-value="I am 18+"

				
									required
					aria-required="true"
				
				class="cf-input  "
			>
			<label class="cf-label" for="form3_checkbox10_0">
				I am 18+			</label>
		</div>
			<div class="cf-checkbox-group  cf-checkbox-group-required ">
			<input type="checkbox" name="cf[checkbox_10][]" id="form3_checkbox10_1"
				value="I agree with T&amp;Cs and Privacy Policy"
				data-calc-value="I agree with T&amp;Cs and Privacy Policy"

				
									required
					aria-required="true"
				
				class="cf-input  "
			>
			<label class="cf-label" for="form3_checkbox10_1">
				I agree with T&Cs and Privacy Policy			</label>
		</div>
	</div>	</div>
</fieldset>
 <div class="cf-control-group " data-key="2" data-name="submit_2" data-type="submit" >
		<div class="cf-control-input">
		
<div class="cf-text-left">
    <button type="submit" class="cf-btn cf-width-auto ">
        <span class="cf-btn-text">SUBMIT</span>
        <span class="cf-spinner-container">
            <span class="cf-spinner">
                <span class="bounce1" role="presentation"></span>
                <span class="bounce2" role="presentation"></span>
                <span class="bounce3" role="presentation"></span>
            </span>
        </span>
    </button>
</div>

	</div>
</div>
				</div>
			
					</div>

		<input type="hidden" name="cf[form_id]" value="3">

		<input type="hidden" name="48a12a3afa8775753a87f1fb72c75366" value="1">
					<div class="cf-field-hp">
								<label for="cf-field-6a6c65dbd9d6b" class="cf-label">Phone</label>
				<input type="text" name="cf[hnpt]" id="cf-field-6a6c65dbd9d6b" autocomplete="off" class="cf-input"/>
			</div>
		
	</form>
	</div></p>
</div>			</div>
		</div>
	</div>	
</div>
