B2B sportsbook platform

The in-play-first sportsbook operators actually control

Embed our sportsbook in your platform or launch a full white label. Set your own margins from the back office, connect your wallet with four calls, and run on our in-house pricing engine. We are pure B2B: we never run a consumer brand that competes with you.

For licensed operators only. We do not accept bets from the public.

Margin profiledemo-com
Pre-match
5.0%
In-play
7.0%
Correct score, pre-match
15.0%
Correct score, in-play
20.0%
Method
Power (shades longshots)
Full-time resultUniversitario – Alianza Lima
12.34X3.2623.15

Saved as audited configuration

Illustrative back-office view. Values are the demo tenant’s defaults.
  • 4wallet calls to integrate: balance, debit, credit, rollback
  • 0consumer brands competing with our clients
  • 11market types in the v1 API, from 1X2 to correct score
  • ≤1/sodds pushes per event, batched for slow networks

Products

Two ways to launch, one core

Embed our sportsbook next to your casino, or launch a complete brand on our stack. Both run on the same multi-tenant core, where your theme, margins, limits and jurisdiction rules are configuration, not custom code.

Embed

Sportsbook as a service

Add a full sportsbook to your existing site and keep your own player accounts and wallet.

  • iframe embed, opened with a server-to-server session call
  • Web Component SDKRoadmap
  • Seamless wallet with four calls: balance, debit, credit and rollback, HMAC-signed and idempotent
  • Pre-match and in-play: singles, multiples, system bets and cash-out
  • Your theme tokens, margins and limits
Turnkey

Full white label

Launch a complete brand. We run the platform and the player wallet; you hold the licence.

  • Player accounts: registration, sessions with idle timeout and TOTP two-factor login
  • KYC: CPF validation and facial liveness through a provider interface
  • PIX cashier: deposits and payouts to the player’s own CPF (Brazil profile)
  • Responsible gambling: deposit, loss and session limits, and self-exclusion
  • Back office for players, payments, bets, audit trail and reports, on a double-entry ledger
  • More payment rails for other marketsRoadmap
Control

Trading and risk tools

Run your book yourself, with automated safeguards underneath.

  • Margin profiles per market type, pre-match and in-play, multiplicative or power method
  • Live liability by market and outcome
  • Manual suspend and resume; automatic suspension when the live feed’s heartbeat stops
  • Server-side in-play bet delay with price re-validation, and odds-change policies
  • Stake, payout and selection limits; settlement, resettlement and voids, all audited
  • Per-league and per-event margin overridesRoadmap

Why us

Built for operators who want control

Managed sportsbooks make you ask permission to change a price. We think the operator should hold the controls.

  • Margins you set, not request

    Change your margin profile from the back office or the API and it applies to the prices we publish next. No support ticket, no waiting on someone else’s trading desk. Every change is recorded in the audit trail.

  • Pure B2B, never your competitor

    We do not run a consumer sportsbook and we will not start one. Your players, your data and your brand stay yours.

  • Our own pricing engine

    Football prices come from an in-house Dixon-Coles model, an adjusted Poisson model fitted on historical results, with in-play repricing as the clock runs and goals go in. The odds are ours: nothing is copied from another bookmaker.

  • Fast on low-end Android and slow networks

    One WebSocket per player with per-event topic subscriptions, only changed markets sent, and at most one odds message per event per second. Themes are CSS variables, so there is no per-brand build to download.

  • Transparent pricing

    Indicative rates are published on this page, and sportsbook as a service has no minimum fee for the first 12 months.

  • Designed for certification

    The money path (wallet, ledger, bet acceptance, settlement, authentication and audit) is kept small and changes on a slow release train. Themes, copy and back-office screens ship outside that boundary.

Live theming demo

Same layout grammar, your brand.

Every operator gets the same fast, familiar sportsbook layout, skinned entirely by design tokens. Pick a brand: the coupon below re-skins live through CSS custom properties, with no rebuild, while the odds keep moving.

Brand
5.0%

Reprices every match with the power method. Book: 105.3%

Neutral
Full-time result
  • Live 63’Liga Profesional
    River Plate1Boca Juniors0
  • Live 28’Liga 1
    Universitario0Alianza Lima0
  • Today 19:30Premiership
    Kaizer ChiefsOrlando Pirates
  • Today 21:00Primera A
    Atlético NacionalMillonarios

Bet slip

1
  • UniversitarioUniversitario – Alianza Lima
    2.39
Single
Total odds2.39
Potential returnUS$23.90

Active theme tokens

--color-brand
#1c2733
--color-accent
#2f6fed
--color-bg
#e9edf2
--radius
4px
--row-height
44px

Prices in this demo are simulated in your browser. No bets are accepted.

Compliance by configuration

Jurisdiction rules are data, not forks

Each tenant runs under a jurisdiction profile that switches identity, payment, limit, geolocation and reporting rules on or off. One code base serves every profile.

Jurisdiction profiles

  • ROWAvailable

    Rest of world (.com)

    For operators licensed outside Brazil. Brazilian traffic is blocked at the geolocation gate. Seamless or internal wallet.

  • BRDormant

    Brazil

    The full Brazil module below, held dormant behind a jurisdiction kill switch that is closed by default.

  • +Roadmap

    Newly regulated markets

    Further profiles for markets that require local rules and reporting, added as configuration on the same core.

The Brazil module

Built against Brazil’s federal rules for fixed-odds betting, so it can be switched on if a lawful licensing framework returns.

  • CPF validation at registration, with an 18+ age check
  • Facial KYC: liveness and face match through a provider interface
  • PIX deposits accepted only from the player’s own CPF
  • Payouts to a PIX key in the player’s own CPF, with a 120-minute target
  • TOTP multi-factor authentication, session expiry and idle timeout
  • Geolocation: Brazil-only for Brazilian tenants, re-checked during the session
  • Deposit, loss and session limits; increases wait 24 hours; self-exclusion from one month to permanent
  • Hash-chained audit trail of sensitive actions
  • Daily regulatory export in JSON or CSV
  • Regulator kill switch per jurisdiction: admin-only and audited

Built for GLI-33 / GLI-19 certification

We design and test against GLI-33 (event wagering) and GLI-19 (interactive gaming systems). The platform is not certified yet: certification is done per jurisdiction with an accredited lab, and we will say so here only once a certificate is issued.

A note on Brazil

MP 1.394/2026 currently prohibits fixed-odds betting in Brazil, and we do not serve the Brazilian market. The Brazil module is ready for when a lawful licensing framework returns. Until then, the platform blocks Brazilian traffic for tenants licensed in other jurisdictions.

Integration

An iframe, a session call and four wallet endpoints

Sportsbook as a service plugs into the platform you already run. Your server opens a player session, your page embeds the sportsbook, and we call your wallet for every money movement.

Your path to a first test bet

  1. Receive your tenant ID and integration API key.
  2. Expose four wallet endpoints: balance, debit, credit and rollback.
  3. Verify our HMAC-SHA256 signature and treat txId as an idempotency key.
  4. Open player sessions from your server and embed the sportsbook with our SDK and a one-time launch token.
  5. Load your theme tokens, margin profile and bet limits.
  6. Place and settle test bets on simulated fixtures and live matches.
  7. Go live on a licensed live-event feed for the markets you serve.

Open a player session

Server to server, with your API key.

bash
curl -X POST https://api-staging-ab7c.up.railway.app/api/v1/integration/sessions \
  -H "X-Tenant-ID: your-tenant" \
  -H "X-API-Key: $INTEGRATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"externalPlayerId":"p-10293","displayName":"Ana","currency":"USD"}'

# 200 OK  (launchToken: single use, expires in 120 s)
# {"launchToken":"lt_...","launchUrl":"...","player":{...}}

Embed the sportsbook

Mount it with the embed SDK and a one-time launch token.

html
<div id="sportsbook"></div>
<script src="https://api-staging-ab7c.up.railway.app/embed/v1.js"></script>
<script>
  BookmakerSportsbook.mount('#sportsbook', {
    url: 'https://api-staging-ab7c.up.railway.app',
    tenant: 'your-tenant',
    launchToken,                 // from your server, single use
    height: 'auto',
    onLoginRequired: () => openLogin(),
    onDepositRequested: () => openCashier(),
    onSessionExpired: () => fetchNewLaunchToken(),
  });
</script>

Answer wallet callbacks

We call your wallet for every debit and credit.

http
POST /wallet/debit HTTP/1.1
Host: wallet.your-platform.example
Content-Type: application/json
X-Timestamp: 1792022400
X-Signature: 9c1f...e04b

{"txId":"tx_01JA2M4Q","playerId":"p-10293","amount":1000,
 "currency":"USD","kind":"bet","betId":"bt_8KQ2"}
// X-Signature = hex(HMAC-SHA256(walletSecret, timestamp + "." + body))
// Same calls: /balance, /debit, /credit, /rollback

// 200 OK: apply once per txId
{ "txId": "tx_01JA2M4Q", "balance": 24000, "currency": "USD" }

// 4xx: refuse the debit
{ "error": { "code": "insufficient_funds" } }

Every call is idempotent on txId. Timeouts are retried with the same txId, and a debit that times out is rolled back. Amounts are integers in minor units. Request and response shapes are taken from the v1 API contract.

Pricing

Published, indicative pricing

A share of sportsbook GGR, no minimum fee in year one, and nothing hidden in “on request”.

Indicative, subject to contract
  • Self-trade

    Same product. You set margins and limits outright and trade your own book.

    5–6%of sportsbook GGR

    • No minimum fee for the first 12 months
    • Then a monthly floor of about US$1,500
    • Setup fee up to US$5,000
    • Full access to margin profiles and limits
    Talk to us about pricing
  • Full white label

    Sportsbook, player accounts, cashier and back office. You hold your own licence.

    12–18%of GGR

    plus a platform fee of US$2,000–3,000 a month

    • Setup fee US$10,000–20,000
    • Player accounts, KYC, cashier and responsible-gambling tools
    • Back office, audit trail and regulatory reports
    • Your brand on our sportsbook front end
    Talk to us about pricing

All figures are indicative, in US dollars, exclude taxes and are subject to contract. GGR means stakes minus winnings on settled bets; how bonuses and betting taxes are treated is set out in your contract.

Markets

Where we work

We supply licensed operators. Whether a market is open to you depends on your licence and on local law, which your counsel confirms. We do not give legal advice.

  • Latin America

    Operators licensed in the markets they serve. Brazil is excluded while MP 1.394/2026 is in force.

  • Africa

    Mobile-first operators whose players are on low-end Android phones and patchy data. The front end is built for exactly that.

  • Asia

    Casino-first operators adding a sportsbook through an iframe and the seamless wallet, without migrating player accounts.

  • Regulated markets

    Markets that require a lab-certified supplier. The core is built for GLI-33 / GLI-19 testing, with certification per jurisdiction.

Every tenant contract limits the platform to the jurisdictions the operator is licensed for.

FAQ

Questions operators ask first

How does the wallet integration work?

You expose four HTTPS endpoints: balance, debit, credit and rollback. We sign every call with HMAC-SHA256 over a timestamp and the request body, and send a txId that you treat as an idempotency key. Timeouts are retried with the same txId, and a debit that times out is rolled back. Amounts are integers in minor units.

Where do your odds come from?

From our own pricing engine. Football uses a Dixon-Coles adjusted Poisson model fitted on historical results, plus an in-play model that reprices as time passes and goals are scored. Your margin profile is applied on top, per market type and separately for pre-match and in-play.

Which data feeds do you use?

Our own prices, plus licensed data for fixtures, results and live match events, each connected through a feed adapter. We enable in-play betting only on a licensed low-latency live-event feed, and live markets are suspended automatically if its heartbeat stops. We never scrape or copy other bookmakers’ odds.

Are you certified?

Not yet. The platform is built for GLI-33 and GLI-19 certification: the critical modules (wallet, ledger, settlement, bet acceptance, authentication and audit) are isolated and released on a slow, controlled train. Certification is done per jurisdiction with an accredited lab.

How far can we change the look?

Colours, typography, corner radius, density (compact or comfortable) and layout (three or two columns) are design tokens applied at runtime, with no per-brand build. Our theme check flags colour schemes that imitate a well-known bookmaker’s trade dress, to keep your brand clear of confusion claims.

Can we operate in Brazil?

Not today. MP 1.394/2026 currently prohibits fixed-odds betting in Brazil, and the platform blocks Brazilian traffic for tenants licensed elsewhere. The Brazil module (CPF, facial KYC, PIX, 120-minute payouts, geolocation, audit trail and regulatory export) is ready for when a lawful licensing framework returns.

Who holds the betting liability?

You do, by default. We run automated risk controls and you set your margins and limits. We earn a share of GGR and do not take positions against your players.

Do you provide the gambling licence?

No. Every operator holds its own licence. We supply the platform and configure it for the jurisdictions your licence covers.

Request a demo

See it running on your brand

Tell us about your operation and we will set up a walkthrough of the sportsbook, the back office and the wallet API.

What happens next

  1. We reply by email to arrange a call.
  2. We walk you through the sportsbook, back office and integration.
  3. If it fits, you get a sandbox tenant to build against.

Prefer email? Write to [email protected]

For example Curaçao, Malta, or “applying”.

Markets, timeline, current provider: anything that helps.

We use these details only to reply to your request.Privacy notice