If you want to know how to build a sportsbook, the short answer is: you need an odds and results pipeline, a market model, a betslip with live acceptance, a settlement engine that can undo itself, a wallet that never moves a balance twice, limits, history and a back office. Industry guides put a custom build at 6 to 18 months and self-builds at well over a million euros. If what you actually need is a play-for-fun sportsbook on your site for your community, with free tokens and never real money, embedding one takes days instead.
Key takeaways
- A sportsbook is a dozen systems, not one app. The betslip is the easy part; settlement, corrections and wallets are where the time goes.
- Published ranges, all from third parties: 6 to 18 months to launch a custom build (Bettoblock (opens in a new tab)), and €1.5m+ plus staffing for a self-build (Altenar (opens in a new tab)).
- For real-money betting, a white label or turnkey provider is usually the realistic route, and it comes with licensing and payments work on your side.
- For a play-for-fun sportsbook, you can embed one with an API call and two lines of HTML. Odds, results and settlement come with the platform.
- Build only if the sportsbook is the product and you can staff it for years.
On this page7 sections
- How to build a sportsbook: the parts
- The hard parts nobody mentions
- Corrections after settlement
- Half-won and half-lost Asian lines
- Live prices that move under the player
- Retries and idempotency
- Settlement timing and manual review
- Time and cost to build: what published ranges say
- Buy: a licensed white label or turnkey
- Embed: a play-for-fun sportsbook in days
- Build, buy or embed: decision table
- Frequently asked questions
How to build a sportsbook: the parts
Here is the component list we'd hand any team that asks how to create a sportsbook app. Each line is a system with its own failure modes.
| Part | What it does | Why it's more than it looks |
|---|---|---|
| Odds ingestion | Pulls prices and match data from a data source and normalizes them | Every source names teams, leagues and markets differently. You need mapping, deduplication and a plan for when the feed stalls. |
| Market model | Represents matches, markets, outcomes and lines | 1X2, totals, handicaps, Asian lines and player markets all settle differently. The model has to be right before anything else can be. |
| Betslip | Lets players build singles and accumulators | Combined odds, conflicting selections, stake validation, odds format conversion, and a price that may change while the player is typing. |
| Acceptance delay | Holds live bets for a few seconds, then re-checks the price | Without it, live bets get placed on stale prices. With it, you need a clear "price changed" flow. |
| Settlement | Grades every selection when results arrive | Some results arrive late, some are wrong, some matches are abandoned. |
| Re-settlement | Undoes and redoes settlement when a result is corrected | The balance may already have been staked again. You need a rule for that and an audit trail. |
| Wallet | Records every balance movement | Idempotency, ordering, retries and reconciliation. A double credit is a bug your players will find before you do. |
| Limits | Minimum stake, maximum stake, maximum return | Enforced on the server, shown in the betslip before submit, different for live and pre-match. |
| History | Bet history for players and operators | Accumulator legs settle at different times, and a leg can be void while the others win. |
| Back office | Players, bets, limits, blocking, maintenance, reports | Operators need to act fast (block a player, pause betting) without a deploy. |
| Mobile | The whole thing on a phone | A betslip that works on a 360 px screen is its own design project. |
If you are building for real money, add payments, identity checks, player-protection tooling, licensing and a risk team on top. Those are outside this article, and whether you need them depends on licenses in each country, so take legal advice.
The hard parts nobody mentions
Most guides stop at the feature list, which is the part you can estimate. These are the parts that eat the schedule.
Corrections after settlement
Results get corrected. A goal is reassigned, a match result is amended, a player market is re-graded. When that happens after you've already settled, you have to reverse the first settlement, recover what it returned, and settle again. The player may already have staked what the first settlement returned. You need a policy for a balance that goes below zero, a way to tell every downstream system, and keys that make each generation of the settlement distinct so nothing is treated as a duplicate by mistake.
Half-won and half-lost Asian lines
Asian handicaps and totals on quarter lines split the stake: half the bet is graded on one line, half on the next. The result can be half won or half lost. Inside an accumulator, that leg contributes a partial factor to the combined odds. Get the arithmetic wrong once and your history, your balances and your reports all disagree.
Live prices that move under the player
In play, prices change every few seconds and markets suspend on dangerous attacks, penalties and VAR checks. A live bet needs an acceptance window, then a re-check against the current price and market status, then either acceptance or a clear rejection. The player sees all of this in the betslip, so the UX and the backend have to agree on every state.
Retries and idempotency
Networks fail between "debit accepted" and "response received". If your client retries and your wallet applies the debit twice, you've invented tokens or taken them away. Every balance-moving call needs an idempotency key, a unique index behind it, and the same response on repeats. Placement also needs a compensation path: if the debit went through but the bet couldn't be recorded, something has to give the stake back, exactly once.
Settlement timing and manual review
Most bets can be settled from results within minutes. Some can't: abandoned matches, disputed results, markets with unclear rules. You need a manual review queue and people who understand the rules well enough to grade them consistently.
We know this list well because we've shipped every item on it. The Sportsbook was built by people with seven years of experience building sportsbook software, and most of those years went into the rows above, not the betslip.
Time and cost to build: what published ranges say
We can't tell you how long your build will take. It depends on your team, your scope and your data source. What we can do is show what others publish, with links, so you can check them.
| Source | What it says | Date |
|---|---|---|
| Bettoblock (opens in a new tab) (development agency) | A sportsbook built from scratch "typically takes between 6 to 18 months" to go from idea to an operational platform | not shown; accessed 2026-09-28 |
| Altenar (opens in a new tab) (sportsbook vendor, blog) | Self-build: €1.5m+ plus staffing. Sportsbook module: €250k to €1m+. Turnkey: €100k to €500k+. White label: €25k to €50k setup | 2025-12-29 |
| TRUEiGTECH (opens in a new tab) (vendor blog) | White label: $5,000 to $25,000 setup, $2,000 to $10,000 a month, 15 to 40% of GGR, odds feeds $1,000 to $5,000 a month; year one $30,000 to $200,000+ | 2026-06-24 |
| BetConstruct (opens in a new tab) (vendor price list) | €19.9K setup (€25K multi-wallet); turnkey revenue share 10 to 16% to BetConstruct; white label 60% to BetConstruct. "The prices may change per market." | accessed 2026-09-28 |
These sources disagree, mix currencies and describe real-money products, so treat them as a spread, not a quote. The pattern is still clear. According to Altenar, building your own costs several times more than any bought option, and every option has ongoing costs, whether that's staff, fees or a revenue share. For a deeper look at how these fees add up, see our guide to white label sportsbook cost.
Two costs the ranges tend to hide:
- Odds and results data. A build still needs a data source. TRUEiGTECH lists odds feeds at $1,000 to $5,000 a month for white labels; a self-build pays for its data directly.
- Staying alive. Leagues change formats, markets get added, sources change their schemas, and corrections keep arriving. A sportsbook is never "done", so budget for the team after launch, not only the build.
Buy: a licensed white label or turnkey
If you are building a real-money betting business, you will almost certainly talk to white label or turnkey providers before you write a line of code. Broadly:
- A white label gives you a branded sportsbook on the provider's platform, often with the provider's license or help getting one, in exchange for a setup fee and a revenue share.
- A turnkey solution gives you more control and usually expects you to hold your own license and run more of the operation.
- A sportsbook module or API plugs a provider's betting engine into your own platform.
We explain the differences, who holds the license and who holds the players in white label vs turnkey vs embedded sportsbooks. If real-money betting is your business, those providers are the right people to talk to. We're not one of them.
Embed: a play-for-fun sportsbook in days
There's a third route that most build-vs-buy articles skip, because it doesn't exist in the real-money world: embed a hosted sportsbook where players stake free tokens.
This fits streamers, communities, fan sites, media, game studios and any site whose users already have points or tokens. You keep your users and your login. The sportsbook runs in an iframe on your page. The integration is three steps:
- Your server opens a session for the logged-in player with your API key and gets a single-use
launch_url. - Your page loads the SDK and mounts the sportsbook with that URL.
- Your server manages token balances: managed (we keep a record of each balance and you credit tokens through the API) or seamless (your system keeps the balance and we call your endpoint for every movement).
On the server (your API key stays there):
curl -X POST https://api.thesportsbook.app/b2b/v1/sessions \ -H "Authorization: Bearer $SPORTSBOOK_API_KEY" \ -H "Content-Type: application/json" \ -d '{"user_ref": "viewer-42", "display_name": "Viewer 42", "locale": "en"}'On the page:
<div data-thesportsbook data-launch-url="LAUNCH_URL_FROM_YOUR_SERVER"></div><script src="https://play.thesportsbook.app/sdk.js"></script>Here is how the build list above maps onto what you get when you embed:
| Part you'd build | What comes with the platform |
|---|---|
| Odds ingestion and market model | Pre-match and live odds on 11 sports: football, basketball, tennis, ice hockey, baseball, volleyball, American football, esports, UFC, martial arts (MMA) and boxing. You pick leagues one by one from more than a thousand. |
| Betslip | Singles and accumulators, six odds formats (decimal, fractional, American, Hong Kong, Indonesian, Malay), English and Spanish. |
| Acceptance delay | Live bets wait a short acceptance window and are re-checked against the current price. |
| Settlement and re-settlement | Automatic. Most bets settle minutes after the final whistle; a few wait for official results or a check by our team. If a result is corrected later, the bet is re-settled and your wallet is told. Asian lines settle as half won or half lost. |
| Wallet | Managed or seamless token balances. Every token-moving call takes an idempotency_key, so a retry never moves tokens twice. |
| Limits | Minimum stake, maximum live and pre-match stake, maximum return, set in the console. |
| Back office | A console with players, bets, blocking, maintenance mode, sports, leagues and markets. |
| Mobile | The layout follows the iframe's width. On a phone the sidebar becomes a drawer and the betslip a bottom sheet. |
What stays on your side: your login, the page the sportsbook sits on, how players get free tokens (a starting balance, a daily refill, points for taking part), and your community's rules. Our embeddable sportsbook guide covers the whole setup, and the integration docs (opens in a new tab) have the details.
Pricing is public. At the time of writing (September 2026), our plans are:
| Free | Custom | Full | |
|---|---|---|---|
| Price (monthly) | $0 | from $49 / month | $490 / month |
| Billed yearly (per month) | $0 | from $39 / month | $399 / month |
| Sports | 1 | 1 in the base, more at $25/month each | all 11 |
| Live betting | no | add-on | included |
| Monthly active players | up to 250 | up to 5,000 | no cap (fair use) |
Prices exclude VAT. Paid plans are a flat price per month or per year; we don't take a share of tokens or of what players stake.
What embedding won't give you: real-money betting, your own trading, custom domains, cash-out or a bet builder. If you need any of those, embedding is the wrong tool.
Build, buy or embed: decision table
| Your situation | Build | Real-money white label or turnkey | Embed play-for-fun |
|---|---|---|---|
| You're launching a real-money betting business | Only with a large budget and team | Usually the realistic route | Not suitable |
| The sportsbook engine is your core product and differentiator | Yes | Maybe, as a stopgap | No |
| You want betting as engagement for an existing community, site or app | Too slow and costly for the goal | Not built for this | Yes |
| You need to be live in days, not months | No | Depends on the provider | Yes |
| You can't staff odds, settlement and corrections long term | No | The provider runs them | The platform runs them |
| You want to test whether your audience cares before committing | Expensive way to find out | Expensive way to find out | Free plan, no time limit today |
A few questions to settle before choosing:
- Does money change hands? If yes, you're in the real-money world, and the build-or-buy decision starts with licensing advice, not code.
- Is the sportsbook your product or a feature of your product? Build products. Embed features.
- Who fixes a corrected result at 2 a.m. on a Sunday? If the honest answer is "nobody", don't build settlement yourself.
- What do you already have? A community with logins and points makes embedding almost trivial. The odds engine is the part you'd otherwise start from zero on.
If embedding fits, compare the plans and prices, or read how a hosted sportsbook differs from raw data in sportsbook API vs odds API.
Frequently asked questions
How long does it take to build a sportsbook from scratch?
Industry guides give wide ranges. Bettoblock, a development agency, says a custom build typically takes 6 to 18 months. Your own timeline depends on the team, the sports and markets you cover, live betting, and whether you need real-money payments and licensing, which add their own work.
How much does sportsbook development cost?
Published estimates vary a lot. Altenar's blog puts a self-built sportsbook at €1.5m or more plus staffing, and a white label at €25k to €50k to set up. For a play-for-fun sportsbook embedded on your site, The Sportsbook starts at $0 on the Free plan (September 2026).
Is it cheaper to buy or build a sportsbook?
For most teams, buying or embedding is cheaper and faster, because odds, settlement and corrections are ongoing work, not a one-off build. Building makes sense when the sportsbook itself is your product and you have the budget and team to run it for years.
What tech stack do you need to build a sportsbook app?
Any mainstream stack can work. The hard part is the domain: an odds ingestion pipeline, a market model, a ledger with idempotent movements, a settlement engine that handles corrections, and a real-time layer for live prices. The language matters much less than getting those right.
Written by
The Sportsbook team
The people who build The Sportsbook. We have spent seven years building sportsbook software, and we write these guides from that work.
Last updated .