Play-money demo estate. No operating licence, no real money, no real customer data. Every figure on this page is fetched live from the production API when the page loads.

The live estate

One platform. Seven brands. Nothing pre-recorded.

Everything linked from this page is running right now against api.betbeavers.com — the same production API, the same database, the same audit log. Seven operator brands that look nothing alike, one operator back office driving all of them, and the numbers below pulled from the API the moment you opened this.

Sports live
Priced events
In-play now
Casino categories
Jackpot pool
Platform checking…

Live status

The page tells you when something is wrong

A demo page that shows a healthy green tick regardless of what the backend is doing is a screenshot with extra steps. This one calls /health and reports what comes back — including, right now, an honest amber.

live recent winners — from the production feed
  • Loading the winners feed…

What to try during the meeting Open the browser network tab. Every number above is one uncached GET against the production API, and you can watch them being made. Nothing on this page is baked into the HTML.

The brands

Seven operators. One backend. One deployment.

This is the argument the whole company rests on: the product is the API, and a front end is replaceable. Five of these are assembled from the widget engine on different presets; one — Kestrel — is written entirely against the public API and loads no engine code at all; one is a hand-written shell around a single engine table. Four are dark and three are light. One has no colour in it whatsoever.

The pair to look at hardest is Lumo and Ludgate & Co. They run on the same engine preset — classic — separated by three custom properties. One is an indigo mobile-first instant-win app; the other is an ivory turf accountant with a Baskerville wordmark. Nobody would guess they share anything.

The point to make out loud Put Kestrel and BetBeavers side by side. A dense three-column sportsbook coupon and a casino-led app shell, with completely different information density, type scale and palette — and both are reading the same fixtures, the same wallet and the same compliance gates from one instance.

Back office

One operator console behind all of it

A static, self-contained operator back office: dashboard, players, withdrawals, trading, settlement, games, promotions, jackpots, tournaments, campaigns, segments, automations, affiliates, staff, webhooks, billing and the audit log — each screen backed by an API operation you can call yourself.

SHOW THIS

The audit log

Every back-office write, captured by the framework rather than by each endpoint remembering. Filter by actor and watch the trail appear as you make a change in another tab.

SHOW THIS

Role switching

Sign in as support and watch adjustment controls disappear — refused by the capability layer, and refused again by a per-role daily monetary ceiling behind it.

SHOW THIS

Brand switching

Move between brands and watch the data change completely. A brand's own staff cannot reach another brand's players at all, through the UI or the API.

Open the back office
Sign-in — ask for the current demo staff credentials before the meeting; they are rotated and deliberately not published on this page.

Architecture

Why seven brands cost one deployment

BetBeavers casino-led app shell Kestrel dense coupon no engine code Chinchón single title raked table Lumo light, mobile classic preset Pulsar neon originals neon preset Ludgate turf accountant classic preset AXIS monochrome mono preset One API — one deployment, one database tenant resolved per request from the X-Tenant header or the request domain Brand-owned — global query scope players · wallets · bets · bonuses · promotions · jackpots segments · campaigns · staff · audit log A brand's staff cannot construct a query that leaves their brand. Shared platform data fixtures · odds · results · currency rates Priced once, consumed by every brand. A second brand does not double the feed cost.
The commercial consequence: brand number eight is a command and a stylesheet, not a project. The economics of this platform improve with brand count, which is the opposite of a per-brand licence model.

One thing to be precise about, because a technical buyer will check it: these seven demo front ends all run against the same tenant — they send no X-Tenant header, so a balance follows you from one to the next. What they demonstrate is front-end independence and skinning, not isolation. Tenant isolation is a separate demonstration, and the place to show it is the back office: switch brands there and the data changes completely, because that is where a second tenant actually exists. Conflating the two is the kind of claim that falls apart in a technical review.

The numbers

Every figure counted from the repository, not estimated

Each of these was produced by a command that can be re-run. They are the same figures used on the company site, from one source, so no two pages can disagree.

2,042automated tests, all passing
180,000+assertions behind them
308API operations across 268 documented paths
139backend domain services
81database migrations
66Eloquent models
43front-end widgets, each wired to a real capability
31in-house game engines

The offer worth making in the room Run the test suite from a clean checkout, live. It takes about five and a half minutes and it is the single hardest thing on this page to fake.

What this estate is not No operating licence. No licensed casino content. No live payment processor. No KYC vendor. No live dealer. No operator in production and therefore no uptime figure. The in-house game titles are uncertified in-house mathematics. If an investor or an operator hears any of that for the first time on call four rather than here, that is a failure of ours, not a negotiating position.

Run sheet

A twenty-minute walk-through that lands

Ordered so each step earns the next. The compliance step is the one that changes the room, so it goes in the middle rather than the end.

0:00

Open this page and scroll to the counters

Point at the network tab. Live figures, uncached, from production — and an honest amber on the odds feed rather than a green tick that means nothing.

0:02

BetBeavers and Kestrel, side by side

Two tabs. Completely different products; one backend, one fixtures feed, one wallet. This is the "the product is the API" argument made visually in ten seconds.

0:04

Lumo and Ludgate & Co., side by side

The single strongest ten seconds in the deck. An indigo mobile-first instant-win app and an ivory Victorian turf accountant — same engine preset, separated by three custom properties. Say that number out loud.

0:05

Then AXIS, for the range

Monochrome, editorial, no colour anywhere except the live dot, and the catalogue set as a typeset index rather than a tile wall. It is the answer to "can it look like anything other than a casino".

0:06

Place a same-game multi and show the correlation factor

The naive price and the correlation-adjusted price side by side. Very few platforms below tier one price correlation at all — this is the sharpest technical differentiator that a non-engineer can still follow.

0:10

Try to bypass a deposit limit

Set a limit, delete it, immediately set a higher one. It parks for 24 hours. Then explain that we shipped this bug, found it, and now hold it closed with four dedicated tests — that story is worth more than the feature.

0:14

Back office — audit log and a role switch

Make a change in one tab, watch it land in the audit log in the other. Then sign in as support and watch the money controls refuse.

0:17

Run the test suite from a clean checkout

2,042 tests, about five and a half minutes. Let it run while you take questions — the noise of it passing in the background is the close.

0:20

Say what is missing before you are asked

Licence, certified content, PSP, KYC. Saying it unprompted is the single highest-trust move available, and it is the one thing no competitor's deck will do.