CUSTODY_COMPLIANCE_ENABLED=true, every outbound transaction is screened by the configured provider (chainalysis or shuftipro) before broadcast. The transaction stays in PENDING_AML_SCREENING until the screening completes.
See Errors and codes for screening-failure recovery and Configuration reference for provider setup.
List screenings
| Param | Type | Description |
|---|---|---|
status | string | pending, completed, flagged, failed |
provider | string | chainalysis, shuftipro |
risk_score_min | int | 0–100 |
Get screening
Get screening for a transaction
404 if none exists.
Shufti Pro async callback
- Verifies the
Signatureheader againstCUSTODY_SHUFTIPRO_SECRET_KEY - Updates the screening record
- Resumes the transaction (
PENDING_AML_SCREENING→READY_FOR_BROADCASTor →BLOCKED_BY_AML) - Emits the
transaction.aml_screening.completedwebhook
Required permissions
| Endpoint | Permission |
|---|---|
GET /v1/compliance/screenings* | compliance:read |
POST /v1/compliance/callback/shuftipro | (none — provider HMAC) |