Didit intercambia datos de Travel Rule y verifica la billetera de la contraparte en la misma llamada de transacción `/v3/`. Cargas útiles IVMS-101, $0.17 por transferencia gestionada, 500 verificaciones gratuitas cada mes.
Con la confianza de más de 2.000 organizaciones en todo el mundo.
Lo que la Travel Rule debe
Envía la identidad. Examina la billetera. Misma llamada.
Cada VASP regulado debe ambas mitades en cada transferencia: el paquete IVMS-101
para la VASP contraparte, la pantalla de riesgo en cadena para sí mismo. Didit los envía
como una llamada a la API de transacciones: $0.17 gestionado, $0.04 con Bring Your Own
Key en el proveedor de billetera. 500 verificaciones gratuitas cada mes.
Cómo funciona
Desde el registro hasta el usuario verificado en cuatro pasos.
Paso 01
Crear el flujo de trabajo
Elige las verificaciones que desees: identificación, prueba de vida, coincidencia facial, sanciones, dirección, edad, teléfono, correo electrónico, preguntas personalizadas. Arrástralas a un flujo en el panel de control o publica el mismo flujo en nuestra API. Ramifica según las condiciones, ejecuta pruebas A/B, no se requiere código.
Paso 02
Integrar
Integra de forma nativa con nuestro SDK para Web, iOS, Android, React Native o Flutter. Redirige a una página alojada. O simplemente envía a tu usuario un enlace, por correo electrónico, SMS, WhatsApp, donde sea. Elige lo que se adapte a tu pila.
Paso 03
El usuario pasa por el flujo
Didit aloja la cámara, las señales de iluminación, la transferencia móvil y la accesibilidad. Mientras el usuario está en el flujo, puntuamos más de 200 señales de fraude en tiempo real y verificamos cada campo con fuentes de datos autorizadas. El resultado en menos de dos segundos.
Paso 04
Recibes los resultados
Los webhooks firmados en tiempo real mantienen tu base de datos sincronizada en el momento en que un usuario es aprobado, rechazado o enviado a revisión. Consulta la API bajo demanda. O abre la consola para inspeccionar cada sesión, cada señal y gestionar los casos a tu manera.
Construido para Travel Rule · Con precio de infraestructura
Una llamada. Paquete IVMS-101 + pantalla de billetera. $0.17.
Una transferencia de criptomonedas regulada no es una verificación única, es una receta. Activa cada módulo por flujo de trabajo, cambia tu propio proveedor de pantalla de billetera a través de Bring Your Own Key para reducir a $0.04 por transferencia.
Campos de originador y beneficiario poblados a partir del KYC verificado. Autoformateado al Estándar de Mensajería InterVASP 101, el esquema que leen todos los principales protocolos de Travel Rule.
Rellenado automáticamente desde la sesión KYC verificada.
02 · Umbrales por jurisdicción
Umbrales que coinciden con su jurisdicción.
TFR de la UE (sin mínimo), FinCEN de EE. UU. ($3,000), FCA del Reino Unido (£1,000), MAS (SGD 1,500), FINMA (CHF 1,000), VARA (AED 3,500). Un flujo de trabajo por jurisdicción; cambia a través de metadatos de sesión.
Un flujo de trabajo por jurisdicción; se cambia a través de los metadatos de la sesión.
03 · Interoperabilidad de protocolo
Cada protocolo de Travel Rule. Un contrato.
TRP, Sumsub Travel Rule, Notabene, Veriscope, OpenVASP, Shyft, todos accesibles a través de la misma carga útil IVMS-101. Elige una red o acepta todas; un contrato, una factura.
No hay VASP contraparte con la que intercambiar: Didit recopila la identidad del beneficiario del usuario, ejecuta desafíos de firma de prueba de control por encima de los umbrales de diligencia debida mejorada de la UE, verifica la billetera de destino, almacena el registro en formato IVMS.
Desafío de firma de prueba de control para una diligencia debida mejorada.
05 · Pantalla de billetera junto con la regla
Travel Rule + detección de monedero. Misma llamada.
$0.02 base de monitoreo de transacciones + $0.15 screening de billetera gestionado = $0.17 por transferencia. Con Bring Your Own Key en el proveedor de billetera, el screening de billetera baja a $0.02 — $0.04 en total.
Billetera de contraparte0xa11e…12cc · cleanAprobar
Impacto de sancionesOFAC SDN, puntuación 96Bloquear
Contraparte PEPFuncionario extranjeroRevisar
Medios adversosNota de sanción financieraAprobar
$0.02 base + $0.15 pantalla de billetera gestionada$0.04 con BYOK
06 · Paquete de evidencia por transferencia
Un paquete por transferencia. Se incluye en la auditoría.
Carga útil IVMS-101, veredicto de pantalla de billetera, atribución de VASP contraparte, marcas de tiempo HMAC firmadas. Almacenado en la UE. Retenido 5 años por defecto; extensible según la guía del supervisor.
Veredicto de pantalla de billeteraPuntuación + gravedad + clúster
Contraparte entranteAtribución VASP de origen
Contraparte salienteAtribución VASP de destino
Marcas de tiempo firmadasHMAC, residente en la UE
Retención 5 añosPredeterminado; extensible
Se incluye en el paquete de auditoría CASP
Integrar
Una sesión. Una transacción. Un webhook.
Verifica al usuario una vez. Envía cada transferencia con campos IVMS + billetera de la contraparte. Lee el veredicto firmado. Libera las criptomonedas.
Paquete IVMS-101 + escaneo de billetera se ejecutan en el servidor. Sin segunda llamada.documentos →
Integración lista para el agente
Envíe un flujo de Travel Rule en una sola instrucción.
Péguelo en Claude Code, Cursor, Codex, Devin, Aider o Replit Agent. Rellene su stack. El agente construye el flujo de trabajo, rellena los campos IVMS de la sesión KYC, ejecuta la verificación de la billetera y conecta el 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.
¿Necesita más contexto? Consulte la documentación completa del módulo.docs.didit.me →
Cumplimiento por diseño
Abre un nuevo país con un clic. Nosotros hacemos el trabajo duro.
Abrimos las filiales locales, aseguramos las licencias, realizamos las pruebas de penetración, obtenemos las certificaciones y nos alineamos con cada nueva regulación. Para enviar verificaciones en un nuevo país, activa un interruptor. Más de 220 países en vivo, auditados y probados trimestralmente — el único proveedor de identidad que un gobierno de un estado miembro de la UE ha calificado formalmente como más seguro que la verificación en persona.
Por transferencia gestionada — Base de monitoreo de transacciones + Verificación de billetera.
0+
Sanciones, Personas Políticamente Expuestas (PEP) y listas de medios adversos verificadas en cada usuario.
0+
Protocolos de Travel Rule interoperables en la misma carga útil IVMS-101 — TRP, Sumsub TR, Notabene, Veriscope, OpenVASP, Shyft.
0
Verificaciones gratuitas cada mes, en cada cuenta.
Tres niveles, una lista de precios
Empiece gratis. Pague por uso. Escale a Enterprise.
500 verificaciones gratuitas cada mes, para siempre. Pago por uso para producción. Contratos personalizados, residencia de datos y SLAs (Acuerdos de Nivel de Servicio) en Enterprise.
Gratis
Gratis
$0 / mes. No se requiere tarjeta de crédito.
Paquete KYC gratuito (Verificación de ID + Prueba de vida pasiva + Coincidencia facial + Análisis de dispositivo e IP) — 500 / mes, cada mes