Standard report

The full risk verdict, plus a section-by-section breakdown: contract verification, owner privileges, holder concentration, liquidity, trading patterns, and tokenomics — each with its own sub-score and evidence.

POST /api/v1/standard-report $1.00100 / hour

Auth: account balance or x402. See Authentication.

Request

FieldTypeRequiredDescription
project_addressstringRequiredContract/mint address.
chainstringRequiredA supported chain.
include_sectionsstring[]OptionalSubset to return. Default ["contract","tokenomics","team","social"].
curl -X POST https://csds.blockchainrangers.com/api/v1/standard-report \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project_address": "0x…",
    "chain": "ethereum",
    "include_sections": ["contract", "tokenomics"]
  }'
$headers = @{ Authorization = "Bearer YOUR_API_KEY" }
$body = @{ project_address = "0x…"; chain = "ethereum"; include_sections = @("contract","tokenomics") } | ConvertTo-Json
Invoke-RestMethod "https://csds.blockchainrangers.com/api/v1/standard-report" `
  -Method Post -Headers $headers -Body $body -ContentType "application/json"
import httpx

r = httpx.post(
    "https://csds.blockchainrangers.com/api/v1/standard-report",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"project_address": "0x…", "chain": "ethereum"},
)
report = r.json()
csds check 0x… --chain ethereum --full --format json

Response

The top level carries the headline verdict (risk_score, risk_level, confidence, recommendation) and adds a sub-object per dimension, each with its own risk_score:

SectionHighlights
verificationSource-code verified, audit status, honeypot detection.
owner_privilegesMint/freeze authority, dangerous admin functions.
holder_concentrationTop-10/top-100 %, Gini, largest holder.
liquidityTotal liquidity, pools, lock status.
trading_patternsVolume/price spikes vs. historical baseline.
red_flags / green_flagsCategorized signals with severity.
{
  "risk_score": 64,
  "risk_level": "HIGH",
  "recommendation": { "verdict": "AVOID", "reasoning": "…" },
  "confidence": 0.9,
  "verification": { "contract_verified": false, "honeypot_detected": false, "risk_score": 80 },
  "owner_privileges": { "has_dangerous_functions": true, "detected_functions": ["mint", "pause"], "risk_score": 75 },
  "holder_concentration": { "top_10_percentage": 71.4, "gini_coefficient": 0.88, "risk_score": 70 },
  "liquidity": { "total_liquidity_usd": 18400, "pools": [ { "dex": "Uniswap", "locked": false } ], "risk_score": 60 },
  "trading_patterns": { "volume_spike_detected": true, "risk_score": 55 },
  "red_flags": [ { "severity": "HIGH", "category": "ownership", "description": "Mint authority active" } ],
  "green_flags": []
}

Reported scam tokens

If the token has been reported by the community and confirmed as a scam by our review team, the request is hard-blocked: no analysis runs, and a flat $0.10 lookup fee is charged (not the full price). The response is 200 with "blocked": true — check that flag first, before reading the risk fields (they are absent). Same behavior on Deep dive, the web app, and the CLI.
{
  "blocked": true,
  "code": "reported_scam",
  "risk_score": 100,
  "risk_level": "CRITICAL",
  "recommendation": "AVOID",
  "message": "This token has been reported by the community and confirmed as a scam by our review team.",
  "charged_cents": 10,
  "charged_display": "$0.10"
}

Errors

See the error reference. Unfunded requests return 402.

Related

Deep dive History, code analysis, and monitoring. Deep dive Adds history + monitoring. How scoring works The dimensions and weights.