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.
Licensed 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 an account is activated — without storing the number.
Your registration service can call the single-ID endpoint, then refuse the account when age is under 18 or isValid is false.
# 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"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.
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.
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.
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.
Your platform calls the single-ID endpoint, reads age and isValid, and applies your own 18+ rule. Players type a number they already know — no selfie in this step.
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.
Investigators can spot-check a single ID with the free checker when reviewing an exception ticket — without uploading a document to CheckID.
Use the Free South African ID checker.
Player IDs are personal information. Sending them to a vendor that retains copies expands your processing. CheckID discards the number after the response.
If you must keep ID numbers for FICA record-keeping, that retention is in your systems, not ours. See POPIA and ID number handling.
Gate account creation and first deposit on encoded age so under-18 numbers never reach the wallet.
Use structural age as a first pass, then add document review for higher-stakes accounts if your licence requires it.
Cash-prize promotions often need an 18+ gate at entry. Check encoded age without storing the ID on CheckID.
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.
Age-gating sits next to the checksum explainer, bulk API, and POPIA notes.
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.
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.
No. ID numbers are processed in memory and discarded immediately after the response. We log billing metadata, never the ID number itself.
No. CheckID only understands 13-digit South African ID numbers. Passport or foreign national IDs need a separate step.
Test one ID free, then automate the same structural age gate in registration.