stile

iGaming identity verification

Document capture, liveness, face match, mDL, and jurisdictional age-tier resolution. Signed webhook returns an eligibility signal.

  • Document Capture
  • Liveness
  • Face Match
  • mDL
  • Age Tier
  • Signed Webhook
verification_session.verifiedverification_session.verified
{  "id": "evt_8x2k4dq3w1m7",  "object": "event",  "type": "verification_session.verified",  "api_version": "2026-01-15",  "data": {    "object": {      "id": "vks_8x2k4dq3w1m7",      "object": "verification_session",      "status": "verified",      "age_tier": "min_age_21",      "jurisdiction": "US-CA",      "completed_at": 1715199912    }  },  "livemode": true,  "pending_webhooks": 1,  "created": 1715199912}

The gap

A checkbox doesn't satisfy a gaming control board.

  1. Age-tier and residency are separate checks

    Statutory eligibility often keys off in-state physical presence, not just age — a generic age gate misses the residency dimension entirely.

  2. Spoofed registrations look real to a human reviewer

    Photo-of-photo and replay attacks pass manual review. They don't pass passive liveness scoring.

  3. Audit requests arrive after the fact

    A gaming control board audit request comes months later. Without a signed record at registration time, there's nothing to hand over.

Capabilities

Age-21 verification + KYC for online sportsbook and casino operators

State-licensed credential capture

Driver's license, state ID, or US-issued mDL captured in-session. OCR plus barcode cross-reference resolves the credential's issuing state as a released attribute, which the operator combines with geolocation signals to enforce per-state eligibility (NJ iGaming, for example, is statutorily keyed off in-state physical presence rather than residency).

Liveness + face match

Passive liveness paired with face match against the document portrait. Defeats the spoofing patterns gambling fraud teams see most: photo-of-photo registration, replayed selfie video, and synthesized injection. Sub-second result; no UX friction at registration.

verifiedspoofed<1s

AML-grade audit trail

Every session includes the signed verification result, the credential attributes released, the holder's signing key fingerprint, and a per-session immutable audit pointer. Compliance teams hand this to state gaming control boards verbatim.

How it works

How an iGaming registration flows

Configurable per state — the steps below are the default for an NJ-licensed sportsbook registration. Other states swap in their own credential requirements.

  1. Step 01

    1. Capture

    User presents state-issued license or mDL via Stile's hosted widget. Front + back document scan, or wallet-released attribute set. Selfie captured in the same session.

  2. Step 02

    2. Verify age + identity

    OCR + barcode cross-reference for physical credentials; ISO/IEC 18013-5 signature verification for mDL. Age tier resolved against state statute (21+ in NJ, MI, PA; 18+ in NH for some game types).

  3. Step 03

    3. Liveness + face match

    Passive liveness scoring + face match against the document portrait. Spoof-detection results contribute to the eligibility decision but are not exposed to the operator.

  4. Step 04

    4. Compliance signal

    Signed webhook delivered with the eligibility decision, age tier, jurisdiction, and audit pointer. Operator unlocks deposit-and-play; state gaming board receives the same audit trail on request.

Proof

Every registration leaves a signed record.

The gaming control board's audit request arrives whenever it arrives. Every completed registration already has a signed record waiting.

signed_eventjson
stile-signature: t=1747193410,v1=6f2c8b1e... {  "id": "evt_01HR3FK4S2NXQY6",  "type": "verification_session.verified",  "data": { "object": { "id": "vks_4p9x2m" } }}

Outcome

See the registration flow for your state.

Tell us which states and game types you operate — we'll map the ruleset.

Major iGaming jurisdictions and Stile coverage

States with active online gaming markets as of mid-2026. Stile's per-state ruleset is configured for each jurisdiction; the table below summarises the verification baseline. Sportsbook + casino verticals can have different defaults — confirm at integration.

Major iGaming jurisdictions and Stile coverage
StateGame types activeMin. ageStile baseline configuration
New JerseySports + casino + poker21+License or mDL + liveness + NJ in-state geolocation
PennsylvaniaSports + casino + poker21+License or mDL + liveness + PA in-state geolocation
MichiganSports + casino + poker21+License or mDL + liveness + MI in-state geolocation
IllinoisSports21+License or mDL + liveness + IL-issued credential preferred
ArizonaSports21+License + liveness; physical-credential capture
New YorkSports21+License + liveness + NY in-state geolocation
ColoradoSports21+License + liveness; physical-credential capture
TennesseeSports21+License + liveness + TN in-state geolocation

FAQ

iGaming verification — buyer questions

Identity + age + jurisdiction-issued. Stile resolves the credential's issuing state and returns it as a released attribute (e.g. jurisdiction_issued: 'US-NJ'). NJ iGaming statutory eligibility is based on in-state physical presence (geo-IP / IP-resolver), not residency — most NJ-licensed operators key the eligibility gate off geo-IP with credential-issuer as a supplementary signal. Operators in other states layer their own credential-issuer + geolocation policies as their license requires.

Stile produces a normalized identity assertion (legal name, document number hash, DOB hash, jurisdiction) accessible via the verification-result API once a session completes. The signed webhook fires on completion carrying the outcome + jurisdiction fields; the operator's backend reads the full assertion from the API and hands the fields its AML tooling needs (sanctions, PEP, OFAC, adverse media) to that vendor. Stile does not run sanctions screening directly — that's an AML-vendor concern downstream of the verification step.

Median ~3 seconds end-to-end for a document-capture flow on a modern smartphone: capture (1.5s) + server-side OCR/liveness/face-match (1.2s) + webhook delivery (~50ms). mDL flows are faster — ~1.5s end-to-end because the wallet handles the credential release without a document-capture round trip. Operator-side conversion testing typically shows registration drop-off concentrates at the document-capture step, not the verification step.

Photo-of-photo registration, replay attacks, deepfake injection, and 3D-mask attacks are all in scope for the passive liveness model. The model is retrained against new spoof samples on a rolling basis; threshold tuning is per-operator if the default false-rejection rate trips too many real users. Stile does not currently claim ISO/IEC 30107-3 PAD certification — see the liveness-detection page for the non-claim rationale.

No. Stile pre-declares which attributes the configured ruleset requires; the user sees those exact attributes on the wallet's system-managed consent screen (for mDL flows) or the SDK's capture screen (for document flows) and explicitly approves release. Attributes outside the request never reach the operator. This is the same selective-disclosure model ISO/IEC 18013-5 mandates for mDL — Stile applies it to physical credential flows for parity.

Get started

Speak with our team about your iGaming registration flow

Tell us which states you operate in, which game types you offer, and what your gaming license requires. Configuration recommendation back same-week.

Bring iGaming verification to your stack

Walk through your use case and we'll send a configuration recommendation back same-week.

Book demo