Sandbox Environment

Test Your Integration

Our sandbox environment mirrors production exactly. Use test credentials to validate your integration with predefined scenarios before going live.

Sandbox Credentials

Test API Keys

Use these keys in your sandbox environment. They will not work in production.

Sandbox API Key
sf_sandbox_pk_test_51abc2def3ghi4jkl5mno6pqr
Sandbox Secret Key
sf_sandbox_sk_test_7stu8vwx9yza0bcd1efg2hij
Sandbox Base URL
https://sandbox-api.slotforge.io/v1

Sandbox Limitations

  • -- Sandbox keys are rate-limited to 100 requests/minute
  • -- Game sessions expire after 30 minutes of inactivity
  • -- No real money transactions are processed
  • -- Jackpot pools are reset daily at 00:00 UTC

Test Scenarios

Use specific bet amounts to trigger deterministic outcomes in the sandbox. This allows you to test all code paths in your integration.

Bet AmountOutcomeDescription
$1.00Regular win (2x-5x)Standard winning spin with a moderate payout between 2x and 5x the bet amount.
$2.00Big win (10x+)Triggers a big win animation with a payout of 10x or more the bet amount.
$3.00Free spins triggerGuaranteed scatter landing that triggers the free spins bonus feature.
$4.00Jackpot winTriggers the jackpot feature for games that support progressive jackpots.
$5.00No win (loss)Guaranteed non-winning spin for testing loss handling and balance updates.
$10.00Insufficient funds errorSimulates an insufficient funds response from the wallet callback.
$0.01Minimum bet errorReturns a minimum bet validation error (below game minimum).
$999.00Maximum bet errorReturns a maximum bet validation error (above game maximum).

Sample API Calls & Responses

Launch Game Session

POST/api/v1/games/launch
Request
{
  "gameId": "pharaohs-fortune-megaways",
  "playerId": "test_player_001",
  "currency": "EUR",
  "language": "en",
  "returnUrl": "https://your-casino.com/lobby"
}
Response (200 OK)
{
  "sessionId": "sess_abc123def456",
  "gameUrl": "https://sandbox.slotforge.io/play/sess_abc123def456",
  "expiresAt": "2024-12-01T12:00:00Z",
  "game": {
    "id": "pharaohs-fortune-megaways",
    "name": "Pharaoh's Fortune Megaways",
    "rtp": 96.48
  }
}

Wallet Bet Callback

POSTYOUR_WALLET_URL/callback
Request
{
  "action": "bet",
  "playerId": "test_player_001",
  "amount": 1.00,
  "currency": "EUR",
  "roundId": "round_789xyz",
  "gameId": "pharaohs-fortune-megaways",
  "sessionId": "sess_abc123def456",
  "timestamp": "2024-12-01T10:30:00Z"
}
Response (200 OK)
{
  "balance": 999.00,
  "transactionId": "txn_your_unique_id"
}

Wallet Win Callback

POSTYOUR_WALLET_URL/callback
Request
{
  "action": "win",
  "playerId": "test_player_001",
  "amount": 5.50,
  "currency": "EUR",
  "roundId": "round_789xyz",
  "gameId": "pharaohs-fortune-megaways",
  "sessionId": "sess_abc123def456",
  "timestamp": "2024-12-01T10:30:01Z"
}
Response (200 OK)
{
  "balance": 1004.50,
  "transactionId": "txn_your_unique_id_2"
}

Get Game List

GET/api/v1/games
Request
// No request body needed
// Optional query params: ?category=megaways&status=active
Response (200 OK)
{
  "games": [
    {
      "id": "pharaohs-fortune-megaways",
      "name": "Pharaoh's Fortune Megaways",
      "category": "megaways",
      "rtp": 96.48,
      "volatility": "high",
      "status": "active",
      "thumbnail": "https://cdn.slotforge.io/thumbs/pharaohs.jpg"
    }
  ],
  "total": 50,
  "page": 1,
  "perPage": 20
}

Integration Testing Checklist

Game launch returns valid session URL
Bet callback deducts player balance correctly
Win callback credits player balance correctly
Round cancellation (rollback) restores balance
Free spin rounds handle zero-cost bets
Jackpot win callback processes large amounts
Insufficient funds returns proper error
Session expiry is handled gracefully
Concurrent requests are idempotent (X-Request-ID)
Webhook signature validation works
Error responses follow expected format
Game loads correctly on mobile devices