Token Scan
Use {skillDir}/scripts/token_scan.py to inspect one token contract with the CertiK token scan API.
Use this skill when the user wants a token risk review for a specific chain and contract address.
When to use this skill
- - Analyze token contract security risk
- Review high-risk findings and alert severity
- Interpret buy or sell tax fields
- Check holder concentration and LP lock status
Supported chains
INLINECODE1 , eth, solana, arbitrum, base, polygon, avax, tron, ton, plasma, INLINECODE11
If the user provides a chain outside this list, do not call the API. Tell the user the chain is not supported yet and list the supported chains.
Workflow
- 1. Confirm the chain is supported.
- Validate the address format when the chain format is obvious from the input.
- Prefer the bundled Python script for execution.
- If Python is unavailable, use the documented
curl fallback. - If the result is still running, report that the scan is in progress instead of pretending the scan is complete.
- Return the result in this order:
- risk overview
- alert list
- additional token signals such as tax, holder concentration, and LP lock
- 7. Only include raw fields when the user explicitly asks for audit-level detail.
Execution
Important: --chain only supports bsc|eth|solana|arbitrum|base|polygon|avax|tron|ton|plasma|sui.
If the user provides a chain outside this list, do not call the API. Reply that the chain is not supported yet and include the supported chain list so the user can switch.
Prefer Python first:
CODEBLOCK0
If Python is unavailable, use curl:
CODEBLOCK1
Output requirements
- 1. Risk overview must include
score, alert_count, and the highest alert level. - Alert list must be sorted by
Critical -> Major -> Medium -> Minor and show up to 8 items. - If
alert_count > 8, explicitly say: Total N alerts, showing the top 8 highest-priority items. - Clarify that values like
skyknight_score.details.buy_tax and skyknight_score.details.sell_tax are deduction factors, not the real tax percentage. - Prefer the real buy or sell tax value from
security_summary.*.extended_data.* when it exists.
Public API
- - Endpoint: INLINECODE24
- Query parameters:
-
chain (required)
-
address (required)
Example:
CODEBLOCK2
Supported chain formats:
- -
arbitrum: EVM hex 0x... with 42 chars - INLINECODE29 : EVM hex
0x... with 42 chars - INLINECODE31 : EVM hex
0x... with 42 chars - INLINECODE33 : EVM hex
0x... with 42 chars - INLINECODE35 : EVM hex
0x... with 42 chars - INLINECODE37 : EVM hex
0x... with 42 chars - INLINECODE39 : EVM hex
0x... with 42 chars - INLINECODE41 : Base58 public key
- INLINECODE42 : Hex
0x... with module path - INLINECODE44 :
EQ or UQ prefix, 46-48 chars - INLINECODE47 : Base58check, starts with
T, 34 chars
Result notes
- - If
message is in progress, the scan has not finished. - If
message is success, the scan is complete and can be summarized. - If
message is error, return the upstream error information. - INLINECODE55 and
skyknight_score.details.sell_tax are deduction factors, not literal tax percentages. - Prefer actual tax values from:
-
security_summary.buy_tax.extended_data.buy_tax
- INLINECODE58
Token Scan
使用 {skillDir}/scripts/token_scan.py 通过 CertiK 代币扫描 API 检查一个代币合约。
当用户需要对特定链和合约地址进行代币风险评估时,使用此技能。
何时使用此技能
- - 分析代币合约安全风险
- 审查高风险发现和警报严重性
- 解释买入或卖出税费字段
- 检查持有者集中度和流动性池锁定状态
支持的链
bsc、eth、solana、arbitrum、base、polygon、avax、tron、ton、plasma、sui
如果用户提供的链不在该列表中,请勿调用 API。告知用户该链暂不支持,并列出支持的链。
工作流程
- 1. 确认链受支持。
- 当输入中链格式明显时,验证地址格式。
- 优先使用捆绑的 Python 脚本执行。
- 如果 Python 不可用,使用文档中记录的 curl 备用方案。
- 如果结果仍在运行中,报告扫描正在进行,而非假装扫描已完成。
- 按以下顺序返回结果:
- 风险概览
- 警报列表
- 额外代币信号,如税费、持有者集中度和流动性池锁定状态
- 7. 仅当用户明确要求审计级详情时,才包含原始字段。
执行
重要提示:--chain 仅支持 bsc|eth|solana|arbitrum|base|polygon|avax|tron|ton|plasma|sui。
如果用户提供的链不在该列表中,请勿调用 API。回复该链暂不支持,并包含支持的链列表,以便用户切换。
优先使用 Python:
bash
python3 scripts/token_scan.py --chain bsc --contract 0x...
如果 Python 不可用,使用 curl:
bash
curl -sG https://open.api.certik.com/token-scan \
-H Accept: application/json, text/plain, / \
--data-urlencode chain=bsc \
--data-urlencode address=0x...
输出要求
- 1. 风险概览必须包含 score、alertcount 和最高警报级别。
- 警报列表必须按 严重 -> 重大 -> 中等 -> 轻微 排序,并显示最多 8 项。
- 如果 alertcount > 8,明确说明:共 N 条警报,显示优先级最高的前 8 项。
- 澄清 skyknightscore.details.buytax 和 skyknightscore.details.selltax 等值为扣分因子,而非实际税费百分比。
- 优先使用 securitysummary..extendeddata. 中的实际买入或卖出税费值(如果存在)。
公共 API
- - 端点:GET https://open.api.certik.com/token-scan
- 查询参数:
- chain(必填)
- address(必填)
示例:
bash
curl -sG https://open.api.certik.com/token-scan \
-H Accept: application/json, text/plain, / \
--data-urlencode chain=eth \
--data-urlencode address=0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984
支持的链格式:
- - arbitrum:EVM 十六进制 0x...,42 个字符
- avax:EVM 十六进制 0x...,42 个字符
- base:EVM 十六进制 0x...,42 个字符
- bsc:EVM 十六进制 0x...,42 个字符
- eth:EVM 十六进制 0x...,42 个字符
- plasma:EVM 十六进制 0x...,42 个字符
- polygon:EVM 十六进制 0x...,42 个字符
- solana:Base58 公钥
- sui:十六进制 0x...,带模块路径
- ton:EQ 或 UQ 前缀,46-48 个字符
- tron:Base58check,以 T 开头,34 个字符
结果说明
- - 如果 message 为 in progress,扫描尚未完成。
- 如果 message 为 success,扫描已完成并可进行总结。
- 如果 message 为 error,返回上游错误信息。
- skyknightscore.details.buytax 和 skyknightscore.details.selltax 是扣分因子,而非字面税费百分比。
- 优先使用以下来源的实际税费值:
- security
summary.buytax.extended
data.buytax
- security
summary.selltax.extended
data.selltax