App-level settings
PlaySmart’s global app settings act as a control panel for the entire platform. These fields are returned byGET /v1/app-settings and affect all players and games:
Additional settings are managed by your deployment configuration and the active conversion setting, including:
minimum_withdrawal_amount— minimum USD balance required to request a withdrawalwithdraw_cooldown_hours— hours a player must wait between withdrawal requestsconversion_interval_hours— how often the coin-to-USD conversion job runs per userads_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
Thegame_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:- App-level:
is_liveisfalseon the app settings document — every game returnsmaintenance: true. - Game-level:
is_activeisfalseon the game document — only that specific game returnsmaintenance: true.
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.