Licensed betting & gaming

SA ID age validation for betting & gaming

The first six digits of an SA ID encode date of birth. CheckID returns age and validity in under a second so you can block under-18 encodings before activating an account. CheckID does not store the number.

Test one player ID free. No credit card required.

Where it fits in registration

  1. Player enters a 13-digit SA ID at sign-up
  2. CheckID structural validation + encoded age
  3. Invalid or under 18 → reject the registration
  4. Valid and 18+ → continue to your KYC/document steps if required
  5. Then allow deposit or play, per your licence rules

Block under-18 encodings before the first deposit

National Gambling Act age rule

Licensed operators must not allow a person under 18 to gamble. Encoded date of birth is a fast technical gate. Whether it satisfies your specific licence still needs your own legal advice.

Fits into FICA workflows

Structural ID validation helps catch invalid identity numbers before your formal customer-identification and verification steps. CheckID does not replace Home Affairs verification or a full FICA/KYC solution.

Invalid or mistyped IDs in the queue

Manual review teams should not spend time on numbers that fail checksum. Filter those out at registration, then apply document checks where your risk policy requires them.

How age verification works in the product

Your platform calls the single-ID endpoint, reads age and isValid, and applies your own 18+ rule. Players enter their ID number. This step does not require a selfie.

Registration and first-deposit API

Call the single-ID endpoint during account creation. If age is under 18 or the checksum fails, do not activate the wallet.
Implement from the South African ID validation API. Bulk player-base backfills need Professional.

Compliance-ops web checks

Investigators can spot-check a single ID with the free checker when reviewing an exception ticket. They do not need to upload a document to CheckID.

POPIA considerations for wagering KYC

Avoid extra copies of player IDs

Player IDs are personal information. Sending them to a vendor that retains copies expands your processing. CheckID discards the number after the response.

Your licence still governs retention

If you must keep ID numbers for FICA record-keeping, that retention is in your systems, not ours. See POPIA and ID number handling.

What CheckID does not replace for operators

  • Home Affairs verification or proof that the player is the lawful holder
  • A full FICA/KYC programme, source-of-funds, or enhanced due diligence
  • Self-exclusion registers, affordability, or responsible-gambling tools
  • Age checks for non-South African identity documents

Where operators use CheckID

Online sportsbooks

Gate account creation and first deposit on encoded age so under-18 numbers never reach the wallet.

Online casinos and poker

Use structural age as a first pass, then add document review for higher-stakes accounts if your licence requires it.

Lottery and competition platforms

Cash-prize promotions often need an 18+ gate at entry. Check encoded age without storing the ID on CheckID.

Need to confirm who an ID number belongs to?

Check an ID number and name against Home Affairs records for R39.90. For applicant, tenant and customer checks. A match emails you the details as a PDF, and you get a full refund if the name does not match.

Verify with Home Affairs

Checking a company, not a person?

Look up a South African company by registration number against CIPC records, for R299. For supplier, tenant and counterparty checks. You get a PDF by email and a full refund if the company is not on the register.

Check a company

API example

Example: reject under-18 registrations

Your registration service can call the single-ID endpoint, then refuse the account when age is under 18 or isValid is false.

8001015009087 is the public sample ID used across CheckID docs, not a live customer number. Replace YOUR_API_KEY with a key from your dashboard. See the South African ID validation API and 5-minute South African ID validation API tutorial.

# Player registration: block under-18 encodings before wallet create
curl -s "https://api.checkid.co.za/api/v1/validate/8001015009087" \
  -H "Authorization: Bearer YOUR_API_KEY"

Pricing for betting and gaming platforms

Free checker for compliance spot checks. API Starter from R99/month for live registration calls. Professional for bulk player-base backfills and team seats. Compare CheckID pricing for API and bulk plans.

Frequently asked questions

Does CheckID confirm that an ID number belongs to a real person?

No. CheckID validates the structure and checksum of a South African ID number and extracts the encoded date of birth. It does not query any government database and cannot confirm that the number belongs to the person who entered it.

Does this make an operator FICA or licence compliant?

Structural ID validation helps catch invalid identity numbers and under-18 encodings before your formal customer-identification steps. CheckID does not replace Home Affairs verification or a full FICA/KYC solution, and licence conditions still need your own legal review.

Does CheckID store player ID numbers?

No. ID numbers are processed in memory and discarded immediately after the response. We log billing metadata, never the ID number itself.

Can we verify non-South African players?

No. CheckID only understands 13-digit South African ID numbers. Passport or foreign national IDs need a separate step.

Start checking encoded player age

Test one ID free, then automate the same structural age gate in registration.