token-scan

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Token Scan

Token扫描

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.
使用
{skillDir}/scripts/token_scan.py
通过CertiK的Token扫描API检查单个Token合约。
当用户需要针对特定链和合约地址进行Token风险审查时,使用此技能。

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
  • 分析Token合约安全风险
  • 审查高风险发现及警报级别
  • 解读买入或卖出税费字段
  • 检查持有者集中度和LP锁定状态

Supported chains

支持的链

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. Tell the user the chain is not supported yet and list the supported chains.
bsc
,
eth
,
solana
,
arbitrum
,
base
,
polygon
,
avax
,
tron
,
ton
,
plasma
,
sui
如果用户提供的链不在此列表中,请勿调用API。告知用户该链暂不支持并列出支持的链。

Workflow

工作流程

  1. Confirm the chain is supported.
  2. Validate the address format when the chain format is obvious from the input.
  3. Prefer the bundled Python script for execution.
  4. If Python is unavailable, use the documented
    curl
    fallback.
  5. If the result is still running, report that the scan is in progress instead of pretending the scan is complete.
  6. 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.
  1. 确认链是否受支持。
  2. 当输入中可明确链的格式时,验证地址格式。
  3. 优先使用捆绑的Python脚本执行。
  4. 如果Python不可用,使用文档中提供的
    curl
    备选方案。
  5. 如果扫描仍在运行,报告扫描进行中,不要假装扫描已完成。
  6. 按以下顺序返回结果:
    • 风险概述
    • 警报列表
    • 其他Token信号,如税费、持有者集中度和LP锁定状态
  7. 仅当用户明确要求审计级细节时,才包含原始字段。

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:
bash
python3 scripts/token_scan.py --chain "bsc" --contract "0x..."
If Python is unavailable, use
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..."
重要提示:
--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..."

Output requirements

输出要求

  1. Risk overview must include
    score
    ,
    alert_count
    , and the highest alert level.
  2. Alert list must be sorted by
    Critical -> Major -> Medium -> Minor
    and show up to 8 items.
  3. If
    alert_count > 8
    , explicitly say:
    Total N alerts, showing the top 8 highest-priority items
    .
  4. Clarify that values like
    skyknight_score.details.buy_tax
    and
    skyknight_score.details.sell_tax
    are deduction factors, not the real tax percentage.
  5. Prefer the real buy or sell tax value from
    security_summary.*.extended_data.*
    when it exists.
  1. 风险概述必须包含
    score
    alert_count
    以及最高警报级别。
  2. 警报列表必须按
    Critical -> Major -> Medium -> Minor
    排序,最多显示8个条目。
  3. 如果
    alert_count > 8
    ,需明确说明:
    共N条警报,显示优先级最高的8条
  4. 需明确说明
    skyknight_score.details.buy_tax
    skyknight_score.details.sell_tax
    是扣减因子,而非实际税费百分比。
  5. 当存在实际买入或卖出税费值时,优先使用
    security_summary.*.extended_data.*
    中的值。

Public API

公开API

  • Endpoint:
    GET https://open.api.certik.com/token-scan
  • Query parameters:
    • chain
      (required)
    • address
      (required)
Example:
bash
curl -sG "https://open.api.certik.com/token-scan" \
  -H "Accept: application/json, text/plain, */*" \
  --data-urlencode "chain=eth" \
  --data-urlencode "address=0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"
Supported chain formats:
  • arbitrum
    : EVM hex
    0x...
    with 42 chars
  • avax
    : EVM hex
    0x...
    with 42 chars
  • base
    : EVM hex
    0x...
    with 42 chars
  • bsc
    : EVM hex
    0x...
    with 42 chars
  • eth
    : EVM hex
    0x...
    with 42 chars
  • plasma
    : EVM hex
    0x...
    with 42 chars
  • polygon
    : EVM hex
    0x...
    with 42 chars
  • solana
    : Base58 public key
  • sui
    : Hex
    0x...
    with module path
  • ton
    :
    EQ
    or
    UQ
    prefix, 46-48 chars
  • tron
    : Base58check, starts with
    T
    , 34 chars
  • 端点:
    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
    :42字符的EVM十六进制
    0x...
  • avax
    :42字符的EVM十六进制
    0x...
  • base
    :42字符的EVM十六进制
    0x...
  • bsc
    :42字符的EVM十六进制
    0x...
  • eth
    :42字符的EVM十六进制
    0x...
  • plasma
    :42字符的EVM十六进制
    0x...
  • polygon
    :42字符的EVM十六进制
    0x...
  • solana
    :Base58公钥
  • sui
    :带模块路径的十六进制
    0x...
  • ton
    :以
    EQ
    UQ
    为前缀,46-48字符
  • tron
    :Base58check格式,以
    T
    开头,34字符

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.
  • skyknight_score.details.buy_tax
    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
    • security_summary.sell_tax.extended_data.sell_tax
  • 如果
    message
    in progress
    ,表示扫描尚未完成。
  • 如果
    message
    success
    ,表示扫描已完成,可以进行总结。
  • 如果
    message
    error
    ,返回上游错误信息。
  • skyknight_score.details.buy_tax
    skyknight_score.details.sell_tax
    是扣减因子,并非字面意义上的税费百分比。
  • 优先使用以下位置的实际税费值:
    • security_summary.buy_tax.extended_data.buy_tax
    • security_summary.sell_tax.extended_data.sell_tax