無料
月額$0。クレジットカード不要。
- 無料KYCバンドル(本人確認 + パッシブ・ライブネス + 顔照合 + デバイス&IP分析), 毎月500回まで
- ブロックリストユーザー
- 重複検出
- すべてのセッションで200以上の不正シグナル
- Diditネットワーク全体でのKYC再利用
- ケース管理プラットフォーム
- ワークフロービルダー
- 公開ドキュメント、サンドボックス、SDK、MCP (Model Context Protocol) サーバー
- コミュニティサポート


世界中の2,000以上の組織から信頼されています。

規制当局が求めるもの
すべての規制対象事業者は、厳格な18歳以上年齢確認、自己排除登録との照合、 しきい値を超える入金に対するAML、出金時の生体認証再認証を義務付けられています。 Diditはこれらを1つのワークフローとして、プレイヤー1人あたり約$0.40 + 入金1件あたり$0.02で提供します。 毎月500件の認証が無料です。
本人確認、生体認証、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェックを選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにポストします。条件分岐やA/Bテストも、コード不要で実行できます。
Web、iOS、Android、React Native、FlutterのSDKでネイティブに組み込むか、ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お使いのスタックに合った方法をお選びください。
Diditがカメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行している間、200以上の不正シグナルをリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。2秒以内に結果が出ます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべてのシグナルを検査し、ケースを管理することもできます。
Didit · 年齢推定
Didit · 顔検索 1:N
新規プレイヤー
Didit · AML
Didit · トランザクションモニタリング
Didit · 生体認証
登録
出金
Didit · 監査ログ
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_igaming_onboard",
"vendor_data": "player-91",
"metadata": { "regulator": "UKGC" }
}'{ "session_url": "verify.didit.me/..." }$ curl -X POST https://verification.didit.me/v3/transactions/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"transaction_id": "deposit-991",
"transaction_details": { "direction": "INBOUND", "amount": "150.00", "currency": "GBP", "currency_kind": "fiat" },
"subject": { "vendor_data": "player-91", "full_name": "Jamie Example" },
"counterparty": { "full_name": "プレイヤー入金" }
}'{ ステータス: 承認済み · レビュー中 · 却下済み · ユーザー待ち }You are integrating Didit into a regulated iGaming / sports-betting operator (UK Gambling Commission, Malta Gaming Authority, Curaçao, SIGAP, ANJ). Three obligations on every player and every deposit:
- Onboarding: 18+ age gate, ID Verification, self-exclusion register cross-check.
- Deposits: AML on above-threshold deposits, real-time deposit limits + loss caps.
- Withdrawals + sensitive actions: biometric re-auth against the enrolment selfie.
Recommended recipe + pricing (verified live):
- Onboarding session: $0.10 Age Estimation + $0.15 ID Verification + $0.10 Passive Liveness + $0.05 Face Match 1:1 + $0.20 AML (above threshold). Face Search 1:N against self-exclusion register: free. Average ~$0.40 per player.
- Per-deposit / per-withdrawal transaction: $0.02 per call to Transaction Monitoring (rule engine + limits).
- AML re-screening on flagged transactions: $0.20 per check.
- Biometric re-auth on withdrawal: $0.10 per auth.
- First 500 verifications free every month, forever.
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header.
HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature. - A workflow_id from the Workflow Builder that bundles Age Estimation + ID Verification + Passive Liveness + Face Match 1:1 + Face Search 1:N (against your self-exclusion index) + AML Screening.
- A self-exclusion index loaded into the Didit Face Search 1:N — your own banned-players list at minimum; GAMSTOP / RIGA / equivalent national register where the regulator participates.
- Transaction Monitoring enabled in the Business Console with the rule bundle for sports-betting or online-casino seeded.
STEP 1 — Open the onboarding session at signup
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with age gate + ID + AML + Face Search self-exclusion>",
"vendor_data": "<your player id, max 256 chars>",
"callback": "https://<your-app>/igaming/onboarding/callback",
"metadata": {
"regulator": "UKGC",
"license_class": "remote_casino_betting",
"min_age": 18
}
}
Response: 201 Created with the hosted session URL. Redirect the player. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on the onboarding verdict
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your player id>",
"status": "Approved",
"age_estimation": { "estimated_age": 27, "confidence": 0.92 },
"id_verification": { "status": "Approved", "dob": "1997-03-12" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"face_search": { "status": "Approved", "matches": [] },
"aml": { "status": "Approved", "hits": [] }
}
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body.
STEP 3 — Branch on the onboarding verdict
Approved + 18+ → unlock the player account.
Approved + Face Search hit on self-exclusion → block, log to compliance, surface support resources.
Declined → block, log AML hit detail.
In Review → hold the account, route to ops queue.
STEP 4 — Monitor every deposit + withdrawal
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"transaction_id": "<your deposit reference>",
"transaction_category": "finance",
"transaction_details": {
"direction": "INBOUND",
"amount": "150.00",
"currency": "GBP",
"currency_kind": "fiat",
"action_type": "deposit"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your player id>",
"full_name": "<player full name>"
},
"counterparty": {
"entity_type": "individual",
"full_name": "Player deposit"
}
}
Response: status APPROVED | IN_REVIEW | DECLINED | AWAITING_USER. Rule engine evaluates against deposit limits, loss caps, velocity thresholds, and Reasonable-Affordability triggers in real time.
STEP 5 — Biometric re-auth on withdrawal
Open a re-auth session before processing a withdrawal:
POST https://verification.didit.me/v3/session/
Body:
{
"workflow_id": "<wf id with Liveness + Face Match against enrolment selfie>",
"vendor_data": "<your player id>",
"metadata": { "trigger": "withdrawal", "withdrawal_amount": "500.00" }
}
Block the withdrawal until status: Approved with similarity above your threshold (default 0.85).
STEP 6 — Ongoing AML monitoring on the active player base
Every Approved player is automatically re-screened DAILY by Didit's continuous AML monitoring at $0.07 per player per year. The same session webhook fires when the verdict flips.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Transactions: transaction.created · transaction.updated · transaction.status.changed · transaction.alert.generated.
Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Transaction statuses use UPPER_SNAKE_CASE (APPROVED, IN_REVIEW, DECLINED, AWAITING_USER). They live in different APIs — don't mix them in the same code path.
- Self-exclusion cross-check must happen BEFORE the player can deposit — a post-deposit check is useful for audit but creates a refund obligation.
- Default audit retention is 5 years post-relationship per the UK Gambling Commission / Malta Gaming Authority requirements; configure per workflow in the Business Console.
- 200+ fraud signals are evaluated on every onboarding session at no extra cost.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/core-technology/aml-screening/overview
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.月額$0。クレジットカード不要。
使った分だけお支払い。25以上のモジュール。モジュールごとの公開価格、月額最低料金なし。
カスタムMSA & SLA。大量利用や規制対象プログラム向け。
無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、データレジデンシーが必要な場合はエンタープライズプランへ。
DiditはIDと不正対策のためのインフラストラクチャです。私たちが製品を構築していたときに「こんなものがあればよかったのに」と願ったプラットフォームであり、オープンで柔軟、開発者に優しいため、ブラックボックスとしてではなく、スタックの真の構成要素として機能します。
1つのAPIで、個人の認証(KYC、顧客確認)、企業の認証(KYB、企業確認)、暗号資産ウォレットのスクリーニング(KYT、取引確認)、およびリアルタイムでの取引監視をカバーします。このスタックは以下のように構築されています。
基盤となるフットプリント: 14,000以上のドキュメントタイプを48以上の言語で、1,000以上のデータソース、そしてすべてのセッションで200以上の不正信号を検出します。Diditのインフラストラクチャは、すべてのセッションから動的に学習し、日々改善されています。
規制対象の事業者が、すべてのプレイヤー、すべての入金、すべての出金に対して負う3つの義務があります。
Diditは認証 + クロスチェック + 監視の半分を提供し、お客様はサポートリソースの表示をその上に構築します。
EU、英国、LATAMの事業者が通常ライセンスを保有する主要な規制当局に対応しています。
Diditの監査パックテンプレートは、ビジネスコンソールで規制当局ごとに提供されます。
通常、全フローはエンドツーエンドで30秒未満で完了します, IDを手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場で最速です。従来のKYCプロバイダーでは、同じフローで90秒以上かかることがよくあります。
バックエンドでは、ユーザーがセルフィーを完了した瞬間からウェブフックが発火する瞬間までを測定し、Diditはp99で2秒未満で結果を返します。モバイルキャプチャは、低速な電話やネットワーク向けに調整されています。プログレッシブ画像圧縮、遅延ソフトウェア開発キットのロード、ユーザーがウェブで開始した場合のQRコードを介したデスクトップから電話へのワンタップハンドオフなどです。
2つのレイヤーが積み重なっています。
200ミリ秒未満で判定が出ます。新しいメールアドレス、新しいIP、異なる書類で再申請する自己排除プレイヤーも、顔が一定であるため検出されます。すべてのワークフローに無料で含まれています。
すべてのセッションは7つの明確なステータスのいずれかに分類されるため、お客様のコードは常に何をすべきかを知ることができます。
Approved, すべてのチェックに合格しました。ユーザーを次のステップに進めます。Declined, 1つ以上のチェックに失敗しました。ユーザーは、フロー全体を再実行することなく、特定の失敗したステップ(例:セルフィーの再撮影)を再提出できます。In Review, コンプライアンスレビューのためにフラグが立てられました。コンソールでケースを開き、すべての信号を確認し、承認または拒否を決定します。In Progress, ユーザーはフローの途中にいます。Not Started, リンクは送信されましたが、ユーザーはまだ開いていません。長期間放置されている場合はリマインダーを送信します。Abandoned, ユーザーはリンクを開きましたが、時間内に完了しませんでした。再エンゲージするか、期限切れにします。Expired, セッションリンクの有効期限が切れました。新しいセッションを作成します。すべてのステータス変更時に署名付きウェブフックが発火するため、お客様のデータベースは常に同期されます。放棄されたセッションと拒否されたセッションは無料です。
本番データはデフォルトで欧州連合内のAmazon Web Servicesで処理および保存されます。エンタープライズ契約では、規制当局が要求する管轄区域のために代替リージョンを要求できます。
あらゆる場所で暗号化。すべてのデータベース、オブジェクトストレージ、バックアップでAES-256による保存時暗号化。すべてのAPIコール、ウェブフック、ビジネスコンソールセッションでTransport Layer Security 1.3による転送時暗号化。生体認証データは別の顧客マスターキーで暗号化されます。
保持期間はお客様が管理できます。デフォルトの保持期間は無期限(無制限)ですが、アプリケーションごとに30日から10年の間で短く設定することも可能です。また、ダッシュボードまたはAPIからいつでも個々のセッションを削除できます。
認証: SOC 2 Type 1(Type 2監査進行中)、ISO/IEC 27001:2022、iBeta Level 1 PAD、およびスペインのTesoro / SEPBLAC / CNMVからの公式証明書により、Diditのリモート本人確認は対面認証よりも安全であるとされています。完全なレポートは/security-complianceでご覧いただけます。
Diditは、IDインフラストラクチャにとって重要な規制にデフォルトで準拠しています。
詳細なメモ、すべての証明書、すべての規制当局からの書簡は、/security-complianceをご覧ください。
3つの統合パスがあります。お使いのスタックに合うものをお選びください。
3つすべてで同じダッシュボード、同じ請求、成功ごとの同じ料金です。ステップバイステップガイドはdocs.didit.me/integration/integration-promptをご覧ください。
アカウント乗っ取り犯はチップを失いたくありません。彼らは現金化を望んでいます。再認証のない出金フローは、iGamingで最も攻撃される領域です。
生体認証は、プレイヤーの登録時のセルフィーと顔照合を1認証あたり$0.10で実行します。出金は、判定がApprovedで、類似度がお客様のしきい値(デフォルトは0.85、高額出金の場合はさらに高く設定)を超過するまで保留されます。同じプリミティブは、オプションで以下の場合にも実行されます。
乗っ取られたアカウントは、カメラに直面することなく、現金化したり、送金先銀行を変更したり、資金を再ルーティングしたりすることはできません。
統合ポイントは3つあります。
/v3/session/を開き、署名済みWebhookでアカウント作成をゲートします。/v3/transactions/にポストします。ルールエンジンはAPPROVED / IN_REVIEW / DECLINED / AWAITING_USERをインラインで返します。/v3/session/(Liveness + Face Match)を開き、WebhookがApprovedを返すまで支払いを保留します。4つのプラグイン可能な統合で、リプラットフォームは不要です。ライフサイクル全体で同じ/v3/契約。すべてのプレイヤーで同じ監査パックが適用されます。
フローは同じですが、ウォレットスクリーニングがすべての入出金に追加されます。
/solutions/crypto-onramp-kyc-kytのレシピが適用され、ウォレットスクリーニングはcurrency_kind: "crypto"と相手方のウォレットアドレスを介してPOST /v3/transactions/内で実行されます。制裁対象ウォレット、ミキサー、高リスク取引所のカテゴリは、1チェックあたり$0.15(Didit管理)または1チェックあたり$0.02(お客様ご自身のプロバイダーキーを使用)でスコアリングされます。
標準のiGamingレシピと組み合わせると、暗号通貨を主とするスポーツベッティングプラットフォームでは、プレイヤーのオンボーディングに約$0.40、暗号通貨の入金(ウォレットスクリーニングが有効な場合)に$0.17、法定通貨の取引に$0.02がかかります。