Token Project Due Diligence
Evaluates a token project's legitimacy before investment or integration. Checks domain infrastructure, security posture, sanctions status, and technology stack. The answer to "is this token project real?"
token-project-dd What it runs
- WHOIS Lookup
Source: WHOIS protocol (ICANN-accredited registrar databases)
- SSL Certificate Check
Source: TLS handshake (X.509 certificate from target server)
- DNS Lookup
Source: DNS protocol (authoritative nameservers)
- Domain Reputation
Source: Threat intelligence feeds (multi-source scoring)
- Security Header Check
Source: HTTP response headers from target server (CSP, HSTS, X-Frame-Options)
- Sanctions Check
Source: Dilisense consolidated (OFAC SDN, EU FSF, UN SC, UK Sanctions List, CH SECO, BIS, World Bank, EBRD, ADB + 125 national sanctions/debarment lists; full attribution at https://dilisense.com/en/sources/sanction-sources)
- Tech Stack Detection
Source: HTTP response analysis (headers, JavaScript libraries, meta tags)
The answer returns every step’s result, so your agent can show or check each one.
Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
domain | string | Yes | Token project website domain (e.g. uniswap.org) |
entity_name | string | Yes | Project or company name for sanctions screening |
How to call it
# Needs an API key. The whole check is charged once, at the listed price.
curl -X POST https://api.strale.io/v1/solutions/token-project-dd/execute \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"inputs": {
"domain": "uniswap.org",
"entity_name": "Uniswap Labs"
},
"max_price_cents": 62
}' # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/solutions/token-project-dd \
-H 'Content-Type: application/json' \
-d '{
"domain": "uniswap.org",
"entity_name": "Uniswap Labs"
}' The bundle’s published example input.
Limitations
Some registrars rate-limit WHOIS queries — bulk lookups may see slower response times
From step: WHOIS Lookup
What to do instead: Batch lookups with 1-2 second delays between requests, or use the RDAP protocol endpoint when available
GDPR-redacted registrations (common for EU domains) show limited registrant information
From step: WHOIS Lookup
What to do instead: Use the abuse contact email from the WHOIS response to request registrant details through the registrar's disclosure process
Checks the certificate presented on port 443 only — does not verify non-standard TLS configurations
From step: SSL Certificate Check
What to do instead: For services on non-standard ports, use ssl-certificate-chain with the specific hostname:port combination
Results reflect current DNS propagation — recent changes may take up to 48 hours to appear
From step: DNS Lookup
What to do instead: Query the authoritative nameserver directly (returned in the NS records) to see changes before full propagation
Reputation scores aggregate multiple blocklists — a single listing may not indicate actual malicious activity
From step: Domain Reputation
What to do instead: Check which specific blocklist flagged the domain in the response details and verify the listing reason before blocking
Blocklist data refreshed daily — recently resolved issues may still show negative reputation for 24-48 hours
From step: Domain Reputation
What to do instead: If a domain was recently cleaned, re-check after 48 hours and use the trend direction to assess improvement
Checks HTTP security headers only — does not assess server configuration, TLS settings, or application-level vulnerabilities
From step: Security Header Check
What to do instead: Combine with ssl-check for TLS assessment and use a full DAST scanner for application-level security testing
Sanctions lists updated daily from OFAC, EU, and UN sources — newly sanctioned entities may take up to 24 hours to appear
From step: Sanctions Check
What to do instead: For same-day compliance, subscribe to OFAC's RSS feed and cross-reference against today's additions
Name matching uses fuzzy logic — common names may produce false positives. Always verify flagged results
From step: Sanctions Check
What to do instead: Filter results by match confidence score and verify flagged entities against the primary sanctions list PDF
Trustpilot, Glassdoor, LinkedIn, Google Search, Google Patents, Reddit and the major social platforms (Facebook, Instagram, X) are not supported and return a policy error before the page is read. Repeating the same request does not return content.
From step: Tech Stack Detection
Database covers 1,000+ technologies — niche or custom-built tools may not be identified
From step: Tech Stack Detection
What to do instead: Check the raw HTTP headers in the response for custom X-Powered-By or Server values that indicate unlisted technology
Detection based on HTTP headers, JavaScript libraries, and HTML signatures — technologies loaded conditionally or server-side only may not be detected
From step: Tech Stack Detection
What to do instead: Complement with dns-lookup and ssl-check results to infer infrastructure choices not visible in the HTML
Pages with more than 16 MiB of HTML are refused with a caller_input error naming the input field. The call is not charged, and the page is not retried through another fetch or rendering route.
From step: Tech Stack Detection