Skip to main content
PlaySmart uses two levels of configuration: app-level settings that apply globally to every player and game, and per-game settings that control individual game behavior. Understanding both levels helps you know which knobs to turn when you want to change monetization, maintenance windows, or gameplay reward rules.

App-level settings

PlaySmart’s global app settings act as a control panel for the entire platform. These fields are returned by GET /v1/app-settings and affect all players and games:
Setting is_live to false affects every player and every game simultaneously. Use this for platform-wide maintenance only.
Additional settings are managed by your deployment configuration and the active conversion setting, including:
  • minimum_withdrawal_amount — minimum USD balance required to request a withdrawal
  • withdraw_cooldown_hours — hours a player must wait between withdrawal requests
  • conversion_interval_hours — how often the coin-to-USD conversion job runs per user
  • ads_enabled — global flag to enable or disable ad serving across all games

Per-game configuration

Each game has its own configuration controlling reward behaviour and availability.

Game fields

Reward configuration fields (games_configs)

Each game has exactly one linked config document:

Game modes

The game_mode field accepts one of three values that describe the gameplay structure:

level_based

Players progress through discrete levels. Coin rewards are most naturally tied to LevelCompleted events.

endless

There are no distinct levels — play continues until the player fails. The event_trigger path suits this mode.

hybrid

The game has both level progression and endless/score-based elements. Both trigger paths can be enabled simultaneously.

Maintenance mode

A game can enter maintenance state from two independent sources:
  1. App-level: is_live is false on the app settings document — every game returns maintenance: true.
  2. Game-level: is_active is false on the game document — only that specific game returns maintenance: true.
When a game is in maintenance state, the client should display a maintenance screen and prevent the player from interacting with economy features for that game.

User game progress

PlaySmart automatically tracks per-player, per-game statistics server-side. You do not need to manage these fields yourself — they are updated as events are ingested.
Each user_game_progress document is unique per (user_id, game_id) pair. PlaySmart creates it automatically on the player’s first interaction with a game.