Skip to main content
This walkthrough takes you from nothing to a working verification. Each step links to the full reference.
1

Onboard and create an API key

Sign in to the Client Portal, create an API key, and note the key ID and key secret. The secret is shown once — store it in your backend’s secret manager. Scope the key to the verification methods your app uses (e.g. eid_manual, eid_card_read_finger).
2

Get the SDK from Nexus

Configure your package manager for the MBKYC Nexus repositories and add the dependency for your platform. See Get the SDK and the package matrix.
dependencies {
    implementation("ae.gov.icp.mbkyc:mbkyc-android:0.7.0")
    implementation("ae.gov.icp.mbkyc:service-smartcard-ccid-android:0.4.0")
    implementation("ae.gov.icp.mbkyc:service-fingerprint-morpho-android:0.4.0")
}
3

Implement a token signer

The SDK never holds your API secret. When it needs to authenticate, it hands you some bytes to sign; you forward them to your backend, which holds the secret and signs them. See Authentication.
# Runs wherever your API secret lives (your backend).
function sign(bytes):
    return yourBackend.sign(bytes)   # returns the signature
4

Initialize and register the device

mbkyc = MBKYC.create(
    baseUrl  = "https://api.client.ae",   # your proxy / VG endpoint
    apiKeyId = "your-key-id",
    signer   = sign,                            # from the previous step
)

mbkyc.registerDevice("lobby-kiosk")             # once per device
5

Validate an identity

result = mbkyc.validate(
    EmiratesIdManual(
        idNumber       = "784-XXXX-XXXXXXX-X",
        documentNumber = "...",
        nationality    = "ARE",
    )
)

print(result.success, result.message)
Add a fingerprint to also run biometric matching — see Biometrics.

Next: per-platform guides

Every platform (Android, Desktop JVM, Swift, C#, C, Web) has a full reference with real, idiomatic code.