Batch wallet screening
Screen a batch of crypto wallet addresses against OFAC SDN digital currency address designations and return per-wallet results, a batch-level proceed-or-pause decision, and structured output.
Browser note: GET on this URL serves human-readable docs. Paid execution still requires POST with x402 settlement.
Returns matched and clear wallet counts, per-wallet results, source freshness, and a structured report payload for audit-ready PDF or DOCX rendering.
Example request body
Use this payload shape for the paid POST call.
{
"addresses": [
"0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"0x1111111111111111111111111111111111111111"
],
"asset": "ETH"
}Request schema
The canonical body contract as exposed through discovery and OpenAPI.
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"description": "List of crypto wallet addresses to screen against OFAC SDN digital currency designations.",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100
},
"asset": {
"type": "string",
"description": "Optional asset or network ticker filter, such as ETH, USDC, XBT, TRX, ARB, or BSC."
}
},
"required": [
"addresses"
],
"additionalProperties": false
}Example response
A representative output payload for the route.
{
"success": true,
"data": {
"query": {
"addresses": [
"0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"0x1111111111111111111111111111111111111111"
],
"normalizedAddresses": [
"0x098b716b8aaf21512996dc57eb0615e2383e2f96",
"0x1111111111111111111111111111111111111111"
],
"asset": "ETH"
},
"summary": {
"totalScreened": 2,
"matchCount": 1,
"clearCount": 1,
"manualReviewRecommended": true,
"workflowStatus": "manual_review_required"
},
"results": [
{
"query": {
"address": "0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"normalizedAddress": "0x098b716b8aaf21512996dc57eb0615e2383e2f96",
"asset": "ETH"
},
"summary": {
"status": "match",
"matchCount": 1,
"exactAddressMatch": true,
"manualReviewRecommended": true
}
},
{
"query": {
"address": "0x1111111111111111111111111111111111111111",
"normalizedAddress": "0x1111111111111111111111111111111111111111",
"asset": "ETH"
},
"summary": {
"status": "clear",
"matchCount": 0,
"exactAddressMatch": false,
"manualReviewRecommended": false
}
}
],
"sourceFreshness": {
"sourceUrl": "https://www.treasury.gov/ofac/downloads/sanctions/1.0/sdn_advanced.xml",
"refreshedAt": "2026-04-06T02:00:00.000Z",
"datasetPublishedAt": "2026-04-06T02:00:00.000Z",
"addressCount": 2,
"coveredAssets": [
"ETH",
"XBT"
]
},
"screeningOnly": true
},
"source": "OFAC SDN Advanced XML"
}cURL
Use this as the starting point for HTTP execution after the initial 402 challenge.
curl -X POST "https://api.aurelianflo.com/api/workflows/compliance/batch-wallet-screen" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
# include x402 settlement headers after the initial 402 challenge \
-d '{
"addresses": [
"0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"0x1111111111111111111111111111111111111111"
],
"asset": "ETH"
}'Related routes
Use these when you want the lower-level primitive, the buyer-facing memo workflow, or the agent install surface around this endpoint.