Chain
Multi-hop wallet forensics with labelled exposure scoring API
Traces an EVM address's counterparties up to two hops over public RPC (bounded to recent transfers and top-K counterparties per hop), matches every hop against the OFAC crypto-address index plus a curated mixer/bridge/exchange/hack label set, and returns a 0-100 exposure score with a risk narrative, direct/indirect fund-flow paths, first/last activity, and behavioral flags — labelled multi-hop tracing an agent cannot cheaply replicate. Answers 'Does this wallet have direct or indirect exposure to sanctioned, mixer, or hack addresses?', 'What is its overall AML risk score and why?'.
Price$0.1per request
MethodPOST
Route/v1/chain/wallet-diligence
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache3600s public
chainwallet-diligenceforensicsexposuresanctionsmixerriskaml
API URL
Integration docshttps://x402.hexl.dev/v1/chain/wallet-diligenceExample request
{
"address": "0x1111111111111111111111111111111111111111",
"chain": "base"
}Example response
{
"address": "0x1111111111111111111111111111111111111111",
"chain": "base",
"score": 96,
"severity": "critical",
"sanctioned": true,
"directExposure": true,
"indirectExposure": false,
"exposures": [
{
"hop": 1,
"address": "0x9999999999999999999999999999999999999999",
"label": "Lazarus Group",
"kind": "sanctioned",
"reason": "direct counterparty is Lazarus Group (OFAC: DPRK3, CYBER2)."
}
],
"flags": [
"sanctioned_exposure"
],
"firstSeen": "2023-11-14T22:13:20.000Z",
"lastSeen": "2023-11-20T11:33:20.000Z",
"transactionCount": 12,
"hopsTraced": 2,
"transfersTraced": 18,
"narrative": "CRITICAL: direct transfers to/from an OFAC-sanctioned address. direct counterparty is Lazarus Group (OFAC: DPRK3, CYBER2). Overall exposure score 96/100 (critical)."
}Input schema
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "0x-prefixed 40-hex EVM address to investigate."
},
"chain": {
"type": "string",
"enum": [
"base",
"ethereum"
],
"default": "base",
"description": "Chain to trace on."
}
},
"examples": [
{
"address": "0x1111111111111111111111111111111111111111",
"chain": "base"
}
]
}Output schema
{
"type": "object",
"additionalProperties": true
}