Skip to content

Custom Currencies

By default, operators can use standard global currencies (e.g. USD, EUR, USDT, USDC) that are available in Beexar. If your platform uses custom tokens or non-standard currencies, you can add them as custom currencies in the backoffice.

Custom currencies use the CUSTOM_* prefix internally (e.g. CUSTOM_GOLD, CUSTOM_SHITCOIN), but are displayed to players without the prefix.


Navigate to Operators → select an operator → Currencies tab. (The tab requires an active custom_currencies subscription.)

  1. Click Add Currency

  2. Fill in the form:

    Field Required Description Example
    Code Yes Currency identifier. Will be prefixed with CUSTOM_ automatically GOLD → stored as CUSTOM_GOLD
    Name Yes Display name for the currency Gold Coins
    Decimals Yes Number of decimal places (0–16) 2 for cents, 0 for whole tokens, 8 for crypto
  3. Click Save

Rule Details
Format Uppercase letters, digits, and underscores
Raw code length 1–25 characters (what you enter, e.g. GOLD)
Full code length 8–32 characters (with CUSTOM_ prefix, e.g. CUSTOM_GOLD)
Full code pattern ^[A-Z][A-Z0-9_]{2,31}$ — same regex for all currencies in the system
Prefix CUSTOM_ is added automatically — don’t include it in the code field
Uniqueness Must be unique per operator
You Enter Stored As Displayed to Player
GOLD CUSTOM_GOLD GOLD
SHITCOIN CUSTOM_SHITCOIN SHITCOIN
VIP_TOKEN CUSTOM_VIP_TOKEN VIP_TOKEN

The decimals field controls how monetary amounts are formatted and displayed:

Decimals Example Amount Use Case
0 100 Whole tokens (coins, gems)
2 100.50 Fiat-like currencies (USD, EUR)
8 0.00001234 Cryptocurrency-like tokens
16 0.0000000000000001 Maximum supported precision

The decimals value you configure is automatically used across the entire platform — from session creation through game logic to the player-facing UI. All monetary amounts are formatted according to the currency’s decimal precision.


To remove a custom currency:

  1. Find the currency in the Currencies tab
  2. Click the Deactivate button
  3. Confirm the action

When launching a game with a custom currency, use the full CUSTOM_* name:

Terminal window
BODY='{"casino_id":"your-slug","game":"dice","account":{"id":"player_1","currency":"CUSTOM_GOLD"}}'
SIGNATURE=$(echo -n "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')
curl -X POST https://gateway.beexar.com/api/v1/softswiss/launcher/real \
-H "Content-Type: application/json" \
-H "X-REQUEST-SIGN: $SIGNATURE" \
-d "$BODY"

Beexar sends the full CUSTOM_* currency code in wallet callbacks:

{
"account_id": "player_1",
"currency": "CUSTOM_GOLD",
"game_id": "dice",
"round_id": "550e8400-e29b-41d4-a716-446655440000",
"finished": true,
"transactions": [
{ "id_provider": "tx_1", "type": "bet", "amount": "100" },
{ "id_provider": "tx_2", "type": "win", "amount": "195" }
]
}

When a game session is launched, Beexar validates that the requested currency is available for the operator:

  1. Global currencies (USD, EUR, USDT, USDC, etc.) are always available to every operator
  2. Custom currencies (CUSTOM_*) must be added to the operator and require an active custom_currencies subscription
  3. If the currency is not configured, the launch returns an error; if it is a custom currency but the subscription is inactive, the launch returns 403 FEATURE_SUBSCRIPTION_REQUIRED

This ensures players cannot launch games with currencies that the operator hasn’t configured or paid for.


The Games List API (GET /api/v1/operator/games) returns available currencies for each game. The currencies are determined by the game’s owner operator:

  • Global games (available to all operators) — show global currencies
  • Operator-specific games — show global currencies plus the owner operator’s custom currencies

This allows game aggregators to display which currencies each game supports.