GH GambleHub

RubyPlay - Overview and Integration

Overview

RubyPlay is an HTML5 slot studio with a focus on series and "collecting" economies (symbol collection, multipliers, respin/hold-and-win). Notable lines include "Immortal Ways" and tiered jackpot titles. Clients are light, they start quickly in mobile WebViews. Typical integration: SSO → launch-URL, BET/WIN/JACKPOT wallet, JS bridge events for analytics/CRM/promo.

Who fits: operators/aggregators who need a showcase with "serial" content delivery, predictable exploitation, high rotation of releases and ready-made promotional hooks (missions, tournaments, drops).

Portfolio and user experience

Content and Mechanics

Video slots: 5 × 3/6 × N; lines/ways, cascades (on parts of games), xN multipliers, expanding/stacked/walking wilds.
Collect/Hold-and-Win/Respin: collect coins/tokens with fix prizes, repeat backs, mini/major/mega levels.
Serial features (e.g. Immortal Ways): additional columns/character tracks, enhanced collections and progressions.
Bonus modes: freespins with special symbols/upgrades of drums, pick-bonus, "ladders" of multipliers.
Buy Feature/Bonus Buy: Enabled by title and jurisdiction.
Jackpots: fixed/local/network - by connection configuration.

UX/UI

HTML5 client: fast FCP/TTI, economical assets, stable FPS on mobile.
Readable pay tables, visual progress counters/collections, round history.
L10n: multilingual/multicurrency, local number/date formats and RG messages.

Technology and performance

Client: Canvas/WebGL, lazy-load assets, sprite/audio compression, critical resource preload.
Delivery: CDN/edge caching, TTL managed, backup launch/CDN domains (failover).
Network: TLS 1. 2 +, HTTP/2 +, target latency to nearest PoP <150-200 ms.
Mobile: correct resume after folding, CPU/battery savings; resistance to short-term breaks.

Math, RTP and Limits

RTP pools: usually ≈96 %/ ≈94 %/ ≈92% (and other options) - selection at the build/catalog level for the market and contract.
Volatility: from low/medium (classic) to high (collect/hold-and-win/multipliers). Volatility/Hit Rate badges are recommended on display.
Limits: min/max rate, auto-spin limits, session timeouts and RG limits by jurisdiction.
Currencies: calculation in minor units (integer), correct rounding according to local norms.

Integration model (high-level)

1. The player → the front of the operator → SSO/JWT (short TTL).
2. Operator/Aggregator API ↔ RubyPlay API: create session, get 'launch _ url'.
3. Client (iFrame/new window) ↔ Game Server: game client + JS bridge (postMessage/SDK).
4. Wallet operator API: BET (auth-debit), WIN/PAYOUT (credit), JACKPOT_PAYOUT, rare adjustments.
5. BI/Reports: analytical events, round/transaction uploads, reconciliation.

Environmental requirements

Security: IP-allowlist S2S, request/response signing, key/secret rotation, strict CSP for iFrame domains.
Reliability: retrai with exponential pause, per player/session queues, key deadlock, sticky routing.
Compatibility: current Chrome/Edge/Safari/Firefox, iOS/Android WebView.

Create and start a session (pseudo-REST)

Request:

POST /api/v1/sessions
Authorization: Bearer <operator-key>
{
"player_id": "u_74251",
"currency": "EUR",
"locale": "ru-RU",
"game_id": "rubyplay_<slug>" ,//series/slot: ImmortalWays _, etc.
"return_url": "https://operator. example. com/casino/return",
"limits": { "bet_min_minor": 100, "bet_max_minor": 500000 },
"flags": { "buy_feature": false, "autoplay": true },
"tags": { "vip_level": 1, "aff_id": "AFF-821" }
}
Answer:

{
"session_id": "sess_b93f...",
"launch_url": "https://rp. example. com/launch? sess=sess_b93f...",
"expires_in": 3600
}

Client launch: 'launch _ url' in iFrame/window; heartbeat/reauth supported; events across the JS bridge (ACK/NACK).

Wallet API and idempotency

Main flows

BET (auth-debit): rate freeze/write-off → 'APPROVED/DECLINED' (+ balance/reason).
WIN/PAYOUT (credit): Credits winnings/jackpots → returns final balance.
ADJUST/REVOKE: exceptional adjustments with full audit trail.

Delivery Guarantees

Header'X-Idempotency-Key '(TTL ≥ 24 h), deadlock on the operator side.
Queues per player/session → guaranteed order; DLQ for conflicts.
Correlation 'round _ id '/' bet _ id '/' session _ id'.

Example of payment:

POST /wallet/payouts
Idempotency-Key: 12f0-...
{
"player_id": "u_74251",
"round_id": "r_2025_11_02_20_06_11",
"amount_minor": 167000,
"currency": "EUR",
"reason": "round_win"
}

JS Bridge and Gaming Events

Клиент → оператор: `GAME_INIT`, `SPIN/BET`, `WIN`, `FEATURE_TRIGGER`, `BONUS_START/END`, `COLLECT`, `RESPIN`, `JACKPOT_HIT`, `ERROR`.
Transport: 'postMessage '/SDK, ACK/NACK acknowledgements, strict' origin 'validation and/nonce signature.
Purpose: analytics, CRM triggers, campaign connection (free rounds/missions/tournaments/drops), dynamic banners.

Promo: freespins, missions, tournaments, jackpots

Free Rounds / Free Spins

Issuance via Provider/Promo API or synchronization with bonus engine.
Parameters: fix. bet/denom, number of spins, expiration date, 'game _ id'.
Accounting: winnings in real/bonus-balance; vager - according to operator/market rules.

Missions/Events

"Play N spins," "win ≥ X ×," "activate feature M times," "collect K characters" - events' MISSION _ PROGRESS '.

Tournaments/leaderboards

Metrics: sum of winnings, max-multiplier, number of spins/collections; event'TOURNAMENT _ SCORE '.

Jackpots/Prize-drops

Multi-tier (mini/major/mega), mystery/prize-drops; 'seed/cap'parameters, multicurrency constraints.
Separate collback 'JACKPOT _ PAYOUT' with idempotency and pool details.

Geo-configuration and compliance

Geo directory: including/excluding titles, choosing an RTP profile, disabling Buy Feature/risk games, age/regional restrictions.
Responsible game: self-exclusion/timeouts/limits, local RG banners and cookies.
Data/PII: minimization and pseudonymization of identifiers; log storage periods; export at the request of regulators.
Certification: use of certified builds for target jurisdictions; part of the features may be limited to the market.

Monitoring, Reporting and SLAs

Key Metrics

Those: uptime API/Launch/CDN, p95 wallet collabs, asset download speed, JS bridge error rate.
Product: 'Launch → First Spin', 'Spin → Bonus', ARP (B) U, hold, ROI campaigns (freespins/missions/tournaments/drops).
Finance: share of retrays/deduplications, anomalies in amounts, nightly discrepancies.

Export/Reconciliation

Hourly/daily offloads (CSV/JSON/S3) by round/transaction/bonus/jackpot.
Reconciliation in minor units by'round _ id/bet _ id/session _ id '; auto-alerts to duplicates/omissions/" dumb" collbacks.

SLO/SLA Benchmarks

API uptime ≥ 99. 95%, CDN assets ≥ 99. 9%; p95 collbecs <500 ms (intraregional).
MTTR - according to the incident plan; separate SLOs for prime time/mass campaigns.

Security

Transport: TLS 1. 2+, HSTS; strict CSP for the iFrame domain.
Access: JWT/OAuth2 (client), IP-allowlist/signature/mTLS (S2S) if necessary, rotation of secrets.
Data: prohibition of open PII in the logs; tokenization/hash 'player _ id'; encryption at rest/backup at the operator.
Anti-fraud: anomalies in the frequency of spins/bets/collect events, multiple sessions, suspicious ASN/VPN; quotas/throttling/block lists.

Scalability and fault tolerance

Edge cache: manifests/assets/localizations - managed by TTL, manual disability on releases.
Rate-limits: per player/session/API endpoint; protection against "storms" of events.

Graceful degradation: simplifying assets/effects, reducing the frequency of events, banner "technical work."

Failover: backup launch/CDN domains; re-issue token without losing context.

Checklists

For development

  • Generation/validation of SSO tokens (short TTL, clock-skew protection).
  • Wallet API: idempotent debit/credit, signature, queues, DLQ.
  • JS bridge/SDK: events, ACK/NACK, secure 'origin'.
  • Promo API: freespins/missions/tournaments/drops; vager accounting.
  • Export: CSV/JSON/S3; completeness of fields (minor units, round/bet/session).

To start

  • Geo-directory, RTP profiles, disabling prohibited features.
  • SLO monitoring (API/CDN/Wallet/JS) + alerts.
  • Nightly reconciliation + duplicate/skip alerts.
  • RG/cookie banners, local requirements.
  • Incident Plan/Status Page.

FAQ (brief)

Running in iFrame? Yes, through 'launch _ url' with consistent CSP/' X-Frame-Options'.
Is Buy Feature available? By title and market; is configured.
Are there network jackpots? By configuration; payments come to individual 'JACKPOT _ PAYOUT'.
How to connect freespins/tournaments? Through Promo/Provider API + analytics events.
How do I choose RTP? At the build/catalog level for a specific jurisdiction and contract.

Total

RubyPlay combines a serial approach to slot design and a "gathering" economy, which gives a sustainable showcase and convenient promo scenarios. Following the described patterns (SSO/launch-URL, idempotent Wallet API, JS bridge, promotional campaigns, strict geo-configuration, monitoring and reconciliation), the operator receives a predictable content economy, regulatory compliance and peak stability.

Contact

Get in Touch

Reach out with any questions or support needs.We are always ready to help!

Telegram
@Gamble_GC
Start Integration

Email is required. Telegram or WhatsApp — optional.

Your Name optional
Email optional
Subject optional
Message optional
Telegram optional
@
If you include Telegram — we will reply there as well, in addition to Email.
WhatsApp optional
Format: +country code and number (e.g., +380XXXXXXXXX).

By clicking this button, you agree to data processing.