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


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

11種類のシード済みバンドル
ベロシティ、ストラクチャリング、制裁対象の取引相手、高リスク地域。ケースキュー、SAR対応ワークフロー、トラベルルール。ソフトルールが発動した場合、ユーザーを自動的に一時停止し、再認証を促します。
ID、生体認証、顔照合、制裁、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェック項目を選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにPOSTします。条件分岐やA/Bテストもノーコードで実現できます。
Web、iOS、Android、React Native、Flutter SDKでネイティブに組み込むか、ホストされたページにリダイレクトするか、またはメール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。あなたのスタックに合った方法を選んでください。
Diditは、カメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行している間、200以上の不正シグナルをリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。結果は2秒以内に得られます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、却下、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべてのシグナルを検査し、ケースを管理することもできます。
$ curl -X POST https://verification.didit.me/v3/transactions/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"txn_id": "finance0001",
"direction": "OUTBOUND",
"amount": "1200.00",
"currency": "EUR"
}'{ "status": "IN_REVIEW", "score": 62 }$ curl -X POST https://verification.didit.me/v3/webhook/destinations/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"url": "https://api.you.com/hook",
"subscribed_events": [
"transaction.status.changed",
"transaction.alert.generated"
]
}'{ "secret_shared_key": "whsec_..." }# Didit Transaction Monitoring — integrate in 5 minutes
You are integrating Didit's Transaction Monitoring into the my_stack codebase.
Follow these steps exactly. Every URL, header, and enum value below is
canonical — do not paraphrase or "improve" them.
## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Enable Transaction Monitoring on an application from
Console -> Applications -> [app] -> Transactions.
- The moment you enable it, the 150+ preset rule library is auto-created on
the application. You can tune thresholds in the console — there is no
public rule-CRUD API by design (compliance teams own rule config).
## 2. Submit transactions
Every transaction is screened in real time. One POST, one verdict.
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Body (minimum viable shape — see docs for full schema):
{
"txn_id": "finance0001",
"transaction_category": "finance",
"transaction_details": {
"direction": "OUTBOUND",
"amount": "1200.00",
"currency": "EUR",
"currency_kind": "fiat"
},
"subject": {
"role": "applicant",
"entity_type": "individual",
"vendor_data": "user-123"
},
"counterparty": {
"role": "counterparty",
"entity_type": "individual",
"full_name": "Jane Doe",
"country_code": "DE"
}
}
Response (synchronous): JSON with the computed risk score, the matched
rules, and the verdict status (see step 3).
## 3. Read the verdict
Every transaction lands on one of four statuses (UPPERCASE, strict enum):
- APPROVED — below all thresholds
- IN_REVIEW — score >= review threshold (default 60) OR a rule
set change_status to IN_REVIEW
- DECLINED — score >= decline threshold (default 85) OR a rule
set change_status to DECLINED, OR an entity matched
a blocklist (blocklist always wins, evaluated first)
- AWAITING_USER — a rule fired with change_status AWAITING_USER; Didit
created a remediation Know Your Customer (KYC) session automatically and
the verification_url is included in the response
The response also includes:
- score (number) — cumulative risk score
- rule_runs[] — every rule evaluated, with match/no-match
- screening_results — Anti-Money Laundering (AML), wallet, and IP enrichment outcomes
- decision_reason — short string when DECLINED
- remediation_session_url — only when status is AWAITING_USER
## 4. Crypto + Travel Rule
For crypto transfers, set currency_kind to "crypto" and put the wallet
addresses in payment_method.account_id. Didit screens on-chain wallet
risk automatically — no extra API call.
For VASP transfers requiring FATF R.16 (Travel Rule), set
transaction_category to "travel_rule" and include travel_rule_details
with status, protocol (TRISA / TRP / OpenVASP), originator_data, and
beneficiary_data. 12 regional regimes ship with their own rule sets
(EU, UK, Singapore, Hong Kong, Japan, etc.).
## 5. Webhooks
Register one webhook destination once (you can reuse the same destination
for KYC, AML, and Transaction Monitoring events):
POST https://verification.didit.me/v3/webhook/destinations/
Body: url, subscribed_events: [
"transaction.created",
"transaction.updated",
"transaction.status.changed",
"transaction.alert.generated"
]
Every webhook delivery carries an X-Signature-V2 header you MUST verify
before trusting the payload. 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.Algorithm:
1. sortKeys(payload) recursively
2. shortenFloats (truncate trailing zeros after the decimal point)
3. JSON.stringify the result
4. HMAC-SHA256 with secret_shared_key
5. Hex-encode, compare to X-Signature-V2.
## 6. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Auth header is x-api-key (lowercase, hyphenated).
- Status enums are UPPERCASE: APPROVED, IN_REVIEW, DECLINED, AWAITING_USER.
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Always verify webhook signatures before trusting payload data.
- Do NOT create rules via API — rules are configured in the Business
Console only. This is a design choice: compliance teams own rule config.
## 7. Pricing reference (public)
- Transaction Monitoring: $0.02 per transaction monitored.
- AML screening fired by a Transaction Monitoring rule: billed at
$0.20 per AML check (separate line item).
- Wallet Screening (KYT) fired by a crypto rule: $0.15 per screening —
or bring your own screening provider and run it inside Didit.
- 500 free verifications every month, forever, on every account.
- No minimums, no contracts, no overage surprises.
## 8. Verify your integration
- Send a sandbox transaction with amount 9500 EUR — this trips the
single-transaction-just-below-threshold preset (+25 score) so you can
confirm the response carries rule_runs and a non-zero score.
- Trip a structuring pattern by submitting 20 sandbox transfers under
10,000 EUR for the same vendor_data within 30 days — the
structuring-outbound preset returns IN_REVIEW.
- Check the Business Console -> Transactions -> Cases tab to confirm an
alert was generated for every IN_REVIEW.
When in doubt: https://docs.didit.me/transaction-monitoring/overview
月額$0。クレジットカード不要。
使った分だけお支払い。25以上のモジュール。モジュールごとの公開価格、月額最低料金なし。
カスタムMSA & SLA。大量利用や規制対象プログラム向け。
無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、データレジデンシーが必要な場合はエンタープライズプランへ。
Diditは本人確認と不正対策のためのインフラです。私たちが自社製品を開発していたときに「こんなプラットフォームがあれば」と願った、オープンで柔軟、そして開発者に優しいプラットフォームです。ブラックボックスとしてではなく、お客様のスタックの真の構成要素として機能します。
一つのAPIで、個人の確認(KYC、顧客確認)、企業の確認(KYB、企業確認)、仮想通貨ウォレットのスクリーニング(KYT、トランザクション確認)、およびリアルタイムのトランザクションモニタリングをカバーします。このスタックは、以下の特性を持つように構築されています。
基盤となるフットプリント:14,000以上のドキュメントタイプを48以上の言語でサポートし、1,000以上のデータソース、そしてすべてのセッションで200以上の不正シグナルを検出します。Diditのインフラは、すべてのセッションから動的に学習し、日々改善されています。
finance(ストラクチャリング、大口取引、レイヤリング、マネーミュールによる資金集中)、aml_ctf(制裁対象者、政治的要人(PEP)への露出、疑わしい支払い参照)、aml_monitoring(ブロックチェーン由来のハイリスクな資金源)、anomaly_detection(高頻度取引、休眠口座の再活性化)、fatf(ハイリスク管轄区域への露出)、device_intelligence(共有フィンガープリントによる複数アカウント、VPN/プロキシ、不可能移動)、fraud_prevention(アカウント乗っ取り、不正送金詐欺、コンソーシアムがフラグ付けした取引相手)、crypto_monitoring(ミキサー/ダークネット/制裁対象ウォレットへの露出、チェーンホッピング、非ホスト型ウォレット)、travel_rule(12の地域別金融活動作業部会(FATF)勧告16体制)、responsible_gaming(急速な入金、自己排除、時間外プレイ)、e_commerce(カードテスティング、チャージバック指標、請求国不一致)。しきい値の調整、ルールのテストモードへの切り替え、無効化は可能ですが、プリセットは削除できないため、規制当局のベースラインは常に維持されます。POST /v3/transactions/ は同期的に判定を返します。12のアクティブルールに対して実行される法定通貨トランザクションの一般的なエンドツーエンドのレイテンシーは150〜350ミリ秒です。仮想通貨トランザクションでは、ウォレットスクリーニングが起動すると約200ミリ秒が追加されます(オンチェーンリスクルックアップ)。7日間/30日間の期間にわたる速度集計は事前にインデックス化されているため、期間のサイズによってレイテンシーが大幅に増加することはありません。ポーリングする必要はなく、判定はレスポンスボディに含まれています。フルフローは通常、エンドツーエンドで30秒未満で完了します, 身分証明書を手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場で最速です。 従来のKYCプロバイダーでは、同じフローで通常90秒以上かかります。
バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間からウェブフックが発火するまでの時間を測定し、p99で2秒未満で結果を返します。モバイルキャプチャは、低速な電話やネットワーク向けに最適化されています。プログレッシブ画像圧縮、遅延SDKロード、そしてユーザーがウェブから開始した場合のQRコードによるデスクトップから電話へのワンタップハンドオフなどが含まれます。
RULE、ウォレットまたはAMLヒットの場合はPROVIDER)、一致したルールlibrary_key、スコアへの貢献度、およびリンクされたトランザクションを継承します。アナリストは/console/casesからトリアージを行い、関連するアラートを単一のケースにリンクし、OPEN / UNDER_REVIEW / AWAITING_USER / ON_HOLD / RESOLVEDのライフサイクルを通じて解決します。ケース管理は、すべてのBusiness Consoleワークスペースで無料です。詳細については/products/case-managementをご覧ください。すべてのセッションは7つの明確なステータスのいずれかに分類されるため、お客様のコードは常に何をすべきかを知ることができます。
Approved, すべてのチェックに合格しました。ユーザーを次のステップに進めます。Declined, 1つ以上のチェックに失敗しました。ユーザーは、特定の失敗したステップ(例:セルフィーの再撮影)を、フロー全体を再実行することなく再提出できます。In Review, コンプライアンスレビューのためにフラグが立てられました。コンソールでケースを開き、すべてのシグナルを確認し、承認または拒否を決定します。In Progress, ユーザーはフローの途中にいます。Not Started, リンクは送信されましたが、ユーザーはまだ開いていません。長時間放置されている場合はリマインダーを送信します。Abandoned, ユーザーはリンクを開きましたが、時間内に完了しませんでした。再エンゲージするか、期限切れにします。Expired, セッションリンクの有効期限が切れました。新しいセッションを作成します。すべてのステータス変更時に署名付きウェブフックが発火するため、お客様のデータベースは常に同期されます。放棄されたセッションと拒否されたセッションは無料です。
本番データは、デフォルトでAmazon Web Services上の欧州連合で処理および保存されます。 規制当局が要求する管轄区域については、エンタープライズ契約で代替リージョンをリクエストできます。
あらゆる場所で暗号化。 すべてのデータベース、オブジェクトストレージ、バックアップにおいて、保存データはAES-256で暗号化されます。すべてのAPIコール、ウェブフック、Business Consoleセッションにおいて、転送データは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は、本人確認インフラにとって重要な規制にデフォルトで準拠しています。
詳細なメモ、すべての証明書、すべての規制当局からの書簡は/security-complianceをご覧ください。
3つの連携パスから、お使いのスタックに最適なものをお選びください。
3つのパスすべてで、同じダッシュボード、同じ請求、成功ごとの同じ料金体系です。詳細な手順は docs.didit.me/integration/integration-prompt をご覧ください。