Skip to content

Data Contract — iGaming

Auto-generated by npx tsx scripts/runner/cli.ts generate-contract Last updated: 2026-04-06 Suppliers analysed: 24

The data contract lists every canonical field used across OneHazel's 24 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 fieldsPOST /entities with entityType: "player"
  • Transaction fieldsPOST /entities/{id}/events with eventType: "transaction"
  • KYC fieldsPOST /entities/{id}/events with eventType: "kyc"
  • Compliance / Risk / WalletPUT /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, Jumio, Sumsub +3 moreNoUnique player identifier
player.countrystringScaleo, Shufti ProNoPlayer country code
player.dateOfBirthstringOnfido, Shufti ProYesDate of birth (ISO 8601)
player.emailstringPaysafe, Onfido, Sumsub, Shift4 +2 moreYesPlayer email address
player.firstNamestringPaysafe, Onfido, OneSignal, Shufti ProYesPlayer first name
player.languagestringPaysafe, Betfair, Sumsub, Shufti ProNoPreferred language code
player.lastNamestringPaysafe, OnfidoYesPlayer last name
player.phonestringSumsubYesPlayer phone number

Transaction Fields

FieldTypeRequired ByPIIDescription
transaction.idstringNuvei, Shift4NoUnique transaction identifier
transaction.amountnumberNuvei, Paysafe, NOWPayments, Shift4NoAmount in minor currency units (pence, cents)
transaction.currencystringNuvei, Paysafe, Betfair, NOWPayments +2 moreNoISO 4217 currency code
transaction.referencestringNuvei, Paysafe, NOWPayments, Shufti ProNoProvider's reference / external ID

KYC / Verification Fields

FieldTypeRequired ByPIIDescription
kyc.playerIdstringOnfido, SumsubNoReference to player
kyc.documentTypestringOnfido, 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
JumioKYC / Identityplayer
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)
PaysafePaymentsplayer, transaction
PersonaKYC / IdentitySports/Odds data (read-only)
PinnacleSports Data & OddsSports/Odds data (read-only)
ScaleoAffiliate / Partnersplayer, transaction
Shift4Paymentsplayer, transaction
Shufti ProKYC / Identitycompliance, player, 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