API
The same JSON endpoint that powers every RHCHECK report page is public and free to call directly. No API key is required for the MVP; a higher-throughput key-based tier may be introduced later if usage warrants it, but the anonymous endpoint documented here will remain available.
Endpoint
One endpoint, read-only, no authentication.
GET https://rhcheck.xyz/api/scan/{address}{address} is any 42-character 0x… contract address on Robinhood Chain (chain ID 4663). Results are cached for at least 60 seconds per address, so repeated calls for the same token within that window return instantly.
Example request
curl https://rhcheck.xyz/api/scan/0xYourTokenAddressHereExample response (success)
{
"ok": true,
"cached": false,
"report": {
"schemaVersion": 1,
"address": "0x...",
"chainId": 4663,
"generatedAt": "2026-07-22T10:00:00.000Z",
"identity": { "name": { "known": true, "value": "Example Token" }, "symbol": { "known": true, "value": "EXT" }, ... },
"risk": { "score": 35, "level": "medium", "coveragePercent": 86, "findings": [ ... ], "criticalSummary": [ ... ] },
"contract": { ... },
"ownership": { ... },
"holders": { ... },
"liquidity": { ... },
"liquidityLock": { ... },
"deployer": { ... },
"evidenceSources": [ ... ],
"explorerUrl": "https://robinhoodchain.blockscout.com/token/0x...",
"dexscreenerUrl": "https://dexscreener.com/robinhood/0x...",
"warnings": []
}
}Every field that may legitimately be unavailable is shaped as { known: boolean, value | reason } rather than being omitted or defaulted to a falsy value — see the Methodology page for the full TokenReport shape and scoring rules. This is a stable but evolving schema; schemaVersion will be incremented on any breaking change.
Errors
Non-2xx responses share this shape.
{
"ok": false,
"error": { "code": "RATE_LIMITED", "message": "Human-readable explanation." }
}| Code | HTTP status | Meaning |
|---|---|---|
| INVALID_ADDRESS | 400 | Not a valid EVM address, or not found on Robinhood Chain. |
| IS_EOA | 400 | Address is a regular wallet, not a contract. |
| NOT_A_TOKEN | 400 | Contract exists but exposes no recognizable ERC-20 metadata. |
| BLOCKSCOUT_ERROR | 502 | The upstream block explorer could not be reached. |
| RPC_ERROR | 502 | The upstream RPC endpoint could not be reached. |
| RATE_LIMITED | 429 | Too many requests from this client in the current window. |
| UNKNOWN_ERROR | 500 | An unexpected server error occurred. |
Rate limits
Requests are limited per client IP address to a small number per minute, enough for normal interactive use and light scripting. If you are rate-limited, the response includes a Retry-After header (seconds) and an HTTP 429 status. If you need sustained higher-volume access, reach out — see Changelog for how to get in touch.
Terms of use
- This API is provided as-is, without uptime guarantees, for an independent, non-commercial MVP.
- Do not use RHCHECK output as the sole basis for a financial decision — see the disclaimer below.
- Please cache responses on your end rather than polling faster than the data actually changes.
- Abusive or excessive traffic may be blocked without notice.
This is not a safety guarantee.
RHCHECK does not label any token as "safe" or "a scam." This report only reflects risk signals that could be verified from public on-chain data and the sources listed above at the time of the scan. Missing or unverifiable data is shown as Unknown and is treated as a risk factor, never as a safe default. Always do your own research before interacting with any token.
RHCHECK is an independent analytics tool and is not affiliated with or endorsed by Robinhood. Risk reports are informational only and do not constitute financial advice.