Skip to content
For LLMsView as Markdown·

Data Contract: iGaming ​

Auto-generated by npx tsx scripts/runner/cli.ts generate-contract Last updated: 2026-10-09 Suppliers analysed: 30

The data contract lists every canonical field used across OneHazel's 30 iGaming supplier integrations. Providing all fields listed here ensures full compatibility with any supplier in the marketplace.

How to send this data ​

All fields are sent via the Operator Data API:

  • Player fields: POST /entities with entityType: "player"
  • Transaction fields: POST /entities/{id}/events with eventType: "transaction"
  • KYC fields: POST /entities/{id}/events with eventType: "kyc"
  • Compliance / Risk / Wallet: PUT /entities/{id}/state/{key}

Fields marked PII are encrypted at rest with AES-256-GCM and only decrypted on single-entity reads.

Player Fields ​

FieldTypeRequired ByPIIDescription
player.idstringNuvei, Paysafe, Skrill, Jumio +3 moreNoUnique player identifier
player.countrystringScaleo, Shufti ProNoPlayer country code
player.dateOfBirthstringOnfidoYesDate of birth (ISO 8601)
player.emailstringPaysafe, Skrill, Onfido, Sumsub +3 moreYesPlayer email address
player.firstNamestringPaysafe, Skrill, Onfido, OneSignalYesPlayer first name
player.languagestringPaysafe, Skrill, Betfair, Sumsub +1 moreNoPreferred language code
player.lastNamestringPaysafe, Skrill, OnfidoYesPlayer last name
player.phonestringSkrill, SumsubYesPlayer phone number

Transaction Fields ​

FieldTypeRequired ByPIIDescription
transaction.idstringNuvei, Shift4NoUnique transaction identifier
transaction.amountnumberNuvei, Paysafe, Skrill, NOWPayments +1 moreNoAmount in minor currency units (pence, cents)
transaction.currencystringNuvei, Paysafe, Skrill, Betfair +3 moreNoISO 4217 currency code
transaction.referencestringNuvei, Paysafe, Skrill, NOWPayments +1 moreNoProvider's reference / external ID

KYC / Verification Fields ​

FieldTypeRequired ByPIIDescription
kyc.playerIdstringOnfido, SumsubNoReference to player
kyc.documentTypestringOnfido, ReferOn, Sumsub, VeriffNopassport

Compliance Fields ​

FieldTypeRequired ByPIIDescription
compliance.playerIdstringComplyAdvantage, Shufti ProNoReference to player

Risk Fields ​

FieldTypeRequired ByPIIDescription
risk.scorenumberComplyAdvantageNoRisk score 0-100

Additional Canonical Fields ​

These fields are defined in the canonical model but are not directly extracted from any current supplier spec. They are populated by the operator's own data or derived by OneHazel during processing.

FieldTypePIIDescription
player.statusstringNoAccount status: active
player.jurisdictionstringNoRegulatory jurisdiction code (GB, MT, SE, ...)
player.registeredAtstringNoAccount creation timestamp
transaction.playerIdstringNoReference to player
transaction.typestringNodeposit
transaction.statusstringNopending
transaction.timestampstringNoTransaction timestamp
kyc.statusstringNopending
kyc.providerstringNoKYC provider name (Onfido, Jumio, Sumsub, ...)
kyc.completedAtstringNoVerification completion timestamp
kyc.expiresAtstringNoDocument expiry date
compliance.selfExcludedbooleanNoPlayer has self-excluded
compliance.exclusionSourcesarrayNoExclusion sources (GAMSTOP, CRUKS, ...)
compliance.depositLimitnumberNoActive deposit limit amount
compliance.sessionLimitnumberNoActive session time limit in minutes
compliance.coolingOffbooleanNoPlayer is in a cooling-off period
compliance.checkedAtstringNoLast compliance check timestamp
risk.playerIdstringNoReference to player
risk.levelstringNolow
risk.factorsarrayNoContributing risk factor strings
risk.providerstringNoRisk assessment provider (Mindway, GamCare, ...)
risk.assessedAtstringNoAssessment timestamp
wallet.playerIdstringNoReference to player
wallet.balancenumberNoCurrent real-money balance in minor currency units
wallet.bonusBalancenumberNoBonus balance in minor currency units
wallet.currencystringNoISO 4217 currency code
wallet.updatedAtstringNoLast balance update timestamp

Dashboard Fields ​

These fields are required by OneHazel analytics dashboards. All are a subset of the canonical model above.

FieldTypeUsed InDescription
player.idstringAll dashboardsPlayer identifier
player.statusstringPlayer KPIsAccount status for active/churn metrics
player.registeredAtstringPlayer KPIsRegistration date for cohort analysis
player.jurisdictionstringPlayer KPIsJurisdiction for regional breakdown
transaction.amountnumberRevenue dashboardTransaction amount (minor units)
transaction.currencystringRevenue dashboardCurrency for multi-currency aggregation
transaction.typestringRevenue dashboardTransaction type for deposit/withdrawal split
transaction.statusstringRevenue dashboardStatus filter for completed transactions
transaction.timestampstringRevenue dashboardTime-series aggregation key
transaction.playerIdstringRevenue dashboardPlayer link for per-player revenue
kyc.statusstringCompliance dashboardVerification status distribution
kyc.playerIdstringCompliance dashboardPlayer link for verification rate
compliance.selfExcludedbooleanCompliance dashboardSelf-exclusion tracking
risk.scorenumberRisk dashboardRisk distribution histogram
risk.levelstringRisk dashboardRisk tier breakdown
wallet.balancenumberPlayer KPIsCurrent wallet balance
wallet.currencystringPlayer KPIsBalance currency

Supplier Coverage ​

Which canonical domains each iGaming supplier covers:

SupplierSubdomainDomains Covered
API-FootballSports Data & OddsSports/Odds data (read-only)
BetfairSports Data & Oddsplayer, transaction
ComplyAdvantageCompliance / AMLcompliance, risk
Genius SportsOtherSports/Odds data (read-only)
JumioKYC / Identityplayer
NetellerOtherSports/Odds data (read-only)
NOWPaymentsPaymentstransaction
NuveiPaymentsplayer, transaction
OneSignalEngagement / Messagingplayer
OnfidoKYC / Identitykyc, player
OpenSanctionsCompliance / AMLSports/Odds data (read-only)
OptimoveCRM / MarketingSports/Odds data (read-only)
PandaScoreSports Data & OddsSports/Odds data (read-only)
PartnerizeAffiliate / PartnersSports/Odds data (read-only)
PatePlayOtherSports/Odds data (read-only)
PaysafePaymentsplayer, transaction
PersonaKYC / IdentitySports/Odds data (read-only)
PinnacleSports Data & OddsSports/Odds data (read-only)
ReferOnOtherkyc
ScaleoAffiliate / Partnersplayer, transaction
ScatterKingsOtherSports/Odds data (read-only)
Shift4Paymentsplayer, transaction
Shufti ProKYC / Identitycompliance, player, transaction
SkrillOtherplayer, transaction
SportradarSports Data & OddsSports/Odds data (read-only)
SumsubKYC / Identitykyc, player
The Odds APISports Data & OddsSports/Odds data (read-only)
TrustlyPaymentsSports/Odds data (read-only)
VeriffKYC / Identitykyc
XtremepushEngagement / Messagingplayer