Mixer-adjacency risk screening
Mixer-adjacency risk screening. Returns 0-100 risk score + structured evidence for an EVM address's interactions with major privacy protocols (Tornado Cash, Railgun, Privacy Pools, Aztec Connect) within 2 graph hops across 7 EVM chains. Defensible compliance-screening signal for DeFi protocols and AI agents — alternative to enterprise contracts. Information service, not transaction facilitation.
50000 (raw units)
price
3
calls / 30d
1
unique payers
2026-09-11
updated
Provider
api.hyperd.ai · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x61b51131E1e44552dE2F151Ca59DAc707D9cf1C6",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"chain": "all",
"depth": 2
},
"type": "http"
},
"output": {
"example": {
"band": "low",
"coverage": {
"cacheStatus": "miss",
"chainsFailed": [],
"chainsScanned": [
"ethereum",
"base",
"polygon",
"arbitrum",
"optimism",
"avalanche",
"bnb"
],
"depthScanned": 2,
"mixersScreened": [
"tornado_cash",
"railgun",
"privacy_pools",
"aztec_connect"
]
},
"directHits": [],
"indirectHits": [
{
"blockNumber": 18000000,
"chain": "ethereum",
"mixer": "railgun",
"mixerTxHash": "0x...",
"timestamp": "2026-05-01T00:00:00Z",
"viaAddress": "0x...",
"viaTxHash": "0x..."
}
],
"perMixerScore": {
"aztec_connect": 0,
"privacy_pools": 0,
"railgun": 23,
"tornado_cash": 0
},
"riskScore": 23
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"address": {
"description": "0x EVM wallet address to screen",
"type": "string"
},
"chain": {
"description": "Filter response to a single chain, or 'all' (default) for full cross-chain view",
"enum": [
"all",
"base",
"ethereum",
"polygon",
"arbitrum",
"optimism",
"avalanche",
"bnb"
],
"type": "string"
},
"depth": {
"description": "Graph traversal depth: 1=direct only, 2=direct+1-hop indirect (default 2)",
"enum": [
1,
2
],
"type": "integer"
}
},
"required": [
"address"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.hyperd.ai/api/privacy/mixer-risk" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.hyperd.ai/api/privacy/mixer-risk");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.hyperd.ai/api/privacy/mixer-risk")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/13219.json, and this resource appears in /discovery/resources and /discovery/search.