Skip to main content

Sanctions Service

Manages sanctions screening for blockchain addresses and transactions.


Endpoints


Verify Address (Async)

POST /sanctions/verify-address

Starts an asynchronous address verification job. Results are delivered via webhook.

Request Body

FieldTypeRequiredDescriptionExample
externalIdstringYesExternal job ID for tracking."ext-123e4567-e89b-12d3-a456-426614174000"
addressstringYesBlockchain address to verify."0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"
blockchainstringYesBlockchain name (e.g., "ethereum", "solana")."ethereum"
callbackHeadersobjectNoOptional headers to include in webhook callback.{ "Authorization": "Bearer your-token" }

Example Request:

{
"externalId": "ext-123e4567-e89b-12d3-a456-426614174000",
"address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
"blockchain": "ethereum",
"callbackHeaders": {
"Authorization": "Bearer your-token"
}
}

Success Response

Returns job details.

{
"jobId": "job-789e4567-e89b-12d3-a456-426614174000",
"externalId": "ext-123e4567-e89b-12d3-a456-426614174000",
"status": "pending"
}

Error Responses

  • 400 Bad Request: Validation failed (missing or invalid fields)
  • 409 Conflict: Duplicate externalId

Verify Address (Sync)

POST /sanctions/verify-address/sync

Performs synchronous address verification. Returns result immediately.

Request Body

FieldTypeRequiredDescriptionExample
addressstringYesBlockchain address to verify."0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a"
blockchainstringYesBlockchain name."ethereum"

Example Request:

{
"address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
"blockchain": "ethereum"
}

Success Response

Returns verification result.

{
"address": "0x1da5821544e25c636c1417ba96ade4cf6d2f9b5a",
"blockchain": "ethereum",
"sanctioned": false,
"sources": [
{
"provider": "Chainalysis",
"match": false,
"details": {}
}
],
"checkedAt": "2025-11-20T12:34:56.789Z"
}

Error Responses

  • 400 Bad Request: Validation failed

Verify Transaction (Async)

POST /sanctions/verify-transaction

Starts an asynchronous transaction verification job. Results are delivered via webhook.

Request Body

FieldTypeRequiredDescriptionExample
externalIdstringYesExternal job ID for tracking."ext-123e4567-e89b-12d3-a456-426614174000"
transactionIdstringYesBlockchain transaction ID to verify."0xabc123..."
blockchainstringYesBlockchain name."ethereum"
callbackHeadersobjectNoOptional headers for webhook callback.{ "Authorization": "Bearer your-token" }

Example Request:

{
"externalId": "ext-123e4567-e89b-12d3-a456-426614174000",
"transactionId": "0xabc123...",
"blockchain": "ethereum",
"callbackHeaders": {
"Authorization": "Bearer your-token"
}
}

Success Response

Returns job details.

{
"jobId": "job-789e4567-e89b-12d3-a456-426614174000",
"externalId": "ext-123e4567-e89b-12d3-a456-426614174000",
"status": "pending"
}

Error Responses

  • 400 Bad Request: Validation failed (missing or invalid fields)
  • 409 Conflict: Duplicate externalId

Verify Transaction (Sync)

POST /sanctions/verify-transaction/sync

Performs synchronous transaction verification. Returns result immediately.

Request Body

FieldTypeRequiredDescriptionExample
transactionIdstringYesBlockchain transaction ID to verify."0xabc123..."
blockchainstringYesBlockchain name."ethereum"

Example Request:

{
"transactionId": "0xabc123...",
"blockchain": "ethereum"
}

Success Response

Returns verification result.

{
"transactionId": "0xabc123...",
"blockchain": "ethereum",
"sanctioned": false,
"sources": [
{
"provider": "Chainalysis",
"match": false,
"details": {}
}
],
"checkedAt": "2025-11-20T12:34:56.789Z"
}

Error Responses

  • 400 Bad Request: Validation failed

Error Format

All error responses follow this format:

{
"statusCode": "ERROR_CODE",
"error": ["Description of the error"],
"requestId": "72e32108-6260-45e9-bb12-325fe3b61e42",
"path": "endpoint path",
"timestamp": "2025-11-19T16:32:57.915Z"
}

Field Descriptions

FieldTypeDescription
jobIdstringUnique identifier for the verification job
externalIdstringExternal job ID provided by client
statusenumJob status (pending, completed, failed)
addressstringBlockchain address being verified
transactionIdstringBlockchain transaction ID being verified
blockchainstringBlockchain name (e.g., "ethereum", "solana")
sanctionedbooleanWhether the address/transaction is sanctioned
sourcesarrayList of provider results for sanctions screening
checkedAtstringISO8601 timestamp of verification

For enum values, see SanctionsJobStatus and SanctionsResult definitions.