무료
월 $0. 신용카드 정보가 필요 없습니다.
- 무료 KYC 번들 (신분증 확인 + 패시브 라이브니스 + 얼굴 매칭 + 기기 및 IP 분석), 매월 500건 제공
- 차단된 사용자
- 중복 감지
- 모든 세션에서 200개 이상의 사기 신호 감지
- Didit 네트워크 전반에 걸쳐 재사용 가능한 KYC
- 사례 관리 플랫폼
- 워크플로 빌더
- 공개 문서, 샌드박스, SDK, MCP(Model Context Protocol) 서버
- 커뮤니티 지원


전 세계 2,000개 이상의 기관에서 신뢰합니다.

$0.15 per check
지갑 검사는 건당 $0.15입니다. 또는 기존 스크리닝 제공업체를 Didit에 연동하여 사용하실 수 있습니다. 이 경우 단일 케이스 큐와 감사 추적을 통해 두 서비스를 모두 관리할 수 있습니다.
신분증, 실존 여부, 얼굴 일치, 제재 대상 여부, 주소, 연령, 전화번호, 이메일, 맞춤 질문 등 필요한 검사를 선택하세요. 대시보드에서 드래그 앤 드롭으로 플로우를 만들거나, API를 통해 동일한 플로우를 게시할 수 있습니다. 조건에 따라 분기하고 A/B 테스트를 실행할 수 있으며, 코딩은 필요 없습니다.
Web, iOS, Android, React Native, Flutter SDK를 사용하여 네이티브로 임베드하거나, 호스팅된 페이지로 리디렉션할 수 있습니다. 또는 이메일, SMS, WhatsApp 등 어디든 사용자에게 링크를 보내기만 하면 됩니다. 스택에 맞는 방식을 선택하세요.
Didit은 카메라, 조명 안내, 모바일 핸드오프, 접근성을 호스팅합니다. 사용자가 플로우를 진행하는 동안 200개 이상의 사기 신호를 실시간으로 분석하고, 모든 필드를 신뢰할 수 있는 데이터 소스와 대조하여 확인합니다. 2초 이내에 결과를 받아볼 수 있습니다.
실시간 서명된 웹훅을 통해 사용자가 승인, 거부 또는 검토 대상으로 분류되는 즉시 데이터베이스를 동기화합니다. 필요에 따라 API를 폴링하거나, 콘솔을 열어 모든 세션, 모든 신호를 검사하고 케이스를 직접 관리할 수 있습니다.
$ curl -X POST https://verification.didit.me/v3/transactions/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet_address": "0xRecipient...",
"currency": "ETH",
"direction": "OUTBOUND"
}'{ "risk_score": 87, "severity": "CRITICAL" }// Your endpoint receives a signed wallet-screening result
app.post("/webhooks/didit", (req, res) => {
const sig = req.headers["x-signature-v2"];
const expected = crypto.createHmac("sha256", SECRET)
.update(req.rawBody).digest("hex");
if (sig !== expected) return res.sendStatus(401);
const { status, decision, txn_id } = req.body;
// status: APPROVED | IN_REVIEW | DECLINED | AWAITING_USER
res.sendStatus(200);
});{ webhook_type: "transaction.status.updated", status: "APPROVED" }# Didit Wallet Screening (KYT) — integrate in 5 minutes
You are integrating Didit's Wallet Screening / Know Your Transaction (KYT)
module into <my_stack>. Follow these steps exactly. Every URL, header,
and enum value below is canonical — do not paraphrase or "improve" them.
Wallet Screening produces a standardised risk payload regardless of
which underlying provider sits behind it:
- Risk score 0-100 + severity (LOW, MEDIUM, HIGH, CRITICAL)
- Source of funds breakdown across 14+ categories
- Exposure table (counterparty entities, direct vs indirect hops)
- Network graph metrics
- Sanctions / darknet / mixer flags as discrete signals
## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
## 2. Choose a screening source
- Wallet Screening runs at $0.15 per check on Didit's own on-chain
risk data — nothing to configure, it works out of the box.
- Or bring your own screening provider and run it inside Didit: open
Transactions > Settings > Provider Preferences in the Business
Console (https://business.didit.me) and paste your existing
provider API key. The screening result payload is identical
whichever source you use.
## 3. Two integration paths — pick one
### Path A — Workflow / Transactions API (recommended)
Best when you want Wallet Screening chained into the Transaction
Monitoring rules engine so flagged transactions automatically generate
review cases.
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your-api-key>
Content-Type: application/json
Body (outbound pre-transfer screen, screens the destination wallet):
{
"transaction_id": "withdrawal-001",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.25",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "withdrawal"
},
"subject": {
"entity_type": "individual",
"vendor_data": "user-123",
"full_name": "John Doe"
},
"counterparty": {
"entity_type": "unhosted_wallet",
"full_name": "John Doe",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "0xRecipientWallet..."
}
}
}
Direction rules — required:
- INBOUND pre-transfer -> screens counterparty.payment_method.account_id
- INBOUND post-transfer -> screens the tx hash scoped to subject.payment_method.account_id
- OUTBOUND pre-transfer -> screens counterparty.payment_method.account_id
- OUTBOUND post-transfer -> screens the tx hash scoped to counterparty.payment_method.account_id
For post-transfer screening, also include
transaction_details.payment_reference_id -> the blockchain tx hash
### Path B — Standalone wallet-screening API
Best when you want a one-off wallet-risk lookup without writing a full
transaction. Same screening source, same $0.15 per check price.
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your-api-key>
Content-Type: application/json
Body:
{
"wallet_address": "0xRecipientWallet...",
"currency": "ETH",
"direction": "OUTBOUND"
}
Synchronous JSON response — no webhook required for the standalone call.
Use Path A whenever the screening result needs to flow into the rules
engine, case management, or the auto-remediation loop.
## 4. Webhooks
Register one webhook destination per workspace:
POST https://verification.didit.me/v3/webhook/destinations/
Body: { "url": "https://yourapp.com/didit/webhooks",
"events": ["transaction.status.updated"] }
Every delivery carries an X-Signature-V2 Hash-based Message Authentication
Code (HMAC) 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.Verify it before trusting the payload:
signature = hmac_sha256(secret, raw_body).hex()
if signature != request.headers["X-Signature-V2"]:
return 401
## 5. Reading the result
Every screening returns a standardised risk object:
- risk_score (0-100, higher = more exposure)
- severity ("LOW", "MEDIUM", "HIGH", "CRITICAL")
- source_of_funds (array of { category, percentage })
- exposure (array of { entity, hop_distance, received, sent, risk })
- flags (array including "sanctioned", "darknet_market", "mixer",
"ransomware", "child_exploitation", "scam", and others)
- network_graph (nodes, edges, centrality, depth)
Feed flagged transactions into the Transaction Monitoring rules engine
so high-risk hits automatically generate cases at the published
$0.02 per transaction inspection rate.
## 6. Travel Rule (FATF Recommendation 16)
For Virtual Asset Service Provider (VASP) to VASP transfers, include
the Travel Rule payload alongside the transaction body:
"travel_rule": {
"originator_vasp": {...},
"beneficiary_vasp": {...},
"originator": { "full_name", "date_of_birth", ... },
"beneficiary": { "full_name", "wallet_address" }
}
Didit handles the structured-message exchange with supported counterparty
VASPs. Reference: https://docs.didit.me/transaction-monitoring/travel-rule
## 7. Hard rules — do not change
- Base URL stays https://verification.didit.me (NOT apx.didit.me).
- Auth header stays x-api-key (lowercase, hyphenated).
- Webhook signature header stays X-Signature-V2 (NOT X-Signature).
- currency_kind is always "crypto" for wallet screening.
- direction is always UPPERCASE ("INBOUND" or "OUTBOUND").
- severity casing stays UPPERCASE: LOW, MEDIUM, HIGH, CRITICAL.
## 8. Pricing reference
- $0.15 per wallet screening on Didit's own on-chain risk data — or
bring your own screening provider and run it inside Didit.
- $0.02 per transaction inspected by the Transaction Monitoring rule
engine. AML on flagged transactions at $0.20 per check.
- 500 free verifications every month on every account, forever.
- No minimums, no contracts. Volume discounts above 100k screenings
per month — see https://didit.me/pricing.
## 9. Verify your integration
1. Create a sandbox API key at https://business.didit.me.
2. Post the example outbound transaction above against a known-flagged
tutorial wallet — the response should have severity "CRITICAL" and
carry a "sanctioned" flag.
3. Confirm the webhook fires with transaction.status.updated and the
X-Signature-V2 header verifies cleanly.
4. Open Case Management in the console — the transaction should land
in the queue with source PROVIDER and severity CRITICAL.
Done. Wallet Screening is live. Reach out to support@didit.me with the
workspace id if you hit a wall.월 $0. 신용카드 정보가 필요 없습니다.
사용한 만큼만 지불하세요. 25개 이상의 모듈. 모듈별 공개 가격, 월 최소 요금 없음.
맞춤형 MSA 및 SLA. 대규모 볼륨 및 규제 프로그램에 적합합니다.
무료로 시작 → 확인 실행 시에만 지불 → 맞춤형 계약, SLA 또는 데이터 상주를 위해 엔터프라이즈 잠금 해제.
Didit은 신원 및 사기 방지 인프라입니다. 저희가 직접 제품을 만들 때 필요하다고 생각했던 플랫폼을 구현했습니다. 개방적이고 유연하며 개발자 친화적이어서, 블랙박스처럼 통합하는 대신 스택의 실제 구성 요소로 작동합니다.
하나의 API로 개인 인증(KYC, 고객 알기), 기업 인증(KYB, 사업체 알기), 암호화폐 지갑 스크리닝(KYT, 거래 알기), 실시간 거래 모니터링을 모두 처리합니다. 이 모든 것은 다음을 위해 구축된 스택에서 이루어집니다:
기반 기술은 48개 이상의 언어로 된 14,000개 이상의 문서 유형, 1,000개 이상의 데이터 소스, 그리고 모든 세션에서 200개 이상의 사기 신호를 포함합니다. Didit 인프라는 모든 세션에서 동적으로 학습하며 매일 발전합니다.
지갑 스크리닝(Wallet Screening)은 Know Your Transaction(KYT)이라고도 불리며, 암호화폐 지갑 주소 또는 트랜잭션 해시에 대한 온체인 위험을 평가합니다. 제재 노출, 다크넷 시장, 랜섬웨어 지갑, 믹서, 도난 자금 상대방, 사기 지갑, 테러 자금 조달 등은 위험 점수, 심각도 등급, 자금 출처 분석, 그리고 실시간으로 라우팅할 수 있는 개별 플래그로 표시됩니다.
Didit 내에서 건당 $0.15로 스크리닝하거나, 자체 스크리닝 제공업체를 Didit 내에서 연동하여 동일한 /v3/ API(Application Programming Interface) 계약으로 통합된 케이스워크 및 감사를 실행할 수 있습니다.
자세한 내용은 docs.didit.me/core-technology/wallet-screening/overview를 참조하세요.
Didit 내에서 건당 $0.15로 스크리닝됩니다. 단일 공개 가격이며, 별도의 분석 계약을 관리할 필요가 없습니다.
선호하는 스크리닝 제공업체가 이미 있다면, 해당 제공업체를 Didit 내에서 연동할 수 있습니다. 제공업체 키를 비즈니스 콘솔에 붙여넣으면 Didit이 발송하는 모든 스크리닝에 해당 키가 사용되며, 기존 제공업체 계약에 따라 스크리닝 건수가 차감됩니다.
최소 사용량, 계약, 초과 요금에 대한 걱정이 없습니다. Transactions → Settings → Provider Preferences에서 워크스페이스별로 모드를 전환할 수 있습니다.
전체 과정은 일반적으로 30초 이내에 완료됩니다. 신분증을 들고, 문서를 촬영하고, 셀카를 찍으면 끝입니다. 이는 시장에서 가장 빠른 속도입니다. 기존 KYC 제공업체는 동일한 과정에 90초 이상이 소요되는 경우가 많습니다.
백엔드에서는 사용자가 셀카를 완료한 시점부터 웹훅이 실행되는 시점까지 Didit이 p99 기준 2초 이내에 결과를 반환합니다. 모바일 캡처는 느린 휴대폰과 느린 네트워크에 최적화되어 있습니다. 점진적 이미지 압축, 지연된 SDK 로드, 그리고 사용자가 웹에서 시작할 경우 QR 코드를 통해 데스크톱에서 휴대폰으로 한 번의 탭으로 전환하는 기능을 제공합니다.
어떤 제공업체가 백엔드에 있든 관계없이 표준화된 페이로드를 제공합니다.
risk_score, 0–100 범위이며, 높을수록 노출 위험이 큽니다.severity, LOW, MEDIUM, HIGH, CRITICAL.source_of_funds, 14개 이상의 카테고리(제재 지갑, 테러 자금 조달, 아동 착취, 랜섬웨어, 도난 자금, 다크넷 시장, 믹서, 사기, 고위험 거래소, 도박, 규제 거래소, P2P, 미확인 서비스)별 분석.exposure, 직접 및 간접 홉 거리, 수신 및 발신 금액을 포함한 상대방 엔티티.network_graph, 중심성 및 깊이 측정 지표.flags, sanctioned, darknet_market, mixer, ransomware와 같은 개별 신호.동일한 형태가 트랜잭션 모니터링 응답에도 적용됩니다.
모든 세션은 7가지 명확한 상태 중 하나로 처리되므로, 코드가 항상 무엇을 해야 할지 알 수 있습니다:
Approved, 모든 검사를 통과했습니다. 사용자를 다음 단계로 진행하세요.Declined, 하나 이상의 검사가 실패했습니다. 사용자가 전체 흐름을 다시 실행하지 않고 특정 실패 단계(예: 셀카 다시 찍기)를 재제출하도록 허용할 수 있습니다.In Review, 규정 준수 검토를 위해 플래그가 지정되었습니다. 콘솔에서 케이스를 열고 모든 신호를 확인한 후 승인 또는 거부를 결정하세요.In Progress, 사용자가 흐름 중간에 있습니다.Not Started, 링크가 전송되었지만 사용자가 아직 열지 않았습니다. 너무 오래 방치되면 알림을 보내세요.Abandoned, 사용자가 링크를 열었지만 제시간에 완료하지 못했습니다. 다시 참여를 유도하거나 만료시키세요.Expired, 세션 링크가 만료되었습니다. 새 세션을 생성하세요.모든 상태 변경 시 서명된 웹훅이 실행되므로 데이터베이스가 항상 동기화됩니다. 중단되거나 거부된 세션은 무료입니다.
프로덕션 데이터는 기본적으로 Amazon Web Services를 통해 유럽 연합에서 처리 및 저장됩니다. 엔터프라이즈 계약의 경우 규제 기관이 요구하는 관할권에 대해 대체 지역을 요청할 수 있습니다.
모든 곳에서 암호화됩니다. 모든 데이터베이스, 객체 스토어, 백업에 AES-256 암호화가 적용됩니다. 모든 API 호출, 웹훅, 비즈니스 콘솔 세션에서 전송 중 TLS 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.
세 가지 통합 경로 중 스택에 가장 적합한 것을 선택하세요:
동일한 대시보드, 동일한 청구, 세 가지 모두에 대해 성공당 동일한 가격이 적용됩니다. 단계별 가이드는 docs.didit.me/integration/integration-prompt에서 확인할 수 있습니다.