Skynet Score
Use {skillDir}/scripts/skynet_score.py to inspect project score search results with the CertiK public project API.
Use this skill when the user wants to look up a blockchain project's CertiK Skynet score or needs help integrating the public project score API.
When to use this skill
- Search projects by keyword or approximate project name
- Return a project's overall score, tier, and last update time
- Explain the score breakdown fields
- Show how to query the public endpoint from code or
curl
Workflow
- Extract the project keyword from the user request.
- Prefer the bundled Python script for execution.
- If Python is unavailable, use the documented
curl fallback.
- If multiple projects match, list the best candidates instead of guessing.
- When a clear match exists, summarize:
- project name
- overall Skynet score
- tier
- last updated time
- score breakdown fields that matter to the user's question
- If the user asks for implementation details, provide a minimal request example and note rate limits.
Execution
Prefer Python first:
python3 scripts/skynet_score.py --keyword "uniswap"
If Python is unavailable, use curl:
curl -sG "https://open.api.certik.com/projects" \
-H "Accept: application/json, text/plain, */*" \
--data-urlencode "keyword=uniswap"
Output guidance
- Do not invent a score when no project match is returned.
- If there are several close matches, ask the user to confirm which project they mean.
- When explaining the result, keep the overall score first and the component scores second.
- If the user asks for raw payloads or integration help, include the response shape below.
Public API
- Base URL:
https://open.api.certik.com
- Endpoint:
GET /projects
- Query parameter:
keyword (required)
Example:
curl -sG "https://open.api.certik.com/projects" \
-H "Accept: application/json, text/plain, */*" \
--data-urlencode "keyword=uniswap"
Important score fields:
score: overall Skynet score
scoreCodeSecurity: code security score
scoreCommunity: community score
scoreFundamental: fundamentals score
scoreGovernance: governance score
scoreMarket: market score
scoreOperation: operations score
tier: score tier
updatedAt: last update time
Limits and errors
- Rate limit: 50 requests per 60-second window per IP
- Headers:
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset
Retry-After on 429
Error payload:
{
"error": "Human-readable error message"
}
Common status codes:
400: missing or invalid parameters
429: rate limit exceeded
500: server-side failure