Trusted by +1000 companies worldwide
Security standard
(Cryptographic verification)
Countries supported
(E-passports & eIDs)
Forgery prevention
(Tamper-proof chips)
HOW IT WORKS
WHY DIDIT NFC
NFC chips contain cryptographic signatures from issuing governments. This makes NFC Verification virtually impossible to spoof — the gold standard for document authenticity.
Read the exact data governments encoded at issuance: high-resolution photo, biographic details, and document metadata. No OCR errors, no manual review needed.
NFC Verification aligns with eIDAS 2 high-assurance requirements. For regulated industries requiring the strongest identity proofing, NFC is the recommended method.

Users simply tap their document against their phone. No need to photograph the document, align captures, or deal with glare and lighting issues.

Full TRANSPARENCY
No 🛠️ setup fees. No 💸 minimums. No 🎊 surprises. Just crystal-clear pricing ✨ charged only for completed features.

THE EASIEST TO INTEGRATE
Use Didit with no code or with a single API call. Go live in minutes.
Key points
BUILT FOR AI AGENTS
The only identity platform your AI coding agent can fully integrate — credentials, workflows, webhooks, and production code — without opening a browser.
Paste this into Claude Code, Cursor, or Copilot. Your agent registers for API credentials, creates verification workflows, sets up webhooks, and writes integration code — end to end, from a single copy-paste.
Key points
Integrate Didit identity verification into this project.
Didit is an all-in-one identity platform. Docs: https://docs.didit.me
Base URL: https://verification.didit.me/v3
Auth API: https://apx.didit.me/auth/v2
## Step 1: Get API credentials (no browser needed)
Register programmatically — 2 API calls:
POST https://apx.didit.me/auth/v2/programmatic/register/
Body: { "email": "dev@yourapp.com", "password": "SecurePass123!" }
→ Sends 6-char OTP to email
POST https://apx.didit.me/auth/v2/programmatic/verify-email/
Body: { "email": "dev@yourapp.com", "code": "ABC123" }
→ Returns { api_key, organization, application }
Or login if already registered:
POST https://apx.didit.me/auth/v2/programmatic/login/
Body: { "email": "...", "password": "..." }
→ Returns { access_token, refresh_token }
All subsequent API calls use: x-api-key: YOUR_API_KEY
## Step 2: Create a verification workflow
POST https://verification.didit.me/v3/workflows/
Headers: { "x-api-key": "YOUR_API_KEY", "content-type": "application/json" }
Body: {
"name": "KYC Flow",
"features": {
"id_verification": true,
"passive_liveness": true,
"face_match": true,
"aml_screening": false,
"nfc": false,
"ip_analysis": true,
"phone_verification": false,
"email_verification": false,
"proof_of_address": false,
"age_estimation": false,
"database_validation": false,
"questionnaire": false
}
}
→ Returns { uuid: "workflow_id", ... }
Or list existing workflows: GET /v3/workflows/
## Step 3: Create verification sessions
POST https://verification.didit.me/v3/sessions/
Body: {
"workflow_id": "WORKFLOW_ID",
"vendor_data": "your-internal-user-id",
"callback": "https://yourapp.com/api/didit/webhook"
}
→ Returns {
session_id, session_token, session_number,
url: "https://verify.didit.me/session/TOKEN"
}
Redirect users to the url, or embed via SDK:
- Web: npm install @didit-protocol/sdk-web
- React Native: npx expo install @didit-protocol/sdk-react-native
- iOS: SPM github.com/didit-protocol/sdk-ios
- Android: me.didit:didit-sdk:3.2.0
- Flutter: flutter pub add didit_sdk
## Step 4: Get results
Option A — Webhook (recommended):
Configure callback URL. Didit sends POST with session data when status changes.
Verify webhook signature using your webhook secret (GET /v3/webhook/).
Option B — Poll:
GET https://verification.didit.me/v3/sessions/{session_id}/
Session statuses: Pending → In Progress → Approved | Declined | In Review | Expired
You can also: update status (PATCH /v3/sessions/{id}/status/),
generate PDF reports (POST /v3/sessions/{id}/generate-pdf/),
or delete sessions (DELETE /v3/sessions/{id}/).
## Standalone APIs (call individually without sessions)
POST /v3/id-verification/ — Submit document images, get OCR + authenticity
POST /v3/passive-liveness/ — Verify person is real from selfie
POST /v3/face-match/ — Compare two faces (similarity 0-100)
POST /v3/face-search/ — 1:N search against all approved sessions
POST /v3/age-estimation/ — Estimate age from face
POST /v3/aml-screening/ — Screen against 1,300+ watchlists
POST /v3/proof-of-address/ — Extract + validate address documents
POST /v3/database-validation/ — Government DB checks (18+ countries)
POST /v3/email/send/ + /v3/email/check/ — Email OTP
POST /v3/phone/send/ + /v3/phone/check/ — Phone OTP (SMS/WhatsApp)
## Pricing
Free core KYC: ID Verification + Passive Liveness + Face Match + IP Analysis (500 free/month)
Premium checks: Prepaid credits, no contracts, no minimums, credits never expire.
Details: https://didit.me/pricing
## Rate Limits
300 req/min per method, 600 session creations/min.
On 429: check Retry-After header.
CERTIFICATIONS
Our platform meets the highest international standards for information security, data privacy, and biometric accuracy.
Full EU data protection compliance
Information security management
PAD (liveness + face match)
TRUSTED WORLDWIDE
Join thousands of companies that trust Didit for their verification needs
NFC VERIFICATION FAQ
NFC verification uses the embedded chip inside modern identity documents to cryptographically verify that a document is genuine, untampered, and issued by a legitimate authority. It is one of the most secure forms of identity verification available.
Get a free account, instant sandbox, and full access to every feature. No contracts. No sales calls. No credit card required.