GH GambleHub

Bônus-abuse e proteção financeira

1) O que é bônus-abuse e por que é um problema financeiro

Bónus-abuse - uso focado de bônus/promoções para extrair benefícios garantidos sem risco equivalente de jogo ou contornar regras. Consequências:
  • Perdas diretas: valor do bónus, free spins, promoções-fees/FX, CB/Refund.
  • Distorção de métricas: AR/MAU exagerado, falso uplift' s.
  • Riscos de pagamento: «carrossel» depozit→vyvod, chargeback-farming.
  • Riscos de licenciamento: violações RG/KYC/AML, misleading promoções.

2) Taxonomia de abuso (pattern)

1. Stacking - vários bónus por pessoa/lar/dispositivo/token de pagamento.
2. Net-deposit loops - depósito por bônus → taxas mínimas → retirada ou charjback.
3. Hedging/Arbitrage - apostas em mercados/jogos interligados para «curto-circuito» de risco.
4. High-RTP cherry-picking é apenas um jogo de times de alta contribuição para WR.
5. Method arbitrage é um método barato de depósito → corredor de saída caro/rápido.
6. Arbitragem FX - Especulação sobre a diferença cambial entre o depósito e a conclusão.
7. Multi-accounting - clones que reutilizam dispositivos/redes/meios de pagamento.
8. Chargeback farming - jogo de bônus, depois o depósito reembolsado através de disputa/charjback.
9. KYC-evasion - contornando o SoF/SoW, trocando o país (VPN/Proxy/SIM).


3) Proteção financeira (policy core)

ND (Net Deposits) -gate: participação/pagamento em 'ND ≥ 0' (ou limiar 'ND ≥ pois').
Same-method/Return-to-nature: retirada para o valor de ND - apenas para a fonte de depósito.
Payout-locks: proibição/restrição de saída com bônus ativo antes de WR e verificação de violações.
WR & Nature%: Regras transparentes de suporte (BÓNUS-ONLY ou BÓNUS + DEPOSIT) e peso por categoria de jogo.
Max bet para WR: limite de total ou participação do bónus (por exemplo, « 5 EUR» ou «10% de bónus»).
One-per constraints: по person/household/device/payment_token.
Game/risk exclusions: proibição de «compra de frispins», jackpots, títulos RTP anormalmente altos.
Velocity caps: limites de taxa de depósito/conclusão/deslizamento falhado.
Rolling reserve/holdbacks: um tampão de seguros em parceiros/submercados e para jogadores high-risk.
Política FX: fixar reference rate em um bônus grant; controlar slippage no payout.


4) Sinais de risco (de pagamento e comportamento)

Payment: BIN-geo ≠ KYC-país, frequentes soft-declins, novos tokens consecutivos, cartão/carteira, conhecidos emissores de alto risco.
Device/Network: device-graph coincide com outras contas compartilhadas IP/ASN/VPN/hosting.
Behavior: apenas jogos high-contreb, saída instantânea após um depósito de min, repetição de violações WR.
Geo: KYC≠IP≠SIM, velocidade geo anormal.
Docs: KYC/POA/SoF suspeitos (baixa qualidade, modelos, reuse).
FX: depósitos em moeda «fraca», conclusões em «forte», spread temporariamente elevado.

Controle de risco: modelo de linha/GBM com fichas por bloco (Payment/Device/Behavior/Geo/FX), calibração de liminares para step-up (KYC/Liveness/SoF) e deny.


5) Arquitetura de regras (policy engine)

Idempotidade: uma bolsa descartável para payment _ token/household/device.
Regras «antes do depósito»: elisibilidade por GEO/KYC/ND/one-per.
Regras pós-depósito: bolsa, max bet, WR, game-mix, temporizador.
As regras são same-method, corte ND, SoF/SoW step-up, hold/deny.
Auditoria: versão de regras, razões, evidence (para recursos e regulador).


6) Incidente playbooks

1. Abuse wave (stacking): Bolsa freeze imediata desta campanha, recontagem WR, SoF seletivo, branding de tokens/households.
2. Chargeback surge: incluir 3DS-step-up, endurecer same-method, aumentar hold para conclusões e reserva PSP.
3. Arbitragem FX: limitar temporariamente as conclusões do câmbio cruzado e introduzir o spread-guard.
4. Method arbitrage: fechar corredores «caros» para ND-negativos, incluir o retorno apenas para a origem.


7) Direito, RG e privacidade

Terms & Promo T&C: versão curta em checkout, completa no perfil; localizado.
RG: self-exclude/limites - bónus não disponíveis; o cooling-off destrói as bolsas ativas.
KYC/SoF: Minimização de dados, consentimento explícito, política de retenção, DPA.
Sanções/licenças: listas brancas de países, proibições de tipos de promo em jurisdições específicas.


8) Dados e modelo (mínimo)

sql
-- Игрок и атрибуты риска risk.player_signals (
user_id PK, risk_score NUMERIC, nd_total NUMERIC, nd_30d NUMERIC, nd_7d NUMERIC,
kyc_level TEXT, geo_ip TEXT, geo_kyc TEXT, geo_sim TEXT,
device_hash TEXT, household_id TEXT, payment_token_last TEXT,
fx_profile JSONB, updated_at TIMESTAMP
);

-- Гранты бонусов и прогресс/нарушения bonus.grants (
grant_id PK, promo_id, user_id, deposit_tx_id, currency,
bonus_amount NUMERIC, granted_at TIMESTAMP, expires_at TIMESTAMP,
status TEXT -- ACTIVE    FORFEITED    COMPLETED    EXPIRED    FROZEN
);
bonus.wr_progress (
grant_id, user_id,
turnover_slots NUMERIC, turnover_tables NUMERIC, turnover_live NUMERIC,
turnover_total NUMERIC, required_total NUMERIC, updated_at TIMESTAMP
);
bonus.violations (
id PK, grant_id, user_id, type TEXT, severity TEXT, details JSONB, occurred_at TIMESTAMP
);

-- Нетто-депозиты и разрез по методам finance.net_deposits (
user_id, currency, nd_total NUMERIC, nd_by_method JSONB, updated_at TIMESTAMP
);

-- Выводы и причины hold/deny payout.requests (
payout_id PK, user_id, method TEXT, currency TEXT, amount NUMERIC,
nd_snapshot NUMERIC, same_method_ok BOOLEAN, risk_score NUMERIC,
status TEXT, reason_code TEXT, created_at TIMESTAMP, decided_at TIMESTAMP
);

9) Regras pseudo-DSL

yaml policy: "bonus_abuse_v4"
eligibility:
geo_whitelist: [DE, AT, FI]
kyc_min: L1 nd_min: 0 one_per: [person, household, device, payment_token]
deny_if:
- sanctions_hit == true
- risk_score >= 0.85 grant:
max_bet_amount:
EUR: 5 wagering:
base: BONUS_ONLY multiplier: 30 contrib:
slots: 100 tables: 25 live: 10 game_exclusions: [JACKPOT, BUY_BONUS]
controls:
payout_lock: UNTIL_WR_DONE same_method: true allow_nd_withdrawal: true fx_spread_guard_bps: 80 method_arbitrage_block: true escalations:
- if: nd_7d < 0 then: "deny_new_bonus"
- if: device_household_overlap >= 2 then: "manual_review"
- if: cb_rate_30d > 0.8% then: "hold_payout_48h"
audience:
exclude_segments: ["self_excluded", "high_risk_bin"]

10) Modelos SQL

10. 1. ND-gate e same-method na saída

sql
SELECT r.payout_id,
(nd.nd_total >= 0) AS nd_non_negative,
(t.method = r.method AND t.payment_token = r.payment_token) AS same_method_ok
FROM payout.requests r
JOIN finance.net_deposits nd ON nd.user_id = r.user_id AND nd.currency = r.currency
JOIN dw.transactions_flat t ON t.tx_id = (
SELECT deposit_tx_id FROM bonus.grants
WHERE user_id = r.user_id AND status IN ('ACTIVE','COMPLETED')
ORDER BY granted_at DESC LIMIT 1
)
WHERE r.status='PENDING' AND r.created_at BETWEEN:from AND:to;

10. 2. Detect household/device overlap

sql
SELECT suspect.user_id, base.user_id AS overlap_with, suspect.device_hash, suspect.household_id
FROM risk.player_signals suspect
JOIN risk.player_signals base
ON suspect.user_id <> base.user_id
AND (suspect.device_hash = base.device_hash OR suspect.household_id = base.household_id)
WHERE suspect.updated_at > now() - INTERVAL '30 days';

10. 3. Max-bet e game-mix violações

sql
SELECT b.user_id, b.grant_id,
SUM(CASE WHEN b.amount > l.max_bet_amount THEN 1 ELSE 0 END) AS maxbet_viol,
100.0 SUM(CASE WHEN game_category='slots' THEN b.stake ELSE 0 END)
/ NULLIF(SUM(b.stake),0) AS slots_share_pct
FROM dw.bets b
JOIN bonus.session_limits l USING (grant_id, user_id)
WHERE b.placed_at BETWEEN:from AND:to
GROUP BY 1,2
HAVING SUM(CASE WHEN b.amount > l.max_bet_amount THEN 1 ELSE 0 END) > 0
OR 100.0 SUM(CASE WHEN game_category='slots' THEN b.stake ELSE 0 END)
/ NULLIF(SUM(b.stake),0) >:one_game_share_max;

10. 4. Monitoramento Chargeback-post-bônus

sql
SELECT method,
10000.0 SUM(is_chargeback::int) / NULLIF(COUNT(),0) AS cb_bps_14d
FROM risk.outcomes o
JOIN dw.transactions_flat t USING (tx_id)
WHERE o.occurred_at BETWEEN (CURRENT_DATE - INTERVAL '14 days') AND CURRENT_DATE
AND EXISTS (SELECT 1 FROM bonus.grants g WHERE g.deposit_tx_id=t.tx_id)
GROUP BY method
ORDER BY cb_bps_14d DESC;

10. 5. FX-slippage em promo

sql
SELECT g.promo_id,
SUM(fx_effective - fx_reference) 10000.0 / NULLIF(SUM(amount_reporting),0) AS fx_slippage_bps
FROM dw.transactions_flat t
JOIN bonus.grants g ON g.deposit_tx_id=t.tx_id
WHERE t.settled_at BETWEEN:from AND:to
GROUP BY 1;

11) KPI e dashboards

Abuse Rate: proporção de bolsas com irregularidades/investigação.
WR Completion % / Time-to-WR (p50/p95).
ND Gate Hit% e ND <0 entre os participantes.
Chargeback After Bónus (bps) por métodos/PSP/geo.
Payout Hold Share e soluções TAT médio.
FX Slippage (bps) por promoção/moeda.
Promo Liability (passivo) e Breakage%.
Household/Device Overlap Index.


12) Alertas e liminares

Abuse Spike: рост `violations/100 grants` > X d/d.
CB Surfe Post-Bónus: cb _ bps _ 14d pelo método/geo> limiar.
ND Negative Share ↑: ND <0 entre os pedidos de retirada> Y%.
Max-Bet Burst: aumento de violações> liminares de marca/timble.
FX Anataly: slippage _ bps> limite de par de moeda.
Household Bloom é um novo grande cluster de dispositivos/endereços.
Policy Drift: bolsas sem uma versão fixada de regras/concordâncias.


13) Pattern ux (sem «queimar» a conversão)

Cartão curto de condições na tela de depósito (min dep, WR, max bet, same-method).
WR-Progress Bar + deadline, contribuição por categoria.
Explicação de ND/conclusão: «Até o valor dos depósitos netos, apenas para a origem».
Suaves step-ups: soF/selfie por sinal; prazos transparentes.
Apelos, botão de contestação com folha de cheque.


14) A/B testes de bloqueio

O que testar: 'nd _ min', 'max _ bet', 'WR multiplier/base', 'one _ per', 'fx _ guard'.
Guardrails: CBR bps, Abuse Rate, AR/Take-Rate, Payout TAT.
Metodologia: Rateio GEO/BIN/Método, CUPED Pré-Comportamento, Liga de ST/Conclusão.


15) Folha de cheque de implementação

  • Modelo ND e corte de métodos; same-method/return-to-source в payout.
  • Promo DSL + validador de regras, versões e auditorias.
  • Max bet, WR, contrib%, exclusions; limites de velocity.
  • Device/household graph; perfis BIN-geo/FX.
  • Risco-mapeamento + step-ups (KYC/SoF) e limiar deny.
  • Hold/Reserve mecânicos em saques e PSP.
  • Dashboards KPI e alertas; playbooks incidentes.
  • Textos legais (local), gates RG, consentimento e retenções.
  • Processo de apelações e decisões manuais com a SLA.
  • A/B com guardas rigorosas e dados-freezer.

Currículos

Proteção eficaz contra bónus-abuse é um sistema, não um conjunto de proibições: controle ND e same-method em pagamentos, WR/max-bet rigoroso e contreb%, sinais Payment/Device/Behavior/FX, risco-escrutínio com step-ups, UX transparente e legal pureza. Tal pilha reduz as perdas diretas, estabiliza o P&L e mantém uma experiência honesta para os jogadores de boa fé - sem atritos ou «falsos efeitos».

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.