Integre em minutos
Embeda nossos jogos no seu site com uma única tag <iframe>. Sem SDK, sem build, sem dor de cabeça.
Wizard de integração
~3 minValide seu domínio, gere um token demo e confirme o iframe — tudo aqui, sem sair da página.
Sem https://. Ex: meusite.com, app.meusite.com ou localhost.
Quick start (60 segundos)
Cole esta tag no seu HTML. Pronto — o jogo carrega.
<iframe
src="https://i-gaming.co/games/gold-tiger-slot?token=SEU_TOKEN&player=ID_DO_JOGADOR&lang=pt¤cy=BRL"
width="100%"
height="720"
allow="autoplay; fullscreen"
style="border:0; border-radius:12px;"
></iframe>Passo a passo
Solicite seu token de integração
Fale com o time pelo formulário em /operators ou use o token demo para testar agora.
Você receberá um token no formato mt_xxxxxxxxxxxx com permissões e domínios autorizados (whitelist).
Cadastre os domínios autorizados
Informe os domínios onde o iframe vai rodar (ex: meusite.com). Apenas esses domínios poderão embedar — protege contra clonagem.
{
"name": "Site Principal",
"allowed_domains": ["meusite.com", "staging.meusite.com"]
}Valide o token (opcional, recomendado)
Antes de renderizar, confirme se o token está ativo e quais domínios estão liberados:
curl https://i-gaming.co/api/public/v1/auth/introspect \
-H "X-Operator-Token: SEU_TOKEN"Use X-Operator-Token como header padrão. Authorization: Bearer e x-api-key também são aceitos, mas alguns CDNs/proxies removem o header Authorization em rotas públicas.
Embeda o iframe
Aponte o src para o jogo desejado passando o token e os parâmetros do jogador.
<iframe src="https://i-gaming.co/games/mergulho-ao-tesouro?token=SEU_TOKEN&player=USER123¤cy=BRL"
width="100%" height="720" allow="autoplay; fullscreen" style="border:0"></iframe>Acompanhe pelo painel
Em /operator você vê rodadas, apostas, liquidez e logs de segurança em tempo real.
Endpoints da API
Base URL: https://i-gaming.co/api/public/v1. Autenticação via header X-Operator-Token: <token> (recomendado). Também aceitamos x-api-key e Authorization: Bearer <token> — este último pode ser filtrado por CDNs/proxies em algumas redes.
/auth/verify/auth/introspect/operator/stats?days=30/round/current/tokens/tokens/tokens?id=Exemplo:
curl https://i-gaming.co/api/public/v1/stats?days=7 \
-H "X-Operator-Token: SEU_TOKEN"Parâmetros do iframe
URL: https://i-gaming.co/games/<slug>?...
| Param | Obrigatório | Descrição |
|---|---|---|
| token | sim | Token Bearer do operador. |
| player | sim | ID único do jogador no seu sistema. |
| currency | não | BRL · USD · EUR (default: BRL) |
| lang | não | pt · en · es (default: pt) |
| mode | não | real · demo (default: real) |
| return_url | não | URL de retorno ao fechar o jogo. |
Jogos disponíveis:
/games/gold-tiger-slot/games/money-money/games/mega-blocs/games/tower-treasure/games/brasil-bingo/games/fruta-explosiva/games/boom-mines/games/corrida-de-moto/games/piratas-mines/games/mergulho-ao-tesouro/games/india-rush/games/deuses-da-terra/games/dragao-imperial/games/farao-dourado/games/los-muertos/games/tropical-slot/games/favela-slot/games/caramelo-da-sorte/games/capivara-milionaria/games/boteco-da-sorteSegurança
- HTTPS + HSTS em todos os subdomínios.
- CSP
frame-ancestorsmontado dinamicamente a partir da sua whitelist — só os domínios cadastrados conseguem embedar. - Tokens hasheados (SHA-256). O segredo é exibido uma única vez na emissão.
- Auditoria de cada validação de token e tentativa de render bloqueada (operador, IP, motivo).
- Revogação imediata via API ou painel.
Proxy / CDN — configuração canônica
Todos os ambientes (produção + preview) e todos os 20 jogos devem seguir a mesma ordem de headers e allowlist de proxies para evitar divergência de IP, logs e rate-limit.
cf-connecting-ip— Cloudflaretrue-client-ip— Akamai / CF Enterprisex-real-ip— nginx internox-forwarded-for— primeiro entry
- Produção: somente Cloudflare (nuvem laranja)
- Preview: Lovable edge
- Bypass do CDN ⇒ 403 no origin
- Nenhum proxy externo sem revisão
ip_miss.Jogo responsável
A plataforma inclui um sistema opcional de avisos automáticos de jogo responsável, exibido por cima do iframe pelo próprio portal — sem alterar o código dos jogos. Cada operador habilita, desabilita e ajusta os limites em /operator → Config → Jogo Responsável.
Para cada gatilho o operador escolhe uma ação independente:
- Banner soft — aviso discreto sobreposto ao jogo, o jogador continua normalmente.
- Modal com confirmação — bloqueia até o jogador clicar em "continuar".
- Cooldown obrigatório — pausa o jogo por X minutos (configurável) antes de liberar.
Troubleshooting
Refused to display ... frame-ancestors. Adicione o domínio em /operator → Tokens./auth/introspect para confirmar o status.allowed_domains. Cadastre o domínio (sem https://).Os dois headers autenticam a mesma requisição. Use X-Operator-Token como padrão — alguns CDNs/proxies/WAFs (Cloudflare em regras corporativas, App Gateway, alguns balanceadores TLS) removem ou reescrevem o header Authorization em rotas públicas, o que faz cair em 401 missing_bearer mesmo com token válido.
Sinais no painel de alertas (Admin → Segurança → Alertas auth / Tendências auth):
missing_bearer_spikeativo e requisições recentes comheader_type = nonevindas do seu IP → seu proxy está engolindo oAuthorization. Migre paraX-Operator-Token.bearer_stripping_suspected— a razão da falha émissing_bearer, mas a mesma origem já enviouAuthorization: Bearerantes com sucesso. Confirmação de stripping intermediário — troque o header.token_invalid_spikecomheader_type = bearer→ o header chega, o problema é o token (expirado/rotacionado). Não muda paraX-Operator-Token— regenere o token.- Sem alertas ativos e integração funcionando → mantenha o header que já usa.
Como validar em 30s: chame /api/public/v1/auth/check com cada header e compare — se Authorization volta 401 e X-Operator-Token volta 200, é stripping garantido. O endpoint /api/public/v1/health/integration reporta o header_type detectado nas últimas requisições.