Encuentra a todos los propietarios. Verifica a cada UBO.
Un único flujo de trabajo identifica a todos los beneficiarios finales de una empresa y ejecuta un KYC completo para cada uno. $0.33 por UBO, 500 verificaciones gratis cada mes.
Con la confianza de más de 2.000 organizaciones en todo el mundo.
Lo que KYB realmente significa
La empresa no es el cliente. Sus UBOs sí lo son.
Los reguladores quieren a la persona física detrás de cada empresa incorporada, no solo
el extracto del registro. Didit extrae la entidad, recorre la cadena de propiedad, ejecuta
un KYC de $0.33 en cada UBO y compara la empresa más cada propietario con
más de 1300 listas AML. Un flujo de trabajo, una factura, un paquete de auditoría. 500 verificaciones
gratis cada mes.
Cómo funciona
Desde el registro hasta el usuario verificado en cuatro pasos.
Paso 01
Crea el flujo de trabajo
Elige las comprobaciones que necesitas: 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. Crea ramificaciones según condiciones, ejecuta pruebas A/B, sin necesidad de código.
Paso 02
Integra
Intégralo 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 quieras. Elige lo que mejor se adapte a tu stack.
Paso 03
El usuario completa el flujo
Didit aloja la cámara, las indicaciones 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. Resultados 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.
Diseñado para el descubrimiento de UBO · Precios de infraestructura
Una entidad. N UBOs. Un paquete de auditoría.
El verdadero trabajo de UBO no es una única comprobación, es una receta. Activa cada módulo por flujo de trabajo. El registro de la entidad se vincula a cada sesión de UBO, cada coincidencia AML y cada marca de tiempo firmada.
Consulta la entidad. Donde sea que esté registrada.
Companies House, Registro Mercantil, Handelsregister, Receita Federal, OpenCorporates como respaldo, más de 220 jurisdicciones. Directivos, capital social, dirección registrada, estado y situación, todo en una sola llamada.
Officers · share capital · registered address · status, one call.
02 · Árbol de propiedad
Recorre la cadena. Descubre cada UBO.
Accionistas directos, propiedad indirecta a través de participaciones, control sin propiedad, detección de nominados, respaldo de alta dirección. El gráfico se integra directamente en el paquete de supervisión.
Walks the ownership chain across nested holdings until every UBO surfaces.
03 · KYC vinculado por UBO
Un KYC de $0.33 por propietario.
Cada UBO descubierto obtiene una `/v3/session/` alojada, Verificación de ID, Detección de vida pasiva, Coincidencia facial 1:1, Dispositivo e IP, AML. Veredicto en menos de dos segundos en Android de gama baja. Más de 14.000 documentos, más de 220 países.
Hosted handoff per UBO. Returns one signed verdict per session.
04 · AML de entidad + persona
Examina la empresa y cada UBO.
Más de 1.300 listas de sanciones, Personas Expuestas Políticamente (PEP) y medios adversos. Actualizadas diariamente, en 14 idiomas. Los aciertos de entidad y UBO abren un caso automáticamente.
Umbral del 25% por defecto; ajústalo al 10% o 5% por flujo de trabajo para categorías de clientes de alto riesgo. Detección de nominados, control de derechos de voto, respaldo de alta dirección, todo codificado en el Workflow Builder sin código.
Fallback to senior management when no UBO clears the threshold.
06 · Paquete de evidencia
Un ZIP por entidad. Intégralo en la auditoría.
Extracto del registro, organigrama de propiedad, cada veredicto KYC de UBO, aciertos de AML de entidad + persona, marcas de tiempo HMAC firmadas. Almacenado en la UE. Exportable desde la Consola de Negocio o la API bajo demanda.
Un bucle de llamada por cada UBO descubierto. Agrega por entity_id.docs →
GET /v3/session/{sessionId}/decision/Auditoría
$ curl https://verification.didit.me/v3/session/$SID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Devuelve: evidencia completa, documento,
# similitud biométrica, coincidencias AML,
# riesgo de dispositivo + IP, más de 200 señales,
# Firma HMAC en el payload.
200OKestado Aprobado · Rechazado · En revisión · Reenviado
Re-evaluaciones AML continuas de cada persona aprobada diariamente. Sin necesidad de un segundo endpoint.docs →
Integración lista para agentes
Lanza un flujo de descubrimiento de UBO + KYC con un solo prompt.
Pégalo en Claude Code, Cursor, Codex, Devin, Aider o Replit Agent. Rellena tu stack. El agente construirá el flujo de trabajo, ejecutará las sesiones UBO, conectará el webhook y abrirá el paquete de evidencia.
didit-integration-prompt.md
You are integrating Didit into an Ultimate Beneficial Owner (UBO) verification flow for an obliged entity (fintech, bank, EMI, payments PI, crypto exchange, marketplace, gaming operator). Three obligations on every onboarded company:
1. Pull the legal entity from the registry — name, officers, share capital, registered address, status.
2. Walk the ownership chain — surface every natural-person UBO above the 25% threshold (or whoever exercises control without ownership).
3. Know Your Customer (KYC) each UBO + screen the entity AND each UBO against 1,300+ sanctions, Politically Exposed Persons (PEP), and adverse-media lists.
Bundle pricing (live, verified 2026-05-16):
- User Verification (KYC) bundle: $0.33 per person (Sessions API call — ID + Liveness + Face Match + Device & IP + AML)
- AML Screening standalone: $0.20 per check on the entity, or bundled into each UBO KYC
- Ongoing AML Monitoring: $0.07 per person per year (automatic — no extra endpoint)
- 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.
- A workflow_id from the no-code Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
- Business Verification (Know Your Business (KYB)) module enabled in the Business Console. KYB is the entry point — it returns the entity record + the discovered UBOs that drive the rest of the flow.
STEP 1 — Open the KYB record on the legal entity
Business Verification spawns the entity check, pulls officers + share capital + registered address from the local registry (220+ jurisdictions supported), runs entity AML on 1,300+ lists, and surfaces every natural-person UBO above your configured threshold (default 25%).
When the KYB completes, the response contains an array of discovered UBOs — name, date of birth, nationality, ownership percentage, role (direct shareholder, indirect via holding, control without ownership, nominee, senior-management fallback).
STEP 2 — Loop: open one KYC session per discovered UBO
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 entity-id>::ubo::<ubo-index>",
"callback": "https://<your-app>/kyb/ubo/callback",
"metadata": {
"purpose": "ubo_verification",
"entity_id": "<your internal entity id>",
"ubo_name": "<full name as discovered>",
"ownership_pct": "<percent rounded to one decimal>"
}
}
Response: 201 Created with the hosted session URL. Send the UBO an email or text with the URL — they complete the verification on their phone, hosted by Didit, no app install. Sub-2-second median verdict.
STEP 3 — Read the signed webhook on each UBO KYC completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<entity-id>::ubo::<ubo-index>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"ip_analysis": { "status": "Approved" },
"aml": { "status": "Approved", "hits": [] }
}
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 — HMAC SHA-256 of the raw bytes with your webhook secret.
Aggregate at the entity level: the entity is onboarded only when EVERY UBO returns Approved AND the entity AML returns no blocking hit.
STEP 4 — Retrieve the full decision later
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full decision payload: document scan + extracted Machine-Readable Zone (MRZ), biometric similarity, AML hit list with source-watchlist references, device + IP risk signals, 200+ fraud signals, HMAC signature on the entire payload.
Use this to assemble the per-entity evidence pack a supervisor expects to see: registry extract + ownership chart + per-UBO decision + entity AML + signed timestamps.
STEP 5 — Ongoing AML monitoring is automatic
Every approved person (entity officer, UBO) is re-screened DAILY against the same 1,300+ lists. There is NO separate endpoint to call.
When a previously-approved UBO crosses an AML threshold:
- The session status changes to "In Review" or "Declined" automatically.
- A signed webhook fires with the new hits + a link back to the original onboarding evidence.
- A case opens in the Business Console for your compliance team.
- File a Suspicious Activity Report (SAR) directly from the case if your jurisdiction requires it.
Cost: $0.07 per person per year on heavy-volume accounts (single-digit dollars on a million-UBO base — orders of magnitude cheaper than a manual review queue).
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook (verify X-Signature-V2).
- The KYB entity check fires the same webhook on completion.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Never UPPER_SNAKE_CASE on a session.
- The 25% UBO threshold is a default; configure your own per workflow (some jurisdictions require 10% or 5% for high-risk client categories).
- When no person meets the threshold, the AML package allows you to fall back to a senior-management UBO — surface that explicitly in the metadata.
- Default record retention is 5 years post-relationship per the EU AML package (extensible up to 10 years per member-state guidance).
- 200+ fraud signals are evaluated on every KYC session at no extra cost — surface the score via the session decision payload, do not re-query.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/core-technology/aml-screening/overview
- https://docs.didit.me/core-technology/aml-screening/continuous-monitoring-aml-screening
- 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.
¿Necesitas más contexto? Consulta la documentación completa del módulo.docs.didit.me →
Cumplimiento por diseño
Abre un nuevo país en 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 lanzar 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 presencial.
KYC por UBO, ID, prueba de vida, coincidencia facial, dispositivo e IP, AML.
0+
Sanciones, Personas Expuestas Políticamente (PEP) y listas de medios adversos filtradas para la entidad y cada UBO.
0+
Registros de empresas accesibles a través de la Verificación de Negocios, registro local más OpenCorporates como respaldo.
0
Verificaciones gratuitas cada mes, en cada cuenta.
Tres niveles, una lista de precios
Empieza gratis. Paga por uso. Escala 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
Empieza gratis → paga solo cuando se ejecuta una verificación → desbloquea Enterprise para un contrato personalizado, SLA o residencia de datos.
FAQ
Preguntas frecuentes
What is Didit?
Didit is infrastructure for identity and fraud, the platform we wished existed when we were building products ourselves: open, flexible, and developer-friendly, so it works as a real part of your stack instead of a black box you integrate around.
One API covers verifying people (KYC, know your customer), verifying businesses (KYB, know your business), screening crypto wallets (KYT, know your transaction), and monitoring transactions in real time, on a stack built to be:
Fast, sub-2-second p99 on every session
Reliable, in production with 1,500+ companies across 220+ countries
Secure, SOC 2 Type 1, ISO 27001, GDPR-native, and formally attested by Spain's financial regulator as safer than verifying someone in person
The footprint underneath: 14,000+ document types in 48+ languages, 1,000+ data sources, and 200+ fraud signals on every session. The Didit infrastructure dynamically learns from every session and gets better every day.
What is an Ultimate Beneficial Owner, in plain English?
An Ultimate Beneficial Owner (UBO) is the natural person who ultimately owns or controls a company, not the company on the registry, not a holding entity in the middle of the chain, the actual human at the top.
The standard threshold in most jurisdictions is 25% direct or indirect ownership, or anyone who exercises control without ownership (board control, voting rights, signing authority). When no one clears the threshold, regulators expect you to fall back to a senior management UBO, typically the CEO or managing director.
The point of UBO discovery is to stop bad actors from hiding behind layers of holding companies. Your obliged entity owes a verified human for every company you onboard.
Which rules ask for UBO checks?
Almost every anti-money-laundering regime in the world. The current heavy-hitters:
The EU AML package, the new Anti-Money-Laundering Regulation, the AML Directive 6 update, and the AMLA Regulation that creates the new EU-level supervisor. Customer due diligence on legal entities is the core of it.
FATF Recommendation 24, the global UBO standard every G20 country signs onto. Mutual evaluations now grade countries on how well their UBO registries work.
United States, FinCEN's Customer Due Diligence Rule plus the Corporate Transparency Act's Beneficial Ownership Information report.
United Kingdom, the People with Significant Control register on Companies House plus FCA rules for regulated firms.
The shape of the obligation is the same everywhere: identify the natural person behind the company, run identity and AML checks on each, refresh on a risk-based cadence.
How fast is the verification for my end user?
The full flow normally takes under 30 seconds end-to-end, pick up the ID, snap the document, snap the selfie, done. That is the fastest in the market. Legacy KYC providers usually take more than 90 seconds for the same flow.
On the back end, Didit returns the result in under two seconds at p99, measured from the moment the user finishes the selfie to the moment your webhook fires. Mobile capture is tuned for slow phones and slow networks: progressive image compression, lazy software development kit load, and a one-tap hand-off from desktop to phone via QR code if the user starts on web.
Why bother with the ownership tree, isn't the registry enough?
The registry tells you the company exists, who the officers are, and what the share capital says, it does not tell you who actually controls the business.
Three gaps the registry won't close:
Nested holdings, Acme Trading SL is owned 60% by Acme Holdings BV, which is owned 80% by a Cayman company, which is owned by a trust. The registry shows the first layer; you owe the human at the end of the chain.
Control without ownership, voting agreements, golden shares, nominee arrangements all transfer control without showing on the cap table.
Stale data, registries lag months behind real ownership changes. A shareholder agreement signed yesterday will not appear for weeks.
A proper UBO process walks the chain, surfaces every person above the threshold, and verifies each one. The registry is the entry point, not the answer.
What happens if a user fails, abandons, or expires?
Every session lands on one of seven clear statuses, so your code always knows what to do:
Approved, every check passed. Move the user forward.
Declined, one or more checks failed. You can allow the user to resubmit the specific failed step (for example, re-take the selfie) without re-running the whole flow.
In Review, flagged for compliance review. Open the case in the console, see every signal, decide approve or decline.
In Progress, user is mid-flow.
Not Started, link sent, user has not opened it yet. Send a reminder if it sits too long.
Abandoned, user opened the link but did not finish in time. Re-engage or expire.
Expired, the session link aged out. Create a new session.
A signed webhook fires on every status change, so your database always stays in sync. Abandoned and declined sessions are free.
Where does my customer data live and how is it protected?
Production data is processed and stored in the European Union by default, on Amazon Web Services. Enterprise contracts can request alternative regions for jurisdictions whose regulators require it.
Encryption everywhere. AES-256 at rest across every database, object store, and backup. Transport Layer Security 1.3 in transit on every API call, webhook, and Business Console session. Biometric data is encrypted under a separate Customer Master Key.
Retention is yours to control. Default retention is indefinite (unlimited) unless you configure shorter, between 30 days and 10 years per application, and you can delete any individual session at any time from the dashboard or the API.
Certifications: SOC 2 Type 1 (Type 2 audit in progress), ISO/IEC 27001:2022, iBeta Level 1 PAD, and a public attestation from Spain''s Tesoro / SEPBLAC / CNMV that Didit''s remote identity verification is safer than verifying someone in person. Full report at /security-compliance.
Is Didit compliant for my industry?
Didit ships compliant by default for the regulators that matter to identity infrastructure:
GDPR + UK GDPR, controller / processor split, full Data Processing Agreement published, lead supervisory authority named (Spain''s AEPD).
AMLD6 + EU AML Single Rulebook, 1,300+ sanctions, politically exposed person, and adverse-media lists screened in real time.
eIDAS 2.0, EU Digital Identity Wallet aligned; reusable-identity ready.
MiCA (Markets in Crypto-Assets), ready for crypto on-ramps, exchanges, and custodians.
DORA, Digital Operational Resilience Act, EU financial-services operational resilience.
BIPA, CUBI, Washington HB 1493, CCPA / CPRA, US biometric privacy (Illinois, Texas, Washington) and California consumer privacy.
UK Online Safety Act, age-gating and child-safety obligations.
FATF Travel Rule, originator and beneficiary data on crypto transfers, IVMS-101 interoperable.
Each UBO completes the same hosted KYC flow your consumer customers run, opened from a link Didit returns when you create the session. No app install, no extra software for the UBO to deal with.
The flow runs on the UBO's phone:
ID Verification, 14,000+ document types across 220+ countries
Face Match 1:1, selfie matched to the document portrait
Device & IP Analysis, 200+ real-time fraud signals on the session
AML Screening, sanctions, PEP, and adverse-media on the UBO's name + date of birth
Sub-two-second median verdict on entry-level Android. The signed result lands on your webhook with the same vendor_data reference you sent in, so wiring each UBO back to its parent entity is a one-line join.
How does ongoing monitoring work, and what does it cost?
Every approved UBO is re-screened daily against the same 1,300+ AML lists used at onboarding. There is no separate endpoint to call, it runs automatically on any session with AML enabled.
When a previously-approved UBO crosses an AML threshold:
The session status changes to In Review or Declined automatically
A signed webhook fires to your back-end with the new hits and a link back to the original onboarding evidence
A case opens in the Business Console for your compliance team to triage
File a Suspicious Activity Report (SAR) directly from the case if your jurisdiction requires it
Cost on heavy-volume accounts is $0.07 per person per year, single-digit dollars for a base of tens of thousands of UBOs, orders of magnitude cheaper than the manual review queue most teams build around it.
What evidence does an AML examiner actually see?
One ZIP per onboarded entity, exportable from the Business Console or via the API. Each pack carries:
The registry extract for the legal entity, officers, share capital, registered address, status
The ownership chart, the chain Didit walked to surface each UBO
A per-UBO decision, document scan, biometric similarity, AML hits, device + IP risk signals, 200+ fraud signals, signed timestamps
The entity AML result with source-watchlist references
The HMAC SHA-256 signature on every payload, so chain-of-custody is provable
Reviewer notes from the Case Management surface, who triaged what, when, with what decision
All evidence is stored in the European Union (EU data centres) and retained indefinitely while your subscription is active. Default record retention is 5 years post-relationship per the EU AML package, extensible up to 10 years if your supervisor asks for it.