Skip to main content

Jurisdiction Rules

Resolves the per-market UX rules a slot must honour, such as whether autoplay is allowed, the stake cap and the reality-check cadence, and exposes them as flags and numbers to gate your UI with. It runs only in the browser and is never compiled to the RGS.

Rules come from one of three places, in priority order. A non-empty Rules object wins and fires Loaded with Source input. Otherwise Fetch requests GET /rgs-fn/<game-slug>/__client-rules from the RGS with no credentials, using Game Slug and RGS URL, and applies the reply with Source server. Until either happens the Fallback inputs apply with Source default. Fetch is deferred, so a slug arriving in the same update is used.

The RGS resolves the rules from the game's owning operator and the market that operator is assigned to. The reply's jurisdiction object carries code, autoplay_allowed, turbo_allowed, slam_stop_allowed, feature_buy_allowed, max_stake, min_spin_interval_ms, reality_check_interval_min and net_position_display; the node maps each to its output. A null cap becomes 0, meaning unlimited or no rule. The route is never cached, so every Fetch reads the operator's current settings. Rules accepts the same object, or the whole reply, in snake_case or camelCase.

When the operator has no market configured, the platform answers with its DEFAULT profile: every permission true, no stake cap, no pacing, no reality check, net position not required. Those are explicit values, so they override your Fallback inputs the moment the fetch succeeds; only keys a rules object leaves out fall back. Read Jurisdiction Code: DEFAULT means the operator still has to assign a market in the RGS before going live in a regulated one.

A failed Fetch never changes the outputs: they keep their current values (the fallbacks if nothing has loaded yet), Error explains why (RGS request failed: 404 ... for an unknown slug, a missing Game Slug, or a reply with no jurisdiction object) and Failed fires, so the game keeps running on the defaults you chose. Only the newest request is applied when several overlap. Clearing Rules after it was applied returns the node to the fallbacks without firing anything.

The RGS re-checks the stake cap and round pacing on every round regardless of what the client does; the permission flags, the reality-check cadence and net-position display are display rules that only your UI can honour. Wire Autoplay Allowed to Autoplay allowed, Reality Check Interval (min) to Reality Check intervalMinutes, cap the bet picker at Max Stake and use Min Spin Interval (ms) as the Spin button cooldown. See the Slot Features guide.

Inputs​

Rules​

DataDescription
Rules (object)The reply's jurisdiction object (or the whole reply) you already hold, snake_case or camelCase, object or JSON string. Wins over the server; empty clears it.

Actions​

SignalDescription
FetchRequests GET /rgs-fn/<slug>/__client-rules from the RGS with no credentials, then fires Loaded or Failed. Applies Rules instead when it is set.

Server​

DataDescription
Game Slug (string)The game's slug on the RGS (the one in its /rgs-fn/ URLs). Required for Fetch; empty fires Failed. Default empty.
RGS URL (string)Base URL of the RGS functions endpoint; trailing slashes are trimmed. Leave empty for the XGENIA platform, the default.

Fallbacks​

DataDescription
Fallback: Autoplay Allowed (boolean)Value of Autoplay Allowed before rules load, after a failed fetch, or when the rules leave the key out. Default true.
Fallback: Turbo Allowed (boolean)Value of Turbo Allowed before rules load, after a failed fetch, or when the rules leave the key out. Default true.
Fallback: Slam Stop Allowed (boolean)Value of Slam Stop Allowed before rules load, after a failed fetch, or when the rules leave the key out. Default true.
Fallback: Feature Buy Allowed (boolean)Value of Feature Buy Allowed before rules load, after a failed fetch, or when the rules leave the key out. Default true.

Outputs​

Rules​

DataDescription
Autoplay Allowed (boolean)false means hide or disable the Autoplay control; wire it to Autoplay allowed. From autoplay_allowed; the platform's DEFAULT profile says true.
Turbo Allowed (boolean)false means offer no turbo or quick-spin option. From turbo_allowed; the platform's DEFAULT profile says true.
Slam Stop Allowed (boolean)false means the player may not stop the reels early. From slam_stop_allowed; the platform's DEFAULT profile says true.
Feature Buy Allowed (boolean)false means hide the bonus-buy offer. From feature_buy_allowed; the platform's DEFAULT profile says true.
Max Stake (0 = unlimited) (number)Largest total stake per round the market allows, in integer minor units; 0 = unlimited (a null cap maps to 0). Cap the bet picker at it.
Min Spin Interval (ms) (number)Minimum ms between player-started rounds; 0 = no pacing rule. Use it as the Spin cooldown; the RGS refuses faster rounds anyway.
Reality Check Interval (min) (number)Mandated minutes between reality checks; 0 = the market requires none. Wire it to Reality Check intervalMinutes, where 0 disables the check.
Net Position Display (boolean)true means the market requires showing the player's net position (wins minus bets); Reality Check netPosition supplies it. false when absent.
Jurisdiction Code (string)The profile's code, an ISO country code or DEFAULT, which means the operator has no market assigned. Empty until rules arrive.

State​

DataDescription
Source (string)Where the current outputs came from: input, server or default.
Error (string)Why the last Fetch failed: HTTP status with a body excerpt, a missing Game Slug, or a malformed reply. Empty after success.

Events​

SignalDescription
LoadedFires after rules are applied from Rules or from a successful Fetch.
FailedFires when Fetch cannot get rules; the outputs keep their current values and Error says why.

Usage​

  1. Set Game Slug to the game's slug on the RGS; leave RGS URL empty for the XGENIA platform.
  2. Set the Fallback inputs to the safest values for your launch markets, for example autoplay off.
  3. Wire your game-init event to Fetch.
  4. Wire Autoplay Allowed to Autoplay allowed.
  5. Hide the turbo, slam-stop and feature-buy controls when Turbo Allowed, Slam Stop Allowed or Feature Buy Allowed is false.
  6. Wire Reality Check Interval (min) to Reality Check intervalMinutes.
  7. Cap the bet picker at Max Stake when it is above 0.
  8. Cool the Spin button down for Min Spin Interval (ms) after each spin.
  9. On Failed, log Error and carry on with the fallbacks.
caution

A successful fetch for an operator with no market returns the DEFAULT profile, which permits everything and sets no caps, and those explicit values override your Fallback inputs. Check Jurisdiction Code before launch in a regulated market: DEFAULT means the operator has not assigned a jurisdiction in the RGS yet.