Kestrel

Kestrel API

Honeypot & rug scanner for Robinhood Chain · REST · JSON

Base URL https://hoodscope-indol.vercel.app. JSON in, JSON out. Errors return { "error": string } with a 4xx/5xx status. Rate limits: analyze 20/min, chat 15/min per IP. No auth required in v1.
POST/api/analyze

Scan a token by address, Dexscreener/Uniswap URL, or free text. Returns a full risk report (verdict, risk score, sellability, contract x-ray, holders, wash-trading, taxes, pools, sentiment).

Request
{
  "input": "0x4af4b579…3251f174"
}
Response 200
{
  "report": {
    "verdict": "SCAM / HONEYPOT",
    "riskScore": 100,
    "sellable": false,
    "ownerCapabilities": [],
    "redFlags": ["HONEYPOT: …"],
    …
  }
}
cURL
curl -s https://hoodscope-indol.vercel.app/api/analyze \
  -H 'content-type: application/json' \
  -d '{"input":"0x4af4b5794314eee48d5c9a23726593ba3251f174"}'
POST/api/chat

Ask a follow-up about a scanned token. The server re-loads the report itself and answers via Azure OpenAI (GPT), Claude fallback. Token metadata is treated as untrusted data; secrets never enter the model context.

Request
{
  "token": "0x26c41b…966cdf",
  "question": "Can I sell this?",
  "history": []
}
Response 200
{
  "answer": "It's sellable now, but the
  owner can blacklist the pool to
  freeze sells — a delayed honeypot…"
}
cURL
curl -s https://hoodscope-indol.vercel.app/api/chat \
  -H 'content-type: application/json' \
  -d '{"token":"0x26c41b10527de2dc870fa5c9d5f4a8dbaa966cdf","question":"Can I sell this?"}'
GET/api/openapi

The full OpenAPI 3.1 document for this API (schemas for AnalysisReport, Pool, Verdict, etc.). Import it into Postman, Swagger, or a codegen tool.

Request
(no body)
Response 200
{ "openapi": "3.1.0", "paths": { … } }
cURL
curl -s https://hoodscope-indol.vercel.app/api/openapi