A step-by-step guide to how I turned bookmaker sign-up bonuses into profit. No gambling. No guessing. Just maths.
South Africa's only licensed betting exchange, and the tool your lay bets run through.
Start with an easy one from the list below. Small stake, learn the process.
Lay first, back second, let it settle, withdraw, repeat.
Bookmakers offer sign-up bonuses to get new customers, deposit R1,000 and get R1,000 free. Matched betting is a technique that extracts those bonuses as real, withdrawable cash. You do it by covering both sides of a bet: one at the bookmaker, the opposite on a betting exchange. Whatever the outcome, the two sides cancel each other out. The profit comes from the bonus, not from predicting sport.
Anyone with R2,000 or more in spare capital and the patience to follow a process. You don't need to know anything about sport. You don't need to predict results. You don't need a finance degree or a trading background. What you need is the discipline to run the same checklist every time, the patience to wait for tight spreads instead of forcing bad ones, and the willingness to start small and let the system prove itself to you before you scale. If that sounds like you, keep reading.
I've made R17,138 in settled profit across 9 bookmakers so far. My biggest single extraction was over R9K from one bet. My worst was a self-inflicted R62 mistake because I forgot to lay (you'll read about that). There are 32 more bookmakers on my list with R110K+ in welcome bonuses waiting, and that's before reload bonuses, which bookmakers offer to existing customers on an ongoing basis. I'm not selling you anything here. I'm showing you exactly what I did, what went wrong, what went right, and how to copy it.
This is where you place your "lay" bets, the opposite side to your bookmaker bet. Think of it as your safety net. It's South Africa's only licensed betting exchange, so it's also the only place you can do this legally in SA. I set this up before anything else. betmatch.co.za
You can start with as little as R2K doing small deposits at easy bookmakers (that's what I did). The same capital recycles from bookmaker to bookmaker, you don't need R130K to access R130K in bonuses. R35–50K lets you hit the big-value bookmakers without waiting, but you can build toward that through recycling.
South African ID and proof of address (utility bill or bank statement, less than 3 months old). Every bookmaker requires this before you can withdraw money. Upload FICA before you deposit, some take days to verify, and you don't want money locked up while you wait.
Most SA bookmakers accept EFT, Ozow instant payments, or card deposits. Withdrawals go back to the same method. Keep one account for all betting activity so you can track everything.
AiProfit has a free odds matcher that compares bookmaker prices to BetMatch lay prices, showing you the tightest spreads. Saves hours of manual searching. See the Tools section in the Reloads & Tools tab.
Track every bet, every deposit, every withdrawal. Matched betting is profitable when you're disciplined. Sloppy records lead to sloppy results.
That depends on how much capital you have and how many bookmakers you do. Here's the reality from my own operation, shown as a running total.
That Mzansibet result? I forgot to lay the free bet on BetMatch. Placed it at the bookmaker, the bet lost, and I got nothing from a R50 free bet that should have been R35+ in profit. The most basic mistake in matched betting, and I made it. Lesson learned, documented below so you don't repeat it. And that PlayTSOGO number at the bottom? One bet. R20K stake at matched 3.10 odds, lay settled on BetMatch, R9,255 clean profit in under 24 hours.
I started my bookmaker deposits small. R50 at Lulabets. R200 at Interbet. R50 at Mzansibet. The kind of stakes where your hands shake a little because you've never done this before and the maths seems too clean to be real. But the maths worked. Every single time. Those first three gave me roughly R470 in profit.
Then I went to Sunbet with a R1,000 deposit and got my first real education. Worst-case scenario: all my qualifying bets paid out on the bookmaker side, which meant grinding through the full R10K rollover at ~R100 cost per qualifying bet. By the time I was done, I'd kept R309 of what could have been R800+. Painful. But that's where I truly understood two things: one-shot extraction exists for a reason, and patience with spreads isn't optional. It's the whole game.
But here's the part nobody explains upfront: I didn't need fresh money for the next bookmaker. Every withdrawal went straight back into BetMatch. Sunbet withdrawal funded the Virgin Bet lay. Virgin Bet withdrawal funded EasyBet. EasyBet funded Tsogo. The capital recycles. You're not putting up fresh money each time. The system feeds itself.
Every matched bet has a cost: the qualifying spread plus BetMatch's 5% commission on lays that pay out. One-shot extractions skip the qualifying grind entirely but still carry the commission. Across all 9 bookmakers, those costs were a fraction of the R17,138 in profit. The Tsogo one-shot had zero qualifying costs because I bet the full balance in one go and it settled on the first attempt. And I made every mistake in the book along the way. With tighter discipline on the earlier bookmakers, those costs would have been even lower.
By the time I placed my biggest bet, a R20K back at matched 3.10 odds with R42,745 in lay liability, that money was almost entirely recycled from earlier bookmakers. I ran the numbers three times. Both outcomes locked at roughly the same profit. I closed my eyes and placed it. The draw didn't land. Tsogo balance went to R0. BetMatch lay paid out R19,255. Minus my R10K deposit: R9,255 clean profit, settled in under 24 hours. And I slept fine that night, because by that point the maths wasn't something I believed in. It was something I'd proven, nine bookmakers deep, starting from nothing.
Start with the smallest deposit on the list. Watch the maths work. Do it again. By the third or fourth bookmaker, you stop being nervous and start being impatient for the next one. The confidence builds itself, one settled bet at a time. And the capital builds with it. That R42K lay liability that would have made me physically ill on day one? It was just another Tuesday by month two. And it paid out R9,255 in profit from a single bet.
You don't need R50K to start. Here's what's realistic at different levels, shown as a fill against the top tier.
Where I started. R50–R200 deposits at the easiest bookmakers. Tiny stakes, but you learn the process on real money without real pressure. This is how you build confidence.
R500–R1K deposits, cycling through 8–10 bookmakers. Slower, but real. Enough to prove the system works and build float through recycling.
R1K–R2K deposits across 12–15 bookmakers. Enough to max most smaller bonuses.
R2K–R5K deposits. Can max medium bonuses and build momentum faster.
Maxes out most welcome bonuses. My working capital level, roughly 14.6% return so far and climbing.
If you're brand new, start with R5–10K. Do 3–4 bookmakers at small stakes until the process is muscle memory. Then scale up. The bonuses aren't going anywhere, most bookmakers have had the same welcome offers for months. Better to learn on R500 bets than feel the pressure on R20K ones.
I ticked every box before moving on. This takes about a day to set up, and doing it properly avoids delays, locked funds, and avoidable mistakes.
This is your exchange. Nothing works without it. Register at betmatch.co.za, complete FICA (SA ID + proof of address). I made sure I could log in and see the exchange before touching anything else.
Lay bets require float in your exchange account. Starting capital goes here first. Minimum R2K to start small, R10K+ to work comfortably, R35-50K to hit the big welcome bonuses immediately.
Pick your first bookmaker from the Bookmakers tab (sorted by profit). Register, upload FICA documents, and wait for verification before you deposit. Some take hours, some take days.
Every bet, every deposit, every withdrawal, every bonus. Track it all. A Google Sheet works fine. Columns: date, bookmaker, event, back odds, lay odds, stake, outcome, profit/loss, notes. You'll thank yourself when the numbers don't look right and you need to trace what happened.
Use the Calculator tab in this guide for every bet. Enter your back odds, lay odds, stake, and bet type. I never place a bet without checking the numbers first.
Free odds matcher at aiprofit.co.za that scans bookmaker prices against BetMatch lay prices and shows you the tightest spreads. Also runs daily Google Meet sessions where experienced matched bettors walk through live opportunities.
Ready? Head to the Learn tab for the full breakdown of how this works, or jump straight to Bookmakers to see every opportunity ranked by profit.
Drop your details and we'll send you the quick-start checklist, plus an invite to the free daily Google Meet sessions where experienced matched bettors walk through opportunities live.
Already know the basics?
Go straight to the free odds matcher →This is worth understanding. The mechanics are the difference between making money and giving it back.
Every matched bet involves two bets placed at the same time on the same outcome:
If Team A comes out on top, the bookmaker side pays out but the BetMatch side settles against you. If Team A doesn't, the bookmaker side settles but the BetMatch side pays out. Either way, the two bets roughly cancel out. The small difference between them is your "qualifying cost," the price of unlocking the bonus.
BetMatch is South Africa's only licensed betting exchange, not a bookmaker. On an exchange, you bet against other people, not against a company. This is important because it lets you place "lay" bets (betting that something won't happen), which normal bookmakers don't allow. In 2026, BetMatch won the Startup Pitch at SiGMA Africa, recognition for building the infrastructure that makes strategies like this one possible in a market where nothing comparable existed before (more on the launch of SA's first betting exchange here).
BetMatch charges 5% commission on lays that pay out, only. If your lay bet settles without paying, you pay nothing. This commission is factored into all the calculations in this guide.
On BetMatch, there are 6 columns of prices. The left 3 columns are blue, these are BACK prices. The right 3 columns are pink/red, these are LAY prices. The LAY side (pink) is the one used for matched betting. I misread this once and nearly placed a bet on the wrong side, so now I always double-check.
Pick a bookmaker from the list. Register, complete FICA verification, deposit to trigger the welcome bonus.
Find a match with tight back/lay odds. Place your back bet at the bookmaker, and simultaneously lay the same result on BetMatch. This "qualifying bet" satisfies the bookmaker's requirements to unlock the bonus. You'll give up a small amount here (typically 2–5% of stake), that's the cost of doing business.
The bookmaker credits your bonus, either as a free bet or cash added to your balance. Each bookmaker handles this differently (details in the Bookmakers tab).
Free bets: bet at high odds (5.0–7.0) and lay on BetMatch. Cash bonuses: either grind through rollover requirements with matched qualifying bets, or use the one-shot extraction method. Both explained below.
Pull your money out, recycle it into the next bookmaker. Rinse and repeat across 40+ SA bookmakers.
Here's exactly what happened with my BetJets bonus, one of the simplest extractions. These numbers are the actual maths from that bet, odds and stake are public information, so they're shown exactly as placed.
BetJets balance went to R0. But my lay bet on BetMatch paid out.
BetMatch payout: R1,926 (after 5% commission)
My deposit cost was R1,000, so net profit: R926
BetJets would have paid out R2,000 × 3.35 = R6,700.
But BetMatch would have taken my lay liability.
The two would roughly cancel out, small profit either way. That's the point.
The trick with BetJets was the "one-shot" method, betting the entire balance in one go. When it settled against me at the bookmaker, the balance went to R0, which meant the rollover requirement became irrelevant (there's nothing left to wager). Meanwhile, my BetMatch lay paid out.
Same method, bigger deposit. Here's my actual Tsogo bet, real numbers from a real placement. Like the BetJets example above, these are public maths, anyone doing this exact bet at these odds gets the same numbers.
This is the single most important thing to understand about cash bonuses: the bonus IS cash. Tsogo's bet slip shows a "Cash Returns" / "Bonus Returns" split, ignore it. That's internal bookkeeping. When both back and lay odds match (3.10 / 3.10 in this case), both outcomes produce the same profit. There's no bad outcome.
Tsogo balance went to R0. The R20K bet settled, rollover became irrelevant, there was nothing left to wager.
BetMatch lay paid out: R19,255 (lay stake minus 5% commission)
I deposited R10K. Got back R19,255. Net profit: +R9,255. Clean, done, withdrawn.
Tsogo would have paid R20,000 × 3.10 = R62,000. That's R52,000 in returns + R10K deposit back.
But I'd give up R42,745 liability on BetMatch.
Net value in Tsogo: R62,000 − R42,745 − R10,000 deposit = +R9,255. Same profit, but locked behind the 6× rollover. I'd need to grind it out or do another one-shot to extract.
See what happened? Both outcomes = +R9,255. When the back and lay odds match on a cash bonus, the profit is identical either way. The only difference is timing. In my case, the ~68% scenario hit (implied probability at 3.10 odds) and I got instant clean profit. If the ~32% scenario had landed instead, the same profit would have been embedded behind rollover. That's why one-shot on cash bonuses is the play.
If the back bet pays out, there needs to be enough capital available to extract what's locked behind rollover. That R62K balance in Tsogo still has R40K in rollover to clear (the R20K one-shot counted as R20K of the R60K total). Grinding through R40K in qualifying bets or doing another one-shot both need BetMatch float. I planned my capital for both scenarios before placing the bet.
Your profit on a matched bet is the bonus. It can never exceed the bonus amount (unless you find an arb). Whether back or lay pays out, the theoretical extraction is the same. But here's what matters: when the lay settles, your profit lands in BetMatch clean and you're done. When the back pays out, the profit is embedded in the bookmaker balance behind rollover. You still need to grind through qualifying bets to get it out, and every qualifying bet has a cost. That cost eats into your bonus profit.
Each one-shot has a ~65–75% chance of instant extraction (at odds 3.00–4.00). But what happens if the back pays out at multiple bookmakers in a row?
Compare that to 3 instant extractions (lay settles every time): you'd keep R27,765 with zero extraction cost, and your capital recycles immediately. When the back pays out, you lose ~R1,200 per bookmaker in grinding costs AND your capital is tied up. The R3,600 difference in profit is real, and the capital lockup is worse. While R186K is scattered across three bookmaker accounts, you can't use it for the next opportunity.
How to protect yourself:
1. Budget your BetMatch float for back payouts. Before any one-shot, calculate the lay liability for a SECOND one-shot on the same bookmaker. If you can't afford it, use lower odds (1.90–2.10) where the bookmaker balance after a back payout is smaller and easier to extract.
2. Don't put all your capital to work at once. If you have R50K to work with, don't run three R10K one-shots simultaneously. Do them one at a time. If the back pays out, you still have float to handle extraction before moving to the next bookmaker.
3. Mix your extraction methods. For smaller locked balances (under R30K), grinding through rollover with qualifying bets is often cheaper than a second one-shot, it just takes longer. Reserve one-shot for heavy rollover (6x+) where grinding would cost more than the one-shot approach.
4. Lower odds = lower risk, lower lockup. At odds 1.90, a R20K bet pays R38K if the back pays out, not R62K. That's R24K less capital locked up per bookmaker. The tradeoff: you'll need the back to settle to extract (roughly 50/50), so you might need two attempts. But two attempts at 1.90 ties up less capital than one back payout at 3.10.
Bottom line: matched betting profits come from the bonus and are capped at the bonus amount. When the lay settles, you get it clean. When the back pays out, rollover grinding eats into it. A streak of back payouts both reduces your realised profit and ties up your working capital. The fix: start with enough float, work through bookmakers one at a time, and budget for the grind.
Every bookmaker bonus falls into one of two categories. Understanding the difference is crucial.
Money added to your balance. Deposit R1,000, bookmaker adds R1,000. Your balance is R2,000. But you can't just withdraw it, there's a "rolloverRolloverThe total value of bets required before a bonus balance becomes withdrawable. A "5× rollover" on a R1,000 bonus means R5,000 in qualifying stakes." requirement first. A "5× rollover at 1.90" means placing R5,000 in bets at odds 1.90 or higher before withdrawing. Each qualifying bet costs 2–5% of the stake, so you'll give up some value grinding through the rollover. But the bonus far outweighs the cost.
What you keep: roughly R850–950 per R1,000 bonus (with low rollover), or R650–800 (heavy rollover).
A free bet token. You place a bet but the stake isn't included in the return, only the winnings. A R500 free bet at odds 5.00 pays R500 × (5.00 − 1) = R2,000, not R500 × 5.00 = R2,500. The "minus 1" is because you don't get the stake back.
How to extract: use odds between 5.0 and 7.0. Lay on BetMatch. You'll extract 77–83% of the free bet's face value.
What you keep: roughly R770–830 per R1,000 free bet.
Same as above but better. The stake IS included in the return. A R500 free bet at odds 3.50 pays R500 × 3.50 = R1,750. These are less common but more valuable. Use lower odds (3.0–4.0) since you get the full amount.
Your first bet is insured. If it pays out, great, you keep the payout (minus lay cost). If it settles, the bookmaker gives your stake back as a free bet. Strategy: place and lay normally. If your back bet pays out, you break even on the match. If it settles, you break even AND get a free bet to extract. A good outcome either way.
The "qualifying cost" is the small amount you give up on each matched qualifying bet. It comes from the gap between the bookmaker's back odds and BetMatch's lay odds (the "spread"), plus BetMatch's 5% commission.
R1,000 sounds like a lot, but if this qualifying bet unlocks a R10,000 cash bonus (from which you'll keep ~R8,000+), that R1,000 is the price of R8,000 in profit. Worth it.
Never place a qualifying bet with less than 95% retentionRetentionThe share of your stake you keep after the qualifying cost. 95% retention on a R20,000 bet means a cost of no more than R1,000.. That means your qualifying cost must be under 5% of your stake. If you're betting R20,000, the cost must be under R1,000. Below 95%? Wait for a better spread. Discipline here compounds, saving 1% per bet across 20 bets on R20K stakes = R4,000 saved.
For 95% retention with 5% BetMatch commission, the lay odds must be no more than 0.05 above the back odds. This works at any odds level, 1.90/1.95, 2.50/2.55, 3.00/3.05. If the gap is wider than 0.05, you're below 95%. This is the one number worth memorising.
On a normal qualifying bet (where lay is higher than back), don't chase 98%. BetMatch charges 5% commission on lays that pay out. At odds 2.00, commission alone eats 2.6% of your stake. At 3.00 it's 3.4%. Even with a perfectly matched spread (back = lay), the theoretical max is 97.6% at odds 1.90, dropping to 96.6% at 3.00. Real-world max is roughly 97%. The exception? Arbs. When the lay is lower than the back, you blow past 100% and profit on both sides. More on that below.
When you get a free bet (SNR type), here's how to turn it into cash:
You need high odds because with SNR bets, you only get the winnings (not the stake). Higher odds = more return per bet.
You need liquidity at a close lay price. The spread will be wider at high odds, but that's expected.
If the bookmaker side pays out: you collect the free bet returns. If the BetMatch side pays out: your lay pays out and you collect there. Either way, profit.
See the difference between 5.0 and 3.0? That gap is real money. At Mzansibet I made an even worse mistake: I forgot to lay entirely. The free bet lost and I got nothing. Use 5.0–7.0, and always confirm your lay is placed before you walk away.
Some bookmakers give you a cash bonus with heavy rollover (6×, 8×, or 10×). Grinding through all that rollover costs time and money in qualifying losses. The shortcut: bet your entire balance in one go.
e.g. Deposit R10,000, get R10,000 bonus. Balance = R20,000.
This is the key, when back = lay, both outcomes produce the same profit. Even a small gap works, but matched odds are the ideal.
Cover both sides. The cash bonus means half the stake is "free money" from the bookmaker.
Balance goes to R0, rollover is irrelevant (nothing left to wager). BetMatch lay pays out. Profit = payout minus your deposit. Done.
The same profit is embedded in your bookmaker balance, but the rollover still needs clearing to access it. Either grind qualifying bets or try a second one-shot at lower odds.
This is how I did BetJets (R926 profit from R1K deposit) and Tsogo (R9,255 from R10K deposit, lay settled on BetMatch, instant extraction). It's the fastest way to clear cash bonuses, especially ones with heavy rollover requirements where grinding would cost thousands in qualifying losses.
Not every bookmaker hands you the bonus upfront. Some make you earn it: place X amount in qualifying bets first, then receive the bonus. Here's what that actually looks like when it goes sideways, because it went sideways on me at Sunbet, and I'm glad it did early.
Sunbet: R1,000 deposit, R1,000 bonus, R10,000 rollover requirement (10x). Meaning I had to place R10K worth of qualifying bets before my money plus the bonus became withdrawable. That's roughly 10 separate bets at R1K each. Every single qualifying bet has a cost, the spread between back and lay. At ~R100 per bet (roughly 97% retention, decent), that's R1,000 in total qualifying costs across 10 bets. The entire bonus, eaten alive.
Now, my scenario was worse because every qualifying bet paid out on the bookmaker side. That's the worst-case for grinding: you keep having to fund the next qualifying bet because the previous one didn't return to BetMatch. I ended up keeping R309 of the R1,000 bonus. Compare that to what would have happened if the bonus had been available upfront for a one-shot: I'd have bet R2K in one go at matched odds, the lay pays out, and I clear R800+ instantly. No grinding, no death by a thousand spreads.
After Sunbet, I started to understand exactly what to look out for. And I learned patience. Real patience, not the "I'll check back in an hour" kind. The "I will close this tab and come back tomorrow because the spread isn't good enough" kind. You wait for that 95-98% retention on every qualifying bet. Sometimes it's completely OK to walk away and wait for the next day. The spread will come. It always does. Forcing a 93% bet to "just get it done" costs you real money, and across 10 qualifying bets, those 2% differences compound into hundreds of rands.
Some bookmakers use a structure that trips people up because the language is confusing. Hear me out on this, because decoding it properly is the difference between a smooth extraction and a mess.
EasyBet example: deposit R3,500, complete a R20K rollover, receive a R5,000 free bet.
That single sentence tells you three things:
One: it takes capital on both the bookmaker side AND the exchange side. Ideally three times the deposit amount sitting in BetMatch, because qualifying bets need lay coverage at every step.
Two: there's R20K in qualifying bets before that free bet unlocks. That means qualifying spreads have to be airtight. I only accepted 95%+ retention, no exceptions. Every qualifying bet below that threshold eats directly into the final profit.
Three: when the free bet arrives, it's SNR (stake not returned). So it takes high odds AND tight spreads for the extraction. Those perfect conditions are rare, but they exist for anyone patient enough to wait for them.
I did R3,683 on my EasyBet extraction. Could have been better if I hadn't settled for one 85% spread during the rollover grind, but that's R3,683 in real profit from one bookmaker. Did a similar three-part structure at another bookmaker with more patience on every qualifying bet, and the numbers were tighter across the board. Patience literally pays.
Before depositing: Calculate total qualifying cost at 95% retention across the full rollover. If that cost exceeds 40% of the free bet value, the numbers might not justify the time. During rollover: Only place qualifying bets at 95%+ retention. Skip anything below. Close the tab. Come back tomorrow. At extraction: Use odds 5.0-7.0 for the SNR free bet. Do NOT settle for 3.0, you're leaving 15-20% on the table. And always confirm your lay is placed on BetMatch before walking away (that's the Mzansibet mistake, I forgot to lay and got nothing).
Sometimes a bookmaker's price is higher than the BetMatch lay price. When that happens, you profit on both sides. No bonus needed, this is pure arbitrage, and it's free money.
Qualifying: Back odds 1.90, lay odds 1.95 → lay is higher → you pay a spread (cost).
Arb: Back odds 1.95, lay odds 1.88 → lay is lower → you profit both sides (free money).
The tell is simple: if the lay price is below the back price, it's an arb.
Here's a real one I found:
Bookmaker pays R19,000 in returns. BetMatch takes R18,754 liability. You keep R246.
Bookmaker takes your R20K stake. BetMatch pays R20,246 (after 5% commission). You keep R246.
R246 locked in, both outcomes covered. These windows open when bookmakers boost prices (enhanced odds, specials) or when the market moves after you've locked in a price. They close fast, sometimes within minutes, so when you spot one, move immediately.
If you find an arb while grinding through rollover requirements, you're getting paid to clear your rollover. Instead of paying 2–5% qualifying cost on that bet, you're making money. These are the bets you live for.
Not all matches are created equal. Here's what to look for:
Back odds 2.00–3.00 with a 1–3 tick spread on BetMatch. Premier League and Champions League matches have the deepest BetMatch liquidity, R20K+ at tight spreads is common. This is where you'll find your 95%+ qualifying bets consistently.
Heavy favourites: If the favourite is below the bookmaker's minimum odds, you're forced into other outcomes (draw, underdog) that have thin liquidity and wide spreads on BetMatch. Small leagues: Belgian, Norwegian, South American leagues often have thin BetMatch books with wide spreads. High odds qualifying: A 5.00/5.50 spread costs far more than 2.00/2.02. Don't chase big numbers.
On cash bonus sites, your real deposit is used before the bonus money kicks in. This means your first bets are 100% your money at risk. The bonus only starts working once you've wagered through your deposit. Keep this in mind when calculating how many qualifying bets you need and what your actual exposure is at each stage.
This is the bit that makes people nervous. Here's exactly what you do, in order, nothing skipped.
Go to the bookmaker's site and find a football match happening in the next 24–48 hours in a major league (PSL, EPL, La Liga). You want a match where the odds are between 1.80 and 3.00, that sweet spot where BetMatch will have liquidity. Avoid anything below 1.30 or above 5.00.
Before you do anything at the bookmaker, open BetMatch and find the same match. Look at the LAY column (pink/red, RIGHT side). Check two things: (1) Is there enough money available? You need at least your lay stake amount showing. (2) What's the lay price? Write it down.
Go to the Calculator tab. Enter the bookmaker's back odds, BetMatch's lay odds, your stake, and 5% commission. Does it say PASS? If yes, continue. If FAIL, find a different match or wait for better odds. Don't force it.
On BetMatch, click the lay price for your selection. Enter the lay stake the calculator told you (not your back stake, the lay stake). Double-check it says "LAY" on the slip. Check the liability shown matches what you expect. Submit. Your lay is now live.
Now go to the bookmaker and place your back bet at the odds you checked. Enter your stake. Confirm. You now have both sides covered, no matter what happens, your loss is limited to the qualifying cost the calculator showed.
That's it. Walk away. When the match settles (usually within an hour of full time), one side pays out and one doesn't. The net result is your qualifying cost, a small, planned cost that unlocks the bonus. Check your bookmaker balance and BetMatch balance to confirm everything settled as expected.
If you back first and then go to BetMatch, the lay odds might have moved. Now you're stuck with a back bet and no good lay price. Lay first means you lock in the exchange side, then match it at the bookmaker where odds are more stable. If the bookmaker odds have shifted by the time you get there, you can choose not to place, your lay sits unmatched on BetMatch until you cancel it.
If your back bet paid out: You'll see the payout in your bookmaker account, and a deduction from your BetMatch balance (the liability). If your lay bet paid out: You'll see your stake gone at the bookmaker, and your lay stake × 0.95 (minus 5% commission) added to your BetMatch balance. Either way, the net cost should match the calculator. If it doesn't, something went wrong, check your bet amounts before placing the next one.
Ready to see which bookmakers to hit? Go to the Bookmakers tab for every SA bookmaker ranked by profit. Or use the Calculator to check any specific bet before placing it.
41 SA bookmakers, real results where I've done them, verified terms for the rest. Click any card to see full details, strategy notes, and a link to the site.
100% deposit match. One-shot extraction, bet full balance, settle at the bookmaker, pay out on BetMatch.
100% deposit match as free bet. One qualifying bet, one extraction. Two bets total.
R50 deposit, 2 x R25 free bets. Three bets total, quick and easy.
R1,250 deposit, R580 in free bets. Two qualifying bets, one extraction.
R50 deposit, R50 free bet. Negative result because I forgot to lay.
R1,000 cash bonus, 5x rollover = R10,000 in qualifying bets. Four rollover bets to clear.
R3,000 cash bonus + R500 reload free bet. 8x rollover = R24K wagering. 15 bets across 12 days. Biggest single-bookmaker profit at the time.
150% bonus = R5,000 free bet (SNR). Extracted at 73.7% on a Draw market at 5.20. Biggest single profit so far.
100% cash match on R10K deposit. One-shot extraction at perfectly matched 3.10 odds. Lay settled on BetMatch, instant clean profit. Biggest single extraction to date.
3 deposits of R2K, 100% cash match. 5x at 1.50, low odds requirement means tight spreads and cheap qualifying.
100% match. 6x bonus only at 1.85, rollover is on the bonus amount only (not deposit+bonus), which means less total volume.
Deposit R250, bet R250 at odds 2.0+, get R250 SNR free bet. Different site to Lulabets (yes, confusing).
100% match as World Coins (converts to SNR free bets). No time pressure, one of the most relaxed timelines.
100% match paid in 10 chunks as you hit rollover milestones. More admin but R12K expected profit makes it worth it. Also runs exclusive rotating promos, some accounts get 100% up to R100K (code 100ZADMO10K, min R10K deposit, 21-day rollover, sports + casino). Check your Promotions tab, the offer rotates and not everyone sees it at the same time.
Split rollover: 1x deposit + 10x bonus at 1.80. Heavy volume for R2K bonus but still profitable.
7x on (dep+bonus) at 3.10 in 7 days. Tightest window in the pipeline, high-odds spreads are expensive.
First-bet money-back up to R20,000. If your opening bet settles, 100% back with only 1x rollover at 1.90.
100% match across 3 deposits, up to R15,000. 5x at 2.0. Email support to claim after meeting wagering.
100% match up to R10,000. Promo code BETS at registration. 5x at 1.9 before bonus credits.
100% match up to R5,000. 6x (dep+bonus) at 2.0. Heavy volume (R60K for max deposit) but best reload ecosystem in SA.
R50 no-deposit free bet + up to R5,000 across 3 deposits (100%/50%/100%). Singles only, 5x at 2.4.
100% match up to R5,000 with only 4x rollover, but min odds 2.5, singles only, 7-day expiry.
100% match up to R3,000. 8x at 1.60, 7-day expiry. Low min odds = tight spreads despite heavy rollover.
100% matched bonus bet up to R3,000. Full wagering terms not publicly disclosed, register to check.
100% match up to R3,000. 8x at 2.0. Max sports returns from bonus capped at R5K.
100% match up to R2,000. 7x at 2.80 singles, highest min odds in our list but 90-day window gives you time.
100% match up to R1,000. Only 3x rollover but at odds 3.0.
R1,000 risk-free first bet. If it settles, stake back as bonus bet (SNR) at 2.0-40.0 odds range.
R1,500 in tiered extra bets across 6 tiers. Odds restricted 1.80-2.00. Promo code STYVIP.
100% match up to R1,000. 5x at 2.0, but 48-hour limit, 3+ leg multibets only, R2K max withdrawal.
Only 10% sports free bet, max R1,000. Casino-weighted site.
R50 free bet. Bet R50 at 2.0+ to qualify. R2K max payout. Quick and free.
R25 free bet + 50 free spins, no deposit needed. Use within 24 hours. Literally free money.
R50 no-deposit free bet + 100% first deposit match up to R5,000. Only 4x rollover at 1.50 odds. 5-day window.
100% first deposit match up to R7,500. 5x deposit at 2.0 odds. 7-day window.
100% deposit match up to R5,000. 6x at 2.0 odds. 7-day window. R10K max returns from bonus.
100% match up to R3,000. 7x bonus + 1x deposit at 2.0. 7-day window. R10K max payout.
100% match up to R5,000. 5x at 3.00 singles. 30 days. High min odds = wider spreads.
R50 no-dep + 100% first dep up to R5,000 + 75% second + 50% third = up to R15,000 total. Rollover TBC.
R50 no-dep + 100% first deposit match up to R5,000. Rollover not publicly specified.
150% on first deposit. Licensed in Mpumalanga. Rollover terms not published.
Before you place any bet, plug the numbers in here. Toggle between qualifying bets and free bet extraction.
1. Find a match on the bookmaker's site. Note the odds for your selection. 2. Check BetMatch for the lay price on the same selection (pink/red column, right side). 3. Enter both prices, your stake, and commission (5% default for BetMatch). 4. If it says PASS, go. If FAIL, wait for a tighter spread or find a different match.
For 95% retention with 5% BetMatch commission, the lay odds must be no more than 0.05 above the back odds. Works at any odds level, 1.90/1.95, 2.50/2.55, 3.00/3.05. If the gap is wider than 0.05, you're below 95%. Memorise this number.
On a normal qualifying bet (lay higher than back), BetMatch's 5% commission on lays makes 98% impossible. At odds 1.90, commission alone eats 2.4% of your stake. At 2.00, it's 2.6%. At 3.00, it's 3.4%. Even with a perfectly matched spread (back = lay), the theoretical maximum is 97.6% at odds 1.90, dropping to 96.6% at 3.00. Real-world max is roughly 97%. But find an arb (lay lower than back) and you go past 100%.
Don't chase high odds thinking bigger numbers are better. A 5.00/5.50 spread is far worse than a 2.00/2.02 spread. High odds = wide spreads on BetMatch = expensive qualifying.
Hard-earned lessons from real bets. These are the rules I follow on every extraction.
I place my lay on BetMatch first, then immediately back at the bookmaker. Odds move. Backing first means the lay odds could shift while switching tabs, creating a wider spread than planned, or no match at all. Lay first, back second. That's how I do every bet.
I check BetMatch liquidity before placing any bet. If there's only R14K available and the bet needs R20K exposure, a partial match leaves the unmatched portion unhedged. I either find a match with deeper liquidity or reduce the stake.
Withdrawing before rollover is complete cancels the bonus at almost every bookmaker. It doesn't matter if there's R5K sitting there, withdrawing R1 means the bonus is gone. I finish the rollover completely, then pull everything out.
I never place a qualifying bet below 95% retention. That means the qualifying cost stays under 5% of the stake. Discipline here compounds: saving 1% per bet across 20 bets on R20K stakes = R4,000 saved. I use the calculator on every single bet.
Live odds move too fast to lock in both sides. I watched a Getafe draw go from 2.45/2.44 (perfect spread) to 2.35/2.46 (FAIL) in under two minutes. By the time the lay stake is calculated, tabs switched, and the bet placed, the odds have already shifted. I stick to pre-match only.
When a bookmaker shows an "enhanced" or "boosted" price, that's the one I use. Enhanced prices push the back odds closer to (or above) the lay price, which tightens the spread and reduces qualifying cost. Sometimes it flips the spread entirely and turns a qualifying cost into a small arb profit. I check both the standard and enhanced price and use whichever is higher.
"Early Payout" on bookmaker sites is about early settlement (paying out before the match ends if your team goes 2 goals up). It has nothing to do with getting better odds. Don't confuse it with enhanced prices. For matched betting, Early Payout makes no difference, we let every bet settle naturally anyway.
A 2.00/2.02 spread costs 1.3%. A 1.94/2.00 spread costs 5.5%. The absolute odds don't matter nearly as much as how tight the spread is. A "boring" 1.80/1.82 match is better than an "exciting" 5.00/5.50 match. Compare spreads, not odds.
Back odds 2.00-3.00 with a 1-3 tick spread on BetMatch. Premier League and Champions League matches have the deepest BetMatch liquidity, R20K+ at tight spreads is common. Belgian, Norwegian, or South American leagues often have thin BetMatch books with wide spreads. Big leagues are where the qualifying value is.
For SNR free bets, odds 5.0-7.0 extract 77-83% of the face value. Above 7.0 gives marginally better extraction but is harder to find on BetMatch with liquidity. Below 5.0 leaves money on the table. I also learned the hard way to confirm the lay is placed on BetMatch before walking away. I forgot to lay at Mzansibet, the free bet settled against me, and I got nothing.
Cash bonus with 6×, 8×, or 10× rollover? Bet the entire balance in one go. If the back and lay odds match, both outcomes produce the same profit, the only variable is whether you get instant extraction or need to unlock rollover.
This is how I did BetJets (R926 from one R2K bet) and Tsogo (R9,255 from one R20K bet at matched 3.10 odds, lay settled on BetMatch, clean profit in under 24 hours).
Choosing your odds, the tradeoff:
Higher odds (3.00–4.00): ~65-75% chance the back settles (instant extraction). But if the back pays out, the bookmaker balance is large (R60K+ at 3.10 on a R20K bet) and recovering via rollover or a second one-shot requires serious BetMatch float.
Lower odds (1.90–2.10): ~47-52% chance the back settles (coin flip). But if the back pays out, the bookmaker balance is smaller (~R38K at 1.90), making a second one-shot easy. You get two clean attempts with the same capital.
My take: higher odds if you want the best shot at one-and-done. Lower odds if you want a reliable two-attempt strategy with less BetMatch exposure.
If the favourite is priced at 1.30, it's probably below the bookmaker's minimum odds requirement. That forces you into the draw or underdog, which typically have thin liquidity and wide spreads on BetMatch. A balanced match (home 2.20, draw 3.30, away 3.10) is much better for qualifying than a lopsided one (home 1.25, draw 6.00, away 11.00).
Some bookmakers have anti-arbitrage clauses and can void bets if they suspect matched betting. Stay safe: vary your bet types (full-time result, over/under, both teams to score). I avoid betting the same pattern repeatedly. I don't bet the same match at multiple bookmakers simultaneously. I don't withdraw immediately after clearing -- waiting a day or two helps. Think of it as looking like a normal customer.
I upload ID and proof of address before depositing a single rand. Some bookmakers take 2-5 business days to verify. Depositing R10K and then discovering withdrawals are blocked because FICA isn't done means that capital sits dead, earning nothing, blocking the pipeline. Worse: some bookmakers won't even let bets be placed until FICA is complete. Verify first, deposit second. This is the most common beginner mistake and the most expensive in terms of time lost.
At virtually every bookmaker, using the "cash out" feature means the bet doesn't count toward rollover requirements. Same for voided or cancelled bets. Every qualifying bet settles naturally -- I don't touch it once it's placed.
When you have a cash bonus, the bookmaker uses your real deposit first. The bonus only kicks in once your deposit is wagered through. This means your first few bets are 100% your money at risk. Factor this into your planning, you might need more qualifying bets than you think before the bonus starts working.
Exposure (liability): When you lay, BetMatch holds your potential payout as exposure. Liability = Lay Stake × (Lay Odds − 1). So laying R20K at odds 2.00 = R20K exposure. Laying R20K at odds 3.10 = R42K exposure. Higher odds eat much more float, plan accordingly.
Commission: BetMatch charges 5% on lays that pay out, only. If your lay settles without paying, commission is zero. If your lay pays out R20,268, commission = R1,013, you net R19,255. This commission is already built into the calculator, you don't need to adjust manually. But know that it's why perfect back/lay matches still cost you something: 5% of the lay payout is the floor.
Every deposit, every bet, every withdrawal, every commission payment. Record the bookmaker, date, match, back odds, lay odds, stake, lay stake, result, profit/loss. This isn't optional, without tracking, you'll have zero visibility of where your money is, what's cleared, and what's pending. One sloppy bet can eat a whole bookmaker's profit.
Many bookmakers offer both casino and sports bonuses. Always select the sports bonus. Casino bonuses have rollover requirements (like 30x) that are impossible to clear profitably with matched betting. Some sites (like PlayTSOGO) make you manually choose the "Sport Only" option after depositing, it's not automatic.
When a bookmaker shows both a standard price and an "enhanced" or "boosted" price, always take the enhanced price. It pushes the back odds closer to (or above) the BetMatch lay, tightening your spread. Sometimes it flips the gap entirely, turning a qualifying cost into a small arb profit. This works for both qualifying bets and one-shot extractions. Check every bet for an enhanced option before placing.
BetMatch liquidity is usually deepest 1-2 hours before kickoff for Premier League matches. Too early and spreads are wide. Too late and liquidity dries up. For Champions League, the sweet spot is similar. Avoid placing bets on matches that are days away, odds and liquidity change too much.
After my Sunbet experience, I stopped forcing bets. Sometimes I'd check BetMatch, see a 93% spread, and close the tab. Come back tomorrow. Check again. 96%. Place it. That discipline across 10+ qualifying bets saved me hundreds of rands per bookmaker. The spread will come. It always does. The bookmakers aren't going anywhere. Their welcome offers have been the same for months. There is no rush. The only thing that rushing does is turn a profitable extraction into a mediocre one.
Your BetMatch float needs to cover the lay liability for each bet. Here's what that looks like in practice:
Small deposits (R50-R200): You need roughly R100-R500 in float per lay. Easy to cover.
R1,000 deposits: Budget R2-3K in BetMatch float per lay.
R3,500+ deposits with rollover: You might need R15-25K in float across multiple qualifying bets.
R10K one-shot at odds 3.10: The liability is R42K+. Serious capital.
You don't need all of this on day one. The same float covers one bet, settles, then covers the next. Each bookmaker withdrawal tops up the float for bigger plays. But always check before placing: can I cover this liability right now? If not, wait, reduce your stake, or use lower odds.
AiProfit's odds matcher automatically compares prices for bookmakers listed on the platform. But the matched betting calculator works for ANY bookmaker, listed or not. Just enter the back odds from whatever bookmaker you're using, the lay odds from BetMatch, your stake, and 5% commission. It tells you the lay stake, qualifying cost, and retention percentage. Same maths, same result. If a bookmaker isn't on AiProfit's odds matcher, you just do the comparison manually: check the bookmaker price, check BetMatch, plug both into the calculator. The calculator in this guide (under the Calculator tab) does the same job.
Blue = BACK (left 3 columns). Pink = LAY (right 3 columns). If you read the wrong column, you'll calculate the wrong lay stake, and one side of your bet won't cover the other. Always verify by checking the bet slip before confirming, it should say "Lay" not "Back."
Using odds below 5.0 for SNR free bet extraction leaves money on the table. At 3.0 you extract ~63%. At 5.0+ you extract 77-83%. That's a 15-20% difference, on a R5,000 free bet, that's R750-R1,000 in missed profit.
You find a perfect spread, place your back bet, go to BetMatch, and there's only R2K available when you need R20K. Now you're unhedged on R18K. Always check BetMatch liquidity FIRST, before placing anything at the bookmaker.
You deposit R10K, try to withdraw after clearing the bonus, and the bookmaker says "please verify your identity." Now your money sits there for 3-5 days while they check your ID. Meanwhile, that capital could have been working at another bookmaker. FICA first.
Things go sideways. Here's what to do when they do.
This means there aren't enough backers at your price. You have two options: (1) Wait, someone may come along, especially closer to kick-off when liquidity spikes. (2) Slightly increase your lay odds to make your offer more attractive (but re-run the calculator to check the new cost). If you haven't placed your back bet yet (you shouldn't have, lay first), you can simply cancel the lay and find a different match. If you HAVE backed already, don't panic, the lay will likely fill closer to kick-off. Keep checking.
If the lay went in first and the bookmaker odds have dropped, re-run the calculator with the new odds. If it still passes 95%, it's still a good bet. If not, waiting is an option, odds fluctuate and may come back. If the bookmaker odds have increased since the lay, that's actually better, the qualifying cost just went down. I learned early not to chase a moved line by accepting a bad spread.
At the bookmaker: most don't let you cancel once placed. If the match hasn't started, some offer a "cash out" option, take it immediately and accept any small cost. On BetMatch: unmatched lays can be cancelled. If it's already matched, you'll need to place a counter-bet to neutralise it. Work out the maths carefully, or ask for help. The worst thing to do is place another rushed bet to "fix" it, that usually makes it worse.
Some bookmakers limit accounts that only bet on promotions (they call it "bonus abuse"). Signs: max bet limits, excluded from promotions, or account closure. To reduce risk: (1) Don't withdraw immediately after clearing a bonus, leave it a day or two. (2) Place a few small "normal-looking" bets between bonus bets. (3) Don't always bet the exact bonus amount, round to normal-looking numbers. (4) If you're limited, move on, there are 40+ bookmakers in SA. Don't fight it.
SA bookmaker withdrawals vary wildly: some process in hours (Betway, Hollywoodbets), others take 3-5 business days. EFT is usually fastest. If it's been more than 5 business days, contact support. Common holdups: FICA not completed (that's why you do it first), pending bonus rollover requirements, or first withdrawal security checks. Keep proof of your deposit method, some bookmakers require withdrawal to the same account you deposited from.
Before panicking: check if the match has actually settled (some bookmakers delay settlement by 15-30 minutes). Check if there's a pending bet you forgot about. Check if the bonus has been credited yet, some bookmakers credit bonuses only after the qualifying bet settles, not when you place it. If the numbers genuinely don't match your calculator, screenshot everything and go through the maths manually before your next bet. A discrepancy usually means you entered something wrong, not that the bookmaker cheated you.
Every term, phrase, and piece of sportsbook jargon used in this guide. Search or scroll.
These are the tools that make matched betting work. BetMatch is essential. AiProfit saves you hours of manual searching.
This is where you place all your lay bets. Without BetMatch, matched betting in South Africa isn't possible, it's the only licensed betting exchange in the country, which is what makes lay betting legal here at all. Create your account, deposit your float (the capital that covers your lay exposure), and keep it funded. 5% commission on lays that pay out, only.
BetMatch's standing in the industry isn't just anecdotal either: the platform won the Startup Pitch at SiGMA Africa 2026, and SiGMA's own coverage lays out why SA's first betting exchange was such a significant gap to fill in the local market.
Go to BetMatch ↗AiProfit compares bookmaker prices to BetMatch lay prices and shows you the tightest spreads automatically. Instead of manually checking 10 bookmakers and scrolling through BetMatch, it does the comparison for you. Huge time saver, especially when you're looking for qualifying bets under the 95% rule. Free access through the link below.
Sign up free at AiProfit ↗Google Sheets, Excel, anything. Track every bet: bookmaker, date, match, back odds, lay odds, stake, lay stake, result, profit/loss, commission, deposits, withdrawals. This is your source of truth. When you're juggling 5+ bookmakers at different stages, you'll need it.
After completing a welcome bonus, keep the account open. These ongoing promotions are extra profit on top of the welcome bonus.