Didit hubadilishana data ya Sheria ya Safari na kuchunguza pochi ya mpinzani kwenye simu moja ya /v3/ transaction. IVMS-101 payloads, $0.17 kwa uhamisho unaosimamiwa, uthibitishaji 500 bila malipo kila mwezi.
Kila VASP inayodhibitiwa inadaiwa nusu zote mbili kwenye kila uhamisho, pakiti ya IVMS-101
kwa VASP mpinzani, uchunguzi wa hatari wa mnyororo kwa yenyewe. Didit huwasilisha
kama simu moja ya API ya Miamala: $0.17 inayosimamiwa, $0.04 na Bring Your Own
Key kwenye mtoa huduma wa pochi. Uthibitishaji 500 bila malipo kila mwezi.
Jinsi inavyofanya kazi
Kuanzia kujisajili hadi mtumiaji aliyethibitishwa kwa hatua nne.
Hatua 01
Unda mtiririko wa kazi
Chagua ukaguzi unaotaka, kitambulisho, uhai, kulinganisha uso, vikwazo, anwani, umri, simu, barua pepe, maswali maalum. Ziburute kwenye mtiririko kwenye dashibodi, au tuma mtiririko huo huo kwenye API yetu. Panga masharti, fanya majaribio ya A/B, hakuna msimbo unaohitajika.
Hatua 02
Unganisha
Pachika asili na SDK yetu ya Web, iOS, Android, React Native, au Flutter. Elekeza kwenye ukurasa uliopangishwa. Au tuma tu mtumiaji wako kiungo, kwa barua pepe, SMS, WhatsApp, popote. Chagua kinachofaa stack yako.
Hatua 03
Mtumiaji anapitia mtiririko
Didit huandaa kamera, ishara za mwanga, kukabidhiana kwa simu, na ufikiaji. Wakati mtumiaji yuko kwenye mtiririko, tunapima ishara 200+ za udanganyifu kwa wakati halisi na kuthibitisha kila sehemu dhidi ya vyanzo vya data vya kuaminika. Matokeo chini ya sekunde mbili.
Hatua 04
Unapokea matokeo
Webhooks zilizotiwa saini kwa wakati halisi huweka database yako sawa mara tu mtumiaji anapoidhinishwa, kukataliwa, au kutumwa kwa ukaguzi. Uliza API inapohitajika. Au fungua console kukagua kila kikao, kila ishara, na kudhibiti kesi kwa njia yako.
Imejengwa kwa Sheria ya Safari · Bei kama miundombinu
Simu moja. Pakiti ya IVMS-101 + uchunguzi wa pochi. $0.17.
Uhamisho wa crypto unaodhibitiwa sio ukaguzi mmoja, ni mapishi. Washa kila moduli kwa kila mtiririko wa kazi, badilisha mtoa huduma wako wa uchunguzi wa pochi kupitia Bring Your Own Key ili kushuka hadi $0.04 kwa kila uhamisho.
Sehemu za mwanzilishi na mnufaika zimejazwa kutoka KYC iliyothibitishwa. Zimepangwa kiotomatiki kwa InterVASP Messaging Standard 101, schema ambayo kila itifaki kuu ya Travel Rule inasoma.
EU TFR (hakuna kiwango cha chini), US FinCEN ($3,000), UK FCA (£1,000), MAS (SGD 1,500), FINMA (CHF 1,000), VARA (AED 3,500). Mtiririko mmoja wa kazi kwa kila mamlaka; badilisha kupitia metadata ya kipindi.
One workflow per jurisdiction; switch via session metadata.
03 · Utangamano wa itifaki
Kila itifaki ya Travel Rule. Mkataba mmoja.
TRP, Sumsub Travel Rule, Notabene, Veriscope, OpenVASP, Shyft, zote zinafikiwa kupitia payload ileile ya IVMS-101. Chagua mtandao mmoja au kubali yote; mkataba mmoja, ankara moja.
Hakuna VASP mshirika wa kubadilishana naye, Didit inakusanya utambulisho wa mnufaika kutoka kwa mtumiaji, inafanya changamoto za uthibitisho wa udhibiti juu ya viwango vya EU vya ukaguzi wa kina, inachunguza pochi lengwa, inahifadhi rekodi ya muundo wa IVMS.
Proof-of-control sign challenge for enhanced due diligence.
05 · Skrini ya pochi pamoja na sheria
Travel Rule + skrini ya pochi. Simu ileile.
$0.02 msingi wa ufuatiliaji wa miamala + $0.15 usimamizi wa Wallet Screening = $0.17 kwa kila uhamisho. Ukiwa na Bring Your Own Key kwa mtoa huduma wa pochi, skrini ya pochi inashuka hadi $0.02, jumla ya $0.04.
$0.02 base + $0.15 managed wallet screen$0.04 with BYOK
06 · Kifurushi cha ushahidi kwa kila uhamisho
Kifurushi kimoja kwa kila uhamisho. Inaingia kwenye ukaguzi.
Payload ya IVMS-101, uamuzi wa skrini ya pochi, sifa ya VASP mshirika, mihuri ya muda ya HMAC iliyosainiwa. Imehifadhiwa EU. Inahifadhiwa miaka 5 kwa chaguo-msingi; inaweza kupanuliwa kulingana na mwongozo wa msimamizi.
201Imeundwa{ hali IMEIDHINISHWA · INAPITIWA · IMEKATALIWA · INAMSUBIRI_MTUMIAJI }
Ujumuishaji tayari kwa agent
Tengeneza mfumo wa Travel Rule kwa amri moja.
Bandika kwenye Claude Code, Cursor, Codex, Devin, Aider, au Replit Agent. Jaza stack yako. Agent itajenga workflow, itajaza sehemu za IVMS kutoka kwenye session ya KYC, itaendesha wallet screen, na kuunganisha 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.
Inatii kwa muundo
Fungua nchi mpya kwa kubofya mara moja. Tunafanya kazi ngumu.
Tunafungua kampuni tanzu za ndani, tunapata leseni, tunafanya majaribio ya kupenya, tunapata vyeti, na tunalingana na kila kanuni mpya. Ili kusafirisha uthibitishaji katika nchi mpya, geuza swichi. Nchi 220+ ziko hewani, zinakaguliwa na kupimwa kila robo mwaka, mtoa huduma pekee wa utambulisho ambaye serikali ya nchi mwanachama wa EU imemwita rasmi kuwa salama zaidi kuliko uthibitishaji wa ana kwa ana.
Kwa kila uhamisho unaosimamiwa, Transaction Monitoring base + Wallet Screening.
0+
Vikwazo, Watu Walio Wazi Kisiasa (PEP), na orodha za habari hasi huchunguzwa kwa kila mtumiaji.
0+
Itifaki za Travel Rule zinazoweza kufanya kazi pamoja kwenye IVMS-101 payload moja, TRP, Sumsub TR, Notabene, Veriscope, OpenVASP, Shyft.
0
Uthibitishaji wa bure kila mwezi, kwenye kila akaunti.
Ngazi tatu, orodha moja ya bei
Anza bure. Lipa kulingana na matumizi. Panua hadi Enterprise.
Uthibitishaji 500 bila malipo kila mwezi, milele. Lipa kadri unavyotumia kwa uzalishaji. Mikataba maalum, uhifadhi wa data, na SLA (Service Level Agreements) kwenye Enterprise.
Bure
Bure
$0 / mwezi. Hakuna kadi ya mkopo inayohitajika.
Kifurushi cha bure cha KYC (Uthibitishaji wa Kitambulisho + Passive Liveness + Face Match + Uchambuzi wa Kifaa & IP), 500 / mwezi, kila mwezi
Watumiaji Waliozuiwa
Utambuzi wa Marudio
Ishara 200+ za udanganyifu kwenye kila session
KYC inayoweza kutumika tena kwenye mtandao wa Didit
Jukwaa la Usimamizi wa Kesi
Workflow Builder
Nyaraka za umma, sandbox, SDKs, server ya MCP (Model Context Protocol)