This guide lists every feature toggle, what it actually hides or blocks, how toggles depend on each other, and which license plan each one needs.
Changing a Toggle
Navigate to Settings → Features in the admin sidebar. Each toggle shows its label, a short description, and a switch. A change is broadcast to connected clients through the feature_toggles_updated WebSocket event.
Required permission: settings:edit.
Hiding something in the client doesn’t always block it on the server. The table below separates the two, and Toggles With Limited Enforcement lists the gaps.
Toggle Reference
When a route is gated with the standard check, a disabled toggle returns 403 with AUTHORIZATION_ERROR, and a toggle outside your plan returns 403 with FEATURE_TIER_RESTRICTED.
| Label | Key | Plan | Default | Client effect when off | Server effect when off |
|---|---|---|---|---|---|
| Cashier | cashier | Starter | On | Hides the player cashier link and page, the admin Deposits, Withdrawals, All Transactions, Balance Adjustment, and Financial Analytics items, and the Cashier settings tab | Blocks all of /api/v1/cashier |
| Tournaments | tournaments | Pro | On | Hides the lobby tab, admin Tournaments item, and ticket options in admin forms | Blocks /api/v1/lobby/tournaments. Admin table creation refuses TOURNAMENT mode. |
| Private Games | privateGames | Pro | On | Hides the lobby tab and admin Private Tables item | Blocks /api/v1/private-games |
| Chat | chat | Starter | On | Hides chat at the table | Chat messages are refused with CHAT_DISABLED |
| Bonuses | bonuses | Pro | On | Hides the profile tab and admin Bonuses item | Blocks admin bonus and bonus-credit routes and player bonus routes. Bonus triggers don’t fire. |
| Affiliates | affiliates | Enterprise | On | Hides the player link and dashboard, and the admin Affiliates and Affiliate Fraud items | Blocks admin affiliate routes and player /affiliate routes |
| Agents | agents | Enterprise | On | Hides the player link, admin agent items, and the Agents settings tab | Blocks /api/v1/agent and admin agent routes |
| Virtual Chips | virtualChips | Starter | On | Hides play-money balances and options | Virtual balance operations are refused. Admin and private table creation refuse VIRTUAL_CHIPS mode. |
| Real Money | realMoney | Starter | On | Hides real-money balances and options | Real balance credit, debit, transfer, and set operations are refused. Admin and private table creation refuse REAL_MONEY mode. |
| Registration | registration | Starter | On | Hides the sign-up link and redirects the register page to login | Blocks POST /api/v1/auth/register |
| Email Verification | emailVerification | Pro | On | None | None. See below. |
| Two-Factor Auth | twoFactorAuth | Pro | Off | None | Admin login requires a 2FA challenge when on. See below. |
| Maintenance Mode | maintenance | Starter | Off | Shows the maintenance overlay, except to admins and moderators | See Maintenance Mode |
| Bots | bots | Pro | On | Hides the admin bot items | Blocks bot-changing admin routes and suspends running bots |
| Game History | gameHistory | Starter | On | Hides the admin Game History item | None. See below. |
| Fraud Alerts | fraudAlerts | Pro | On | Hides the admin Fraud Alerts and Fraud Cases items and pages | Blocks admin fraud alert and fraud case routes |
| KYC Verification | kycVerification | Pro | On | Hides the admin KYC Verification and Sanctions Checks items and pages | Blocks admin verification and sanctions routes |
| AML Reviews | amlReviews | Enterprise | On | Hides the admin AML Reviews item and page | Blocks admin AML routes |
| Chargebacks | chargebacks | Enterprise | On | Hides the admin Chargebacks item and page | Blocks admin chargeback routes |
| Coupons | coupons | Pro | On | Hides the admin Coupons item and page | Blocks admin coupon routes |
| Game Scheduler | gameScheduler | Enterprise | Off | Hides the admin Game Scheduler item | None. See below. |
| Developer API | developerApi | Enterprise | Off | Hides the admin developer items | Blocks /api/v1/developer and POST /api/v1/auth/exchange. Outbound developer webhooks stop. |
Toggles With Limited Enforcement
These toggles do less than their label or description suggests. Don’t rely on them as a security or compliance control.
No effect
| Toggle | Finding |
|---|---|
| Email Verification | Nothing in the server or the client reads this toggle, and it does not require email verification. Whether verification is required comes from the registration and account approval settings. |
Admin menu only
| Toggle | Finding |
|---|---|
| Game History | Only removes the admin menu item. Hand history routes for admins and players stay available, and history keeps being recorded. |
| Game Scheduler | Only removes the admin menu item. The admin scheduler routes remain available, and the scheduler’s own configuration decides whether it runs. |
Partial
| Toggle | Not covered |
|---|---|
| Two-Factor Auth | The description says it enables user 2FA, but player 2FA routes and Telegram login don’t read it. It controls only admin login. While it is off, which is the default, admin login does not ask for a 2FA code, even from an admin who has enrolled. |
| Coupons | POST /api/v1/cashier/redeem-coupon doesn’t check it, so players can still redeem coupons while it is off. |
| KYC Verification | The player /api/v1/cashier/verification routes and KYC-tier withdrawal limits don’t check it. |
| Fraud Alerts | Only the admin routes check it. Fraud detection code doesn’t read it. |
| AML Reviews | Only the admin routes check it. |
| Chargebacks | Only the admin routes check it. |
| Tournaments | Admin /api/v1/admin/tournaments routes don’t check it. |
| Private Games | Admin private table routes don’t check it. |
| Affiliates | Admin affiliate fraud routes don’t check it. |
| Developer API | Admin developer routes under /api/v1/admin don’t check it. |
| Registration | Telegram auto-provisioning doesn’t check it. See Telegram Mini App Authentication. |
Maintenance Mode
When Maintenance Mode is on:
- These paths stay available:
/health,/api/v1/health,/metrics,/api/v1/analytics,/api/v1/admin,/api/v1/auth, and/api/v1/config. - Other requests after that point return 503 with
maintenance: true. This includes/api/v1/webhooksand/api/v1/plugins, so payment webhooks are refused during maintenance. - New WebSocket connections from non-admins receive a
MAINTENANCEerror and are disconnected. - A push notification is sent when the toggle is turned on.
The REST check caches the setting for up to 10 seconds, so a change may take that long to apply.
Admin REST calls outside the paths above, such as the lobby, also receive 503. The admin bypass in this check depends on a user that hasn’t been authenticated yet at that point in the request.
Dependencies Between Toggles
The server doesn’t change one toggle because of another. Turning one off won’t update the others, but these features do interact:
| Feature | Also needs | Why |
|---|---|---|
| Coupon redemption by players | Cashier | The route lives under /api/v1/cashier |
| Player KYC document upload | Cashier | The route lives under /api/v1/cashier |
| Telegram Stars and other deposits | Cashier | Deposits are requested through /api/v1/cashier |
| Chat | Enable Chat in the game settings | Both this toggle and the game setting must be on |
| Real-money tables | Real Money | Checked when an admin or player creates the table |
| Play-money tables | Virtual Chips | Checked when an admin or player creates the table |
| Private tables | Private Games, plus Real Money or Virtual Chips | The chosen mode is checked at creation |
| Tournament tables | Tournaments | Checked when an admin creates the table |
| Ticket options in bonus, coupon, and balance adjustment forms | Tournaments | Client options are filtered |
| Currency options in bonus, coupon, and balance adjustment forms | Real Money, Virtual Chips | Client options are filtered |
| Sanctions Checks | KYC Verification | Shares this toggle |
| Fraud Cases | Fraud Alerts | Shares this toggle |
Bots also have a server-level switch. Setting the FEATURE_BOTS environment variable to false stops bots from playing even when the Bots toggle is on.
Plan Restrictions
The Plan column shows the lowest plan that includes each toggle: Starter, Pro, or Enterprise. Enforcement uses the signed feature list from your license, and the plan names are for display.
- Locked toggles: On the Features tab, a toggle outside your plan shows a lock icon and Available on {{plan}} plan, and its switch is disabled.
- Enabling: Enabling a locked feature through the API returns
FEATURE_TIER_RESTRICTED(403). Importing a settings backup with a locked feature enabled fails in the same way. - Downgrades: When a verified license change removes a feature, it is turned off automatically and connected clients are told.
- Gated routes: Routes using the standard check test the plan first, then the toggle.
- No verified feature list: In production, no feature is allowed by plan until the license supplies a signed list.
See License & Updates.
API Endpoints
| Method | Path | Permission | Description |
|---|---|---|---|
GET | /api/v1/config/features | Public | Current toggle values |
GET | /api/v1/admin/general/features | settings:view | Toggles with plan information |
GET | /api/v1/admin/general/features/keys | Admin | All toggle keys |
GET | /api/v1/admin/general/features/:feature | Admin | One toggle’s value |
PATCH | /api/v1/admin/general/features | settings:edit | Update several toggles |
POST | /api/v1/admin/general/features/:feature/enable | settings:edit | Enable a toggle |
POST | /api/v1/admin/general/features/:feature/disable | settings:edit | Disable a toggle |
POST | /api/v1/admin/general/features/:feature/toggle | settings:edit | Flip a toggle |
An unknown key returns INVALID_FEATURE (400).
Related
- Settings — platform settings
- License & Updates — plans and license status
- Plugin Management — plugin-provided features