Introducing the iApp eKYC SDK — Free, Open-Source Identity Verification for Flutter & Web

Today we are releasing the iApp eKYC SDK — a free, Apache-2.0 open-source SDK for Flutter and Web that turns our battle-tested eKYC APIs into a complete, drop-in identity-verification experience. Alongside it, we are launching a brand-new API product: Face Active Liveness Detection, which returns a cryptographically signed verdict your backend can verify independently.
👉 Try it right now in your browser at iapp.co.th/ekyc-demo — no installation, no signup needed to watch it work.
Why an SDK?
Our eKYC APIs have served banks, insurers, and fintechs for years — but every customer had to rebuild the same hard client-side pieces: camera handling, document framing, blur rejection, liveness challenge UX. That is months of work before the first API call ever fires.
The iApp eKYC SDK ships all of it, tuned on real Thai documents, for free. You bring an API key; the SDK does the rest. You pay only for the API calls it makes.
Automatic document capture that just works
Point the camera at a document and the SDK does the thinking:
- Six document types — Thai National ID (front and back), Thai driver license, passport, bank passbook, and photographed ID with signature.
- Hold still, snap — the SDK detects the card in the guide frame, waits for a brief hold-still, and captures automatically. No shutter button, no fumbling.
- Per-document HUD overlays — an on-screen schematic of each card type (photo position, chip, flag, MRZ) so users align the document correctly on the first try.
- Shutter effect and freeze-frame — users see exactly the image being submitted while it uploads.
- Empty-frame safe — the capture pipeline arms only when a document actually enters the frame, so a face, a desk, or a blank wall never triggers a false submission.
Behind the scenes is an OpenCV pipeline that survives real-world conditions: glare, faded laser-print on ID card backs, and documents held by hand at the frame edge.
New product: Face Active Liveness Detection
Passive liveness inspects a single selfie. Active liveness proves a live, cooperative person is present: the SDK issues randomized on-device challenges — blink, turn left, turn right, smile — tracks them with on-device face landmarks (glasses-friendly adaptive blink detection included), selects the sharpest frontal frame, and submits it with the full challenge log.
The server re-verifies the selfie with our iBeta PAD Level 1 certified anti-spoofing engine and returns a signed verdict:
- HMAC-SHA256 signature over the whole verdict — a modified client cannot forge a "passed" result
- The selfie's SHA-256 inside the signed payload binds the image to the verdict
- Challenge-log validation catches replayed or fabricated sessions
- 1 IC per request, billed on completed checks whether the verdict is pass or fail
Face verification and passive liveness, made easy
The SDK also wraps our existing face APIs with one-call helpers: captureFace() auto-snaps a frontal selfie from the camera, and verifyFaces() / checkPassiveLiveness() submit it — perfect for a compare-two-faces or single-shot anti-spoofing flow.
Integrate in about ten lines
<script src="https://iapp.co.th/sdk/ekyc-sdk.umd.js"></script>
<script>
const ekyc = new IappEkyc.IappEkyc({ apiKey: 'YOUR_API_KEY' });
const result = await ekyc.captureDocument({
mount: document.getElementById('camera'),
documentType: 'thaiIdFront',
locale: 'th',
});
console.log(result.raw); // structured ID card fields
</script>
Prefer npm? npm install @iapp-technology/ekyc-sdk. On mobile, the Flutter package exposes the same API surface. The UI speaks Thai, English, and Chinese out of the box, with a customizable light-blue theme.
What it costs
Nothing for the SDK — and the APIs are pay-as-you-go with no minimums:
| API | Price |
|---|---|
| Thai National ID OCR (front / back) | 1.25 / 0.75 IC per page |
| Passport OCR | 0.75 IC per page |
| Face Verification | 0.3 IC per request |
| Face Passive Liveness | 0.3 IC per request |
| Face Active Liveness (signed verdict) | 1 IC per request |
A complete onboarding — ID OCR + active liveness + face verification — is 2.55 IC, about ฿3.2. New accounts get 50 IC free, enough for roughly 19 full verifications, no credit card required.
Get started
- Watch it work: live demo
- Read the docs: SDK getting started
- Get the code: github.com/iapp-technology/iapp-ekyc-sdk
- Create your free API key: iapp.co.th/register
We built this SDK so that adding bank-grade identity verification to a Thai app takes an afternoon, not a quarter. Stars, issues, and pull requests are very welcome.