Appearance
Games & play
The lobby is where players spend most of their time. Games come from third-party providers, with a handful of in-house originals mixed in, and the catalog is organized into the categories you would expect from a casino.
The catalog
Games are synced from an external platform API into a versioned public catalog, then layered with admin overrides — a title, an image, whether the game is hidden, and its bonus-wagering settings. Catalog sync runs in the background on API startup and whenever the lobby detects the platform copy needs refresh; under load the API keeps serving the current committed catalog version while a single background sync runs. Admin publishes bump the catalog version so player clients never paint a previous configuration.
Images: SoftGaming / Fundist catalog artwork is canonical (landscape 4∶3 only: CDN widths 196, 208, 232, 250, 315, or unsized full 640×480 via a path segment before the filename, e.g. …/games/yggdrasil/315/vikings_go_to_valhalla.jpg). Lobby, catalog, search, and launch posters use matching aspect-[4/3] frames and rewrite URLs through withFundistImageSize so art is not side-cropped. Admin imageUrl overrides take precedence, and the bundled provider logo is used when a game has no artwork.
The web app is slot-only and slices that catalog into the sections players browse:
- Slots — the main grid.
- New, Jackpot, Bonus Buy, Megaways, Instant Win, Hold & Win, and Crash — slot-focused collections that can be ordered independently by admins.
- Providers — every game from a single studio.
The home page pulls these together into a lobby with category tabs, and each player also gets Favorites and Recently played views.
Playing a game
Opening a game creates a session. The API returns a launch URL that the site loads in an iframe, and from then on the game provider drives the round: it calls back to the platform to check the session, verify the balance, debit each bet, and credit wins. Those provider callbacks live under /platform/* and carry their own authentication rather than the player's token.
Fundist real-money launch documents are one-time, player-owned credentials. The player app navigates to them through the same-origin /api/game/launch/:token bridge, which attaches API authentication server-side. Do not fetch launch HTML into frontend memory or recreate it with blob:/srcdoc: that removes the stable HTTPS origin and referrer used by provider token checks, causing failures before the first OneWallet balance callback.
Admin deactivation only gates new session creates (/game/session/create). An open session keeps settling even if the game is later hidden from the catalog; iframe relaunches may replace the session token for continuity. Never reject mid-session money movement based on catalog isActive.
Custom-slot sessions pin the active math config id at create time (custom_slot_config_id), so later admin publishes cannot change an in-flight real-money game. When a player relaunches after deactivation mid-play, the client may receive replaceSessionId so continuity can complete the prior session without treating it as a brand-new launch.
When a session starts, the platform decides whether to play from the real or bonus balance based on the player's wagering state and what funds are available. That decision is automatic — the player just sees one balance to bet from.
Games can also be opened in demo mode, which launches the same way without requiring sign-in, so people can try a title before funding an account.
Favorites and history
Favorites are explicit: a player adds or removes a game and it shows up in their Favorites view. Recently played is tracked automatically when a session is created, building a quick "jump back in" list.
Free rounds
Some promotions grant free rounds (free spins) that the game provider activates inside a session. The default grant is ten rounds, and any winnings are settled through the provider's free-rounds completion flow. Free rounds are configured as part of a promotion rather than something the player turns on themselves.