Build on MGi Infrastructure
Your game inherits provable fairness, execution guarantees, and public verification. Focus on the experience — we handle the trust.
Getting Started
Define Your Game
Create your game mechanics in an OpenRNG schema. Define rules, variants, and probability models.
Register Your Variant
Submit your variant to the OpenRNG schema registry. Get a unique identifier for your game.
Build Your Client
Implement your game client with any game engine or framework. Connect to Gamcore for execution.
Integrate Identity
Use Gamdock for player sessions. One wallet connection, frictionless gameplay.
Go Live
Your game automatically feeds Gamscan for transparency. Optional OpenBankroll for house capital.
SDKs & Libraries
Core randomness and game mechanics library. Shuffle, draw, seed management, proofs.
Player identity and session management. Wallet connection, ephemeral sessions, signing.
Game client connector. WebSocket real-time, state management, action submission.
Gamscan API client. Fetch rounds, replay verification, player history.
Supported Chains
Beta deployment, fast commits, low fees
Mainnet proof anchoring, maximum security
L2 scaling, low cost operations
Coinbase ecosystem, growing adoption
Same game on Solana can be verified with same logic as Ethereum. Cross-chain analytics and fairness audits.
Quick Example
import { Gamdock } from '@mgi/gamdock';
import { OpenRNG, loadVariant, createSeed, shuffle } from '@mgi/openrng';
import { GamcoreClient } from '@mgi/gamcore-client';
// 1. Initialize player session
const gamdock = new Gamdock({ appId: 'your-app-id' });
const session = await gamdock.connect(walletAdapter);
// 2. Connect to game execution
const gamcore = new GamcoreClient({
endpoint: 'wss://gamcore.mgi.io',
session
});
// 3. Join a table
await gamcore.joinTable('blackjack-american', tableId);
// 4. Place a bet (Gamdock handles signing)
await gamcore.placeBet({ amount: 100 });
// 5. Receive real-time game updates
gamcore.on('state', (state) => {
renderGame(state);
});
// 6. Player actions
await gamcore.action('hit');
await gamcore.action('stand');
// Round transcript automatically logged to Gamscan
// Proofs automatically anchored via OpenRNGIntegration Patterns
Full Stack
Use all five solutions for complete infrastructure. Best for new games that want maximum trust guarantees.
Execution Only
Use Gamcore + OpenRNG for authoritative execution. Bring your own identity and capital systems.
Randomness Only
Use OpenRNG standalone for provable randomness. Any game, any platform, any chain.
Transparency Layer
Add Gamscan to existing games for public verification. Retrofit trust to legacy systems.
Ready to build?
Explore the ecosystem or get in touch for integration support.