Encontre todos os proprietários. Verifique cada UBO.
Um único fluxo de trabalho identifica todos os Beneficiários Finais de uma empresa cadastrada e executa um KYC completo para cada um. $0.33 por UBO, 500 verificações gratuitas por mês.
Confiado por mais de 2.000 organizações em todo o mundo.
O que KYB realmente significa
A empresa não é o cliente. Os UBOs dela são.
Os reguladores querem a pessoa física por trás de cada empresa cadastrada, não apenas
o extrato do registro. A Didit consulta a entidade, percorre a cadeia de propriedade, executa
um KYC de $0.33 em cada UBO e verifica a empresa e cada proprietário em mais de
1.300 listas AML. Um fluxo de trabalho, uma fatura, um pacote de auditoria. 500 verificações
gratuitas por mês.
Como funciona
Do cadastro ao usuário verificado em quatro passos.
Passo 01
Crie o fluxo de trabalho
Escolha as verificações que você quer, ID, prova de vida, correspondência facial, sanções, endereço, idade, telefone, e-mail, perguntas personalizadas. Arraste-as para um fluxo no painel ou publique o mesmo fluxo em nossa API. Crie ramificações com base em condições, execute testes A/B, sem necessidade de código.
Passo 02
Integre
Incorpore nativamente com nossos SDKs Web, iOS, Android, React Native ou Flutter. Redirecione para uma página hospedada. Ou simplesmente envie um link ao seu usuário, por e-mail, SMS, WhatsApp, onde quiser. Escolha o que melhor se adapta à sua stack.
Passo 03
O usuário passa pelo fluxo
A Didit hospeda a câmera, as dicas de iluminação, a transição para dispositivos móveis e a acessibilidade. Enquanto o usuário está no fluxo, pontuamos mais de 200 sinais de fraude em tempo real e verificamos cada campo em relação a fontes de dados autorizadas. Resultado em menos de dois segundos.
Passo 04
Você recebe os resultados
Webhooks assinados em tempo real mantêm seu banco de dados sincronizado no momento em que um usuário é aprovado, recusado ou enviado para revisão. Consulte a API sob demanda. Ou abra o console para inspecionar cada sessão, cada sinal e gerenciar casos do seu jeito.
Feito para descoberta de UBO · Preço de infraestrutura
Uma entidade. N UBOs. Um pacote de auditoria.
O trabalho real de UBO não é uma única verificação, é uma receita. Ative cada módulo por fluxo de trabalho. O registro da entidade se vincula a cada sessão de UBO, cada ocorrência de AML e cada carimbo de data/hora assinado.
Consulte a entidade. Onde quer que esteja registrada.
Companies House, Registro Mercantil, Handelsregister, Receita Federal, fallback OpenCorporates, mais de 220 jurisdições. Diretores, capital social, endereço registrado, status e situação, tudo em uma única chamada.
Officers · share capital · registered address · status, one call.
02 · Estrutura de propriedade
Siga a cadeia. Encontre cada UBO.
Acionistas diretos, propriedade indireta via holdings, controle sem propriedade, detecção de nominee, fallback de alta gerência. O gráfico vai direto para o pacote do supervisor.
Walks the ownership chain across nested holdings until every UBO surfaces.
03 · KYC vinculado por UBO
Um KYC de $0.33 por proprietário.
Cada UBO descoberto recebe uma /v3/session/ hospedada, Verificação de ID, Prova de Vida Passiva, Face Match 1:1, Dispositivo & IP, AML. Veredito em menos de dois segundos em Android de entrada. Mais de 14.000 documentos, mais de 220 países.
Hosted handoff per UBO. Returns one signed verdict per session.
04 · AML de entidade + pessoa
Faça a triagem da empresa e de cada UBO.
Mais de 1.300 listas de sanções, Pessoas Expostas Politicamente (PEP) e mídias adversas. Atualizadas diariamente, em 14 idiomas. Acertos de entidade e UBO abrem um caso automaticamente.
Limite de 25% por padrão; reduza para 10% ou 5% por fluxo de trabalho para categorias de clientes de alto risco. Detecção de nominee, controle de direitos de voto, fallback de alta gerência, tudo codificado no Workflow Builder sem código.
Fallback to senior management when no UBO clears the threshold.
06 · Pacote de evidências
Um ZIP por entidade. Inclua na auditoria.
Extrato do registro, gráfico de propriedade, cada veredito KYC de UBO, acertos de AML de entidade + pessoa, timestamps HMAC assinados. Armazenado na UE. Exportável do Business Console ou da API sob demanda.
Faça uma chamada por UBO descoberto. Agregue por entity_id.docs →
GET /v3/session/{sessionId}/decision/Auditoria
$ curl https://verification.didit.me/v3/session/$SID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
# Retorna: evidência completa, documento,
# similaridade biométrica, ocorrências de AML,
# risco de dispositivo + IP, mais de 200 sinais,
# Assinatura HMAC no payload.
200OKstatus Aprovado · Recusado · Em Análise · Reenviado
Re-verificações contínuas de AML para cada pessoa aprovada diariamente. Sem endpoint secundário.docs →
Integração pronta para agentes
Lance um fluxo de descoberta de UBO + KYC em um único prompt.
Cole no Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Preencha sua stack. O agente constrói o fluxo de trabalho, executa as sessões UBO em loop, conecta o webhook, abre o pacote de evidências.
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.
Precisa de mais contexto? Consulte a documentação completa do módulo.docs.didit.me →
Conformidade por design
Abra um novo país com um clique. Nós fazemos o trabalho pesado.
Nós abrimos as subsidiárias locais, garantimos as licenças, realizamos os testes de penetração, obtemos as certificações e nos alinhamos a cada nova regulamentação. Para lançar verificações em um novo país, basta ativar uma chave. Mais de 220 países ativos, auditados e testados trimestralmente, o único provedor de identidade que um governo de um estado membro da UE formalmente considerou mais seguro do que a verificação presencial.
Por UBO KYC, ID, Prova de Vida, Face Match, Dispositivo & IP, AML.
0+
Sanções, Pessoas Politicamente Expostas (PEP) e listas de mídia adversa verificadas na entidade e em cada UBO.
0+
Registros de empresas acessíveis via Verificação de Negócios, registro local mais fallback OpenCorporates.
0
Verificações gratuitas todo mês, em todas as contas.
Três planos, uma tabela de preços
Comece grátis. Pague pelo uso. Escale para Enterprise.
500 verificações gratuitas todo mês, para sempre. Pague conforme usar para produção. Contratos personalizados, residência de dados e SLAs (Service Level Agreements) no plano Enterprise.
Grátis
Grátis
$0 / mês. Não precisa de cartão de crédito.
Pacote KYC grátis (Verificação de ID + Prova de Vida Passiva + Comparação Facial + Análise de Dispositivo e IP), 500 / mês, todo mês
Comece grátis → pague apenas quando uma verificação for executada → desbloqueie o Enterprise para um contrato personalizado, SLA ou residência de dados.
FAQ
Perguntas frequentes
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.