Integrate 148 studios and 18,000+ slots, live tables, crash and sports titles through a single seamless-wallet API — with signed webhooks, free spins, multi-currency reporting and a dashboard your team will actually use.
We handle the integrations, the money-safety plumbing and the reporting. You keep the players, the wallet and the brand.
Player funds never leave your system. One signed callback per round with bet and win together, idempotent by design.
Slots, live casino, crash, fish, table, card, sports and mini games behind a single REST API and one catalogue export.
Create an API key, set your callback URL, call /game/launch. Players are provisioned automatically on first launch.
Exact decimal amounts, immutable ledger, database-level idempotency, per-round audit trail and daily reconciliation.
Grant free-round campaigns per player and game with one call; wins flow through the same wallet callback.
Settled rounds, new players, free spins and credit changes delivered from an outbox with signed retries.
Low balance, wallet outages and daily summaries in your language — English, Türkçe, 中文, Português, Español, Русский.
Bets, wins and GGR by provider, currency, game, player or day. CSV export. Merchant-scoped, always.
Fiat and USDT, from USD and EUR to INR, IDR, CNY, JPY, LBP and BRL. Game UI in the player's language.
No SDKs, no provider-specific quirks. Plain HTTPS + JSON, HMAC-signed, documented in six languages.
Sign up, pick your base currency, generate an API key. Your merchant prefix keeps every player isolated.
One HTTPS endpoint that answers balance and bet requests. Reference implementations for Node, PHP and Python are in the docs.
GET /api/v1/catalog returns providers with logos, categories with icons and every game with a thumbnail — ready for your lobby.
POST /api/v1/game/launch with a username and game_uid. Open the URL in an iframe. Watch rounds land in your dashboard live.
// 1. launch a game for a player
const res = await fetch('https://api.rivoapi.com/api/v1/game/launch', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: 'player001',
game_uid: '1189baca156e1bbbecc3b26651a63565',
currency: 'USD',
lang: 'en'
})
});
const { data } = await res.json();
iframe.src = data.game_launch_url;
// 2. your wallet callback (one call per round)
// POST /wallet { action: "bet", bet_amount: "1.00", win_amount: "2.00", ... }
// → { error: 0, balance: 501.00 }Categories, provider logos and game artwork are delivered by the catalogue API so your lobby is always in sync.
Every player, round and report is scoped server-side to your account. Prefixes keep upstream identities unique.
Rounds appear in your dashboard the moment they settle. Callback log shows every request and your reply.
Immutable records keyed by upstream identifiers, daily reconciliation against studio reports, adjustments never edits.
No. This is a seamless-wallet integration: the player's balance stays in your system and we call your wallet callback for every round. Nothing is transferred to a provider wallet.
Create an account, test every title with the built-in demo wallet, then go live when your callback is ready.