A Didit troca dados da Travel Rule e verifica a carteira da contraparte na mesma chamada de transação /v3/. Payloads IVMS-101, $0.17 por transferência gerida, 500 verificações gratuitas todos os meses.
Confiado por mais de 2.000 organizações em todo o mundo.
O que a Travel Rule deve
Envie a identidade. Analise a carteira. Mesma chamada.
Cada VASP regulado deve ambas as metades em cada transferência — o pacote IVMS-101
para a VASP da contraparte, a verificação de risco on-chain para si mesma. A Didit envia-os
como uma chamada de API de Transações: $0.17 gerido, $0.04 com Bring Your Own
Key no provedor de carteira. 500 verificações gratuitas todos os meses.
Como funciona
Do registo ao utilizador verificado em quatro passos.
Passo 01
Criar o fluxo de trabalho
Escolha as verificações que deseja — ID, prova de vida, correspondência facial, sanções, endereço, idade, telefone, e-mail, perguntas personalizadas. Arraste-as para um fluxo no painel de controlo, ou publique o mesmo fluxo na nossa API. Ramifique em condições, execute testes A/B, sem necessidade de código.
Passo 02
Integrar
Incorpore nativamente com o nosso SDK Web, iOS, Android, React Native ou Flutter. Redirecione para uma página alojada. Ou simplesmente envie ao seu utilizador um link — por e-mail, SMS, WhatsApp, em qualquer lugar. Escolha o que melhor se adapta à sua stack.
Passo 03
O utilizador passa pelo fluxo
A Didit aloja a câmara, as indicações de iluminação, a transferência móvel e a acessibilidade. Enquanto o utilizador está no fluxo, pontuamos mais de 200 sinais de fraude em tempo real e verificamos cada campo contra fontes de dados autorizadas. Resultado em menos de dois segundos.
Passo 04
Recebe os resultados
Webhooks assinados em tempo real mantêm a sua base de dados sincronizada no momento em que um utilizador é aprovado, recusado ou enviado para revisão. Consulte a API sob demanda. Ou abra a consola para inspecionar cada sessão, cada sinal e gerir os casos à sua maneira.
Construído para Travel Rule · Preço de infraestrutura
Uma chamada. Pacote IVMS-101 + rastreio de carteira. $0.17.
Uma transferência de cripto regulada não é uma única verificação — é uma receita. Ative cada módulo por fluxo de trabalho, troque o seu próprio provedor de verificação de carteira via Bring Your Own Key para baixar para $0.04 por transferência.
Campos do originador e beneficiário preenchidos a partir do KYC verificado. Formatado automaticamente para o InterVASP Messaging Standard 101 — o esquema que todos os principais protocolos da Travel Rule leem.
Preenchido automaticamente a partir da sessão KYC verificada.
02 · Limiares por jurisdição
Limites que correspondem à sua jurisdição.
TFR da UE (sem mínimo), FinCEN dos EUA ($3.000), FCA do Reino Unido (£1.000), MAS (SGD 1.500), FINMA (CHF 1.000), VARA (AED 3.500). Um fluxo de trabalho por jurisdição; alterne via metadados da sessão.
Um fluxo de trabalho por jurisdição; alternar via metadados da sessão.
03 · Interoperabilidade de protocolo
Todos os protocolos da Travel Rule. Um contrato.
TRP, Sumsub Travel Rule, Notabene, Veriscope, OpenVASP, Shyft — todos acessíveis através do mesmo payload IVMS-101. Escolha uma rede ou aceite todas; um contrato, uma fatura.
Nenhuma VASP de contraparte para trocar — a Didit recolhe a identidade do beneficiário do utilizador, executa desafios de assinatura de prova de controlo acima dos limiares de due diligence aprimorada da UE, verifica a carteira de destino, armazena o registo no formato IVMS.
Desafio de assinatura de prova de controlo para diligência devida aprimorada.
05 · Verificação de carteira juntamente com a regra
Travel Rule + rastreio de carteira. Mesma chamada.
$0.02 base de monitorização de transações + $0.15 rastreio de carteira gerido = $0.17 por transferência. Com Bring Your Own Key no provedor de carteira, o rastreio de carteira cai para $0.02 — $0.04 no total.
$0.02 base + $0.15 ecrã de carteira gerida$0.04 com BYOK
06 · Pacote de evidências por transferência
Um pacote por transferência. Entra na auditoria.
Payload IVMS-101, veredito de verificação de carteira, atribuição de VASP de contraparte, carimbos de data/hora HMAC assinados. Armazenado na UE. Retido por 5 anos por padrão; extensível de acordo com a orientação do supervisor.
Pacote IVMS-101 + triagem de carteira executados no lado do servidor. Sem segunda chamada.documentos →
Integração pronta para agente
Envie um fluxo de Travel Rule numa única solicitação.
Cole no Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Preencha a sua stack. O agente constrói o fluxo de trabalho, preenche os campos IVMS da sessão KYC, executa a triagem da carteira e conecta o webhook.
didit-integration-prompt.md
You are integrating Didit into a Virtual Asset Service Provider (VASP) / Crypto-Asset Service Provider (CASP) to satisfy the Travel Rule on every crypto transfer. Two obligations:
1. Verify the user (KYC) — identity, liveness, face match, device + IP, AML. The originator data on every outbound transfer comes from this verified profile.
2. Submit each transfer with originator + beneficiary fields (IVMS-101) AND screen the counterparty wallet — one /v3/transactions/ call.
Bundle pricing (verified live 2026-05-16):
- User Verification (KYC) bundle: $0.33 per user (Sessions API)
- Transactions API call: $0.02 base + $0.15 managed wallet screen = $0.17 per managed transfer
- With Bring Your Own Key (BYOK) on the wallet provider: $0.04 per transfer ($0.02 + $0.02)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
- Webhook endpoint with HMAC SHA-256 verification of 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 no-code Workflow Builder with ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
- Transaction Monitoring + Wallet Screening enabled in the Business Console (Transactions > Settings).
STEP 1 — Verify the user with the Sessions API (one-time onboarding)
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + AML modules>",
"vendor_data": "<your user id>",
"callback": "https://<your-app>/casp/onboard/callback",
"metadata": {
"purpose": "casp_onboarding"
}
}
Response: 201 Created with the hosted session URL. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on KYC completion
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.
Capture the user's full name, date of birth, address, and any registered identity-document number from the decision payload. These fields populate the IVMS-101 originator block on every subsequent transfer.
STEP 3 — Submit every transfer with IVMS-101 + wallet screen in one call
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body (required fields verified live 2026-05-16):
{
"transaction_id": "<your internal transfer reference>",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.45",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "transfer"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your user id>",
"full_name": "<originator name from KYC>",
"address": "<originator address from KYC>",
"dob": "<originator dob from KYC, YYYY-MM-DD>"
},
"counterparty": {
"entity_type": "individual",
"full_name": "<beneficiary name>",
"address": "<beneficiary address if known>",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "<counterparty wallet address>"
}
}
}
REQUIRED fields the API rejects if missing:
- subject.vendor_data + subject.full_name
- counterparty.full_name
- transaction_details.direction + currency + currency_kind + amount
- counterparty.payment_method.account_id (the wallet address)
Didit packages the subject + counterparty fields into an IVMS-101 payload, hands them off to the connected Travel Rule protocol (TRP / Sumsub TR / Notabene / Veriscope), runs Wallet Screening on the counterparty address server-side, and returns one verdict.
Response shape (excerpted from a real successful 201):
{
"uuid": "<server transaction uuid>",
"txn_id": "<your transaction_id echoed back>",
"status": "APPROVED",
"score": 0,
"severity": null,
"travel_rule": { "status": "EXCHANGED", "protocol": "<network>", "ivms_packet_id": "<id>" },
"props": {
"wallet_risk_score": 0,
"sanctions_hit": false,
"aml_provider": "<provider slug>",
"aml_screening_type": "WALLET_SCREENING",
"aml_screening_status": "COMPLETED"
},
"cost_breakdown": {
"total_price": 0.17,
"items": [
{ "usage_type": "transaction_aml_monitoring", "price": 0.15 },
{ "usage_type": "transaction_monitoring", "price": 0.02 }
]
}
}
Transaction status enum (exact case, UPPER_SNAKE_CASE): APPROVED | IN_REVIEW | DECLINED | AWAITING_USER.
Wallet-screen severity (UPPER): LOW | MEDIUM | HIGH | CRITICAL | UNKNOWN.
Branch logic:
APPROVED → release the crypto.
IN_REVIEW → hold the transfer, route to analyst queue.
DECLINED → refuse the transfer, log the IVMS attempt for the audit.
AWAITING_USER → redirect the user to the remediation URL on the response.
STEP 4 — Inbound transfers: ingest the counterparty's IVMS packet
When you RECEIVE a transfer from another VASP:
- The connected Travel Rule protocol delivers the originator IVMS data to you BEFORE the on-chain transfer settles.
- Submit it via the same POST /v3/transactions/ with direction: "INBOUND" and the originator fields on subject and your own beneficiary on counterparty.
- Wallet Screening runs on the originator wallet (subject.payment_method.account_id).
- Verdict drives whether to credit the user.
STEP 5 — Self-hosted (unhosted) wallet transfers
For transfers TO a self-hosted wallet (no counterparty VASP to exchange with):
- Collect the beneficiary identity from the user via a custom questionnaire ($0.10).
- Above local enhanced-due-diligence thresholds, prompt the user to sign a short message with the beneficiary wallet's private key as proof of control.
- Submit the transaction with the captured beneficiary fields + wallet address.
- Didit still runs Wallet Screening on the destination and stores the IVMS-format record for the audit.
STEP 6 — Continuous AML on the user is automatic
Every approved user is re-screened daily against 1,300+ sanctions, PEP, and adverse-media lists. There is NO separate endpoint to call. When a previously-clean user crosses an AML threshold, the session status updates and a signed webhook fires.
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 Title Case With Spaces; transaction statuses UPPER_SNAKE_CASE. Don't mix.
- EU Transfer of Funds Regulation has NO de minimis threshold for crypto — every transfer carries originator + beneficiary data.
- US Travel Rule kicks in at $3,000; UK at £1,000; Singapore at SGD 1,500; Switzerland at CHF 1,000. Apply per-workflow.
- Default record retention is 5 years post-transfer per most AML regimes; extensible per supervisor guidance.
- Wallet Screening MUST run BEFORE the crypto leaves — a post-transfer screen is useful for audit but useless for blocking.
Read the docs:
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/transaction-monitoring/transactions
- https://docs.didit.me/transaction-monitoring/aml-screening
- https://docs.didit.me/sessions-api/create-session
- 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.
Precisa de mais contexto? Consulte a documentação completa do módulo.docs.didit.me →
Conforme por design
Abra um novo país com um clique. Nós fazemos o trabalho difícil.
Abrimos as subsidiárias locais, garantimos as licenças, realizamos os testes de penetração, obtemos as certificações e alinhamos com cada nova regulamentação. Para enviar verificações num novo país, basta ativar um botão. Mais de 220 países em funcionamento, auditados e testados trimestralmente — o único fornecedor de identidade que um governo de um estado membro da UE formalmente considerou mais seguro do que a verificação presencial.
Por transferência gerida — Base de Monitorização de Transações + Triagem de Carteira.
0+
Sanções, Pessoas Politicamente Expostas (PEP) e listas de meios de comunicação adversos rastreadas em cada utilizador.
0+
Protocolos de Travel Rule interoperáveis na mesma carga útil IVMS-101 — TRP, Sumsub TR, Notabene, Veriscope, OpenVASP, Shyft.
0
Verificações gratuitas todos os meses, em todas as contas.
Três níveis, uma lista de preços
Comece gratuitamente. Pague por uso. Escale para Enterprise.
500 verificações gratuitas todos os meses, para sempre. Pagamento conforme o uso para produção. Contratos personalizados, residência de dados e SLAs (Service Level Agreements) no Enterprise.
Grátis
Grátis
$0 / mês. Não é necessário cartão de crédito.
Pacote KYC gratuito (Verificação de ID + Prova de Vida Passiva + Correspondência Facial + Análise de Dispositivo e IP) — 500 / mês, todos os meses
Comece gratuitamente → pague apenas quando uma verificação for executada → desbloqueie o Enterprise para um contrato personalizado, SLA ou residência de dados.