kya/screening_v2
/kya/screening_v2 端点用于提交新的筛查任务,支持同步和异步两种模式。异步模式会返回 task_id 供后续查询结果;同步模式则会直接在响应中返回风险结果。
- HTTP 方法:
GET - 端点路径:
/kya/screening_v2 - Query 参数:
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
chain | String | 是 | 目标区块链名称(必须是支持的链,见支持的链页面) | eth、btc、bsc |
address | String | 是 | 有效的区块链地址 | 0x1234567890abcdef1234567890abcdef12345678 |
rule_set_id | String | 否 | 可选参数:standard-mode-rule-set(默认)或 fast-mode-rule-set | |
mode | String | 否 | 可选参数:async(默认)或 sync |
异步模式响应
Section titled “异步模式响应”| 字段 | 类型 | 出现条件 | 说明 |
|---|---|---|---|
task_id | String | 始终返回 | 筛查任务 ID |
示例代码 - 异步模式
Section titled “示例代码 - 异步模式”请求
curl -X GET "https://api.skyinsights.certik.com/v4/kya/screening_v2?chain=eth&address=0x2782b70De7B99cEc2AD56Ff67b14fA269945Ce4b&rule_set_id=standard-mode-rule-set" \ -H "X-API-Key: YOUR_API_KEY" \ -H "X-API-Secret: YOUR_API_SECRET"响应
{ "code": 202, "message": "accepted", "data": { "task_id": "698d7b705f481da34257a174" }}同步模式响应
Section titled “同步模式响应”| 字段 | 类型 | 出现条件 | 说明 |
|---|---|---|---|
chain | String | 始终返回 | 区块链网络标识(例如 eth)。 |
address | String | 始终返回 | 被筛查的钱包地址。 |
rule_set_id | String | 始终返回 | 该任务使用的合规策略 ID。 |
status | String | 始终返回 | 当前任务状态(例如 SUCCESS、FAILED)。 |
retry_count | Integer | 始终返回 | 系统重试次数。 |
created_at | String | 始终返回 | 任务创建时间,ISO 8601 格式。 |
updated_at | String | 始终返回 | 最近更新时间,ISO 8601 格式。 |
started_at | String | 始终返回 | 分析开始时间,ISO 8601 格式。 |
finished_at | String | 始终返回 | 分析结束时间,ISO 8601 格式。 |
api_key | String | 始终返回 | 发起该请求的 API Key。 |
org_id | String | 始终返回 | 组织 ID。 |
result | Object | 始终返回 | 筛查结果。 |
-risk_results | Object | 始终返回 | 分组后的风险类别(例如 Hack、Scam)。 |
--origin | String | 在风险结果中始终返回 | 风险来源(例如 self)。 |
--sub_origin | String | 在风险结果中始终返回 | 风险来源维度(例如标签或实体)。 |
--category | String | 在风险结果中始终返回 | 高层分类(例如 Cefi、Dapp、Infra)。 |
--level | String | 在风险结果中始终返回 | 该风险因子的严重等级。 |
--trigger | Object | 在风险结果中始终返回 | 技术规则和触发器标识。 |
---rule_id | String | 始终返回 | 命中的内部规则 ID。 |
---trigger_id | String | 始终返回 | 具体命中的触发条件 ID。 |
--exposure | Object | 在风险结果中始终返回 | 风险关联的数值和路径分析。 |
---direction | String | 始终返回 | 资金方向(Inbound 或 Outbound)。 |
---share | Float | 始终返回 | 风险暴露金额占总金额的比例(0.0 到 1.0)。 |
---amount_usd | Float | 始终返回 | 该风险暴露对应的美元总额。 |
---tx_count | Integer | 始终返回 | 贡献该暴露的交易数量。 |
---counterparty_address | String | 始终返回 | 风险来源对应的地址。 |
---hop_count | Integer | 始终返回 | 目标地址与风险源之间的跳数(1 表示直接关联)。 |
---path_count | Integer | 始终返回 | 识别出的资金路径总数。 |
---paths_aggregated | Boolean | 始终返回 | 是否对多条路径进行了聚合。 |
---paths | Array | 始终返回 | 详细路径可视化数据(无结果时返回 [])。 |
-counterparties | Object | 始终返回 | 以钱包地址为键的对手方数据映射。 |
--counterparty | String | 在对手方数据中始终返回 | 对手方钱包地址。 |
--risk_factors | Object | 在对手方数据中始终返回 | 该对手方的具体风险标签和来源。 |
---origin | String | 在风险因子中始终返回 | 风险来源(例如 self)。 |
---sub_origin | String | 在风险因子中始终返回 | 风险来源维度(例如标签或实体)。 |
---category | String | 在风险因子中始终返回 | 高层分类(例如 Cefi、Dapp、Infra)。 |
---level | String | 在风险因子中始终返回 | 风险严重等级。 |
---trigger | Object | 在风险因子中始终返回 | 技术规则和触发器标识。 |
----rule_id | String | 始终返回 | 命中的内部规则 ID。 |
----trigger_id | String | 始终返回 | 具体命中的触发条件 ID。 |
--transactions | Array | 在对手方数据中始终返回 | 与该对手方的实际转账列表。 |
---chain | String | 在交易中始终返回 | 交易发生的链。 |
---hash | String | 在交易中始终返回 | 交易哈希。 |
---type | String | 在交易中始终返回 | 交易类型(例如 Normal)。 |
---block_number | Integer | 在交易中始终返回 | 交易区块高度。 |
---timestamp | Integer | 在交易中始终返回 | Unix 时间戳。 |
---from | String | 在交易中始终返回 | 发送地址。 |
---to | String | 在交易中始终返回 | 接收地址。 |
---amount | String | 在交易中始终返回 | 原始资产数量。 |
---usd_value | Number | 在交易中始终返回 | 转账时刻的美元估值。 |
---token_address | String | 在交易中始终返回 | 资产合约地址(原生币通常使用 0xEeee...)。 |
---token_decimals | Integer | 在交易中始终返回 | 代币精度,用于格式化原始数量。 |
---token_price | Number | 在交易中始终返回 | 交易时刻该资产的美元单价。 |
示例代码 - 同步模式
Section titled “示例代码 - 同步模式”请求
curl -X GET "https://api.skyinsights.certik.com/v4/kya/screening_v2?chain=eth&address=0x2782b70De7B99cEc2AD56Ff67b14fA269945Ce4b&rule_set_id=standard-mode-rule-set&mode=sync" \ -H "X-API-Key: YOUR_API_KEY" \ -H "X-API-Secret: YOUR_API_SECRET"响应
{ "code": 200, "message": "success", "data": { "chain": "eth", "address": "0x2782b70De7B99cEc2AD56Ff67b14fA269945Ce4b", "rule_set_id": "standard-mode-rule-set", "status": "SUCCESS", "retry_count": 0, "created_at": "2026-03-10T09:10:30.374Z", "updated_at": "2026-03-10T09:10:35.529Z", "started_at": "2026-03-10T09:10:34.927Z", "finished_at": "2026-03-10T09:10:35.529Z", "api_key": "YOUR_API_KEY", "org_id": "YOUR_ORG", "result": { "risk_results": { "Mixing": [ { "origin": "Direct Exposure", "sub_origin": "Label", "category": "Mixing", "level": "Medium", "trigger": { "rule_id": "rule-mixing", "trigger_id": "mixing-direct-label-trigger" }, "exposure": { "direction": "Inbound", "share": 0.33919121289729925, "amount_usd": 96325.4921875, "tx_count": 1, "counterparty_address": "0x0039F22efB07A647557C7C5d17854CFD6D489eF3", "hop_count": 1, "path_count": 0, "paths_aggregated": false, "paths": [] } } ] }, "counterparties": { "0x0039F22efB07A647557C7C5d17854CFD6D489eF3": { "counterparty": "0x0039F22efB07A647557C7C5d17854CFD6D489eF3", "risk_factors": { "Mixing": [ { "origin": "Self", "sub_origin": "Label", "category": "Mixing", "level": "Medium", "trigger": { "rule_id": "label_based", "trigger_id": "Tornado Withdrawal Address" } } ] }, "transactions": [ { "chain": "eth", "hash": "0xd331f3956229f16e6abb7463c73927f4a8147cebe706ea3de91834e0c3dd5430", "type": "Normal", "block_number": 15479035, "timestamp": 1662397862, "from": "0x0039F22efB07A647557C7C5d17854CFD6D489eF3", "to": "0x2782b70De7B99cEc2AD56Ff67b14fA269945Ce4b", "amount": "47000000000000000000", "usd_value": 96325.4921875, "token_address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "token_decimals": 18, "token_price": 2049.478515625 } ] } } } }}