Radarium API
Score any EVM, Solana or Tron wallet programmatically. The API mirrors the on-site scan engine: same 0-1000 score, same S-D rank, same findings. Available on the DEGEN plan.
Authentication
Generate an API key from your account (DEGEN only). The key is shown once. Send it as a Bearer token:
Authorization: Bearer rad_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Rate limits
60 requests per minute per key. Every response carries the current window:
| Header | Meaning |
|---|---|
x-ratelimit-limit | Requests allowed per minute (60) |
x-ratelimit-remaining | Requests left in this window |
x-ratelimit-reset | Unix seconds when the window resets |
Score a wallet
GET /api/v1/score
curl "https://radarium.app/api/v1/score?address=0xYourWalletHere" \ -H "Authorization: Bearer rad_your_key_here"
POST /api/v1/score
curl -X POST "https://radarium.app/api/v1/score" \
-H "Authorization: Bearer rad_your_key_here" \
-H "content-type: application/json" \
-d '{"address":"0xYourWalletHere"}'Response
{
"address": "0x...",
"chain": "evm",
"activeChains": ["eth", "bsc"],
"score": 720,
"rank": "A",
"findings": [
{ "severity": "safe", "key": "veteran", "params": { "months": 41 } },
{ "severity": "risk", "key": "dustExposure", "params": { "tokenCount": 88 } }
],
"demo": false
}Findings are returned as i18n keys plus params, not resolved text — so you can render them in any of Radarium's seven languages. Chain detection is automatic from the address format (0x = EVM, base58 = Solana, T = Tron).
Errors
| Status | Body error | Cause |
|---|---|---|
| 401 | missing_api_key / invalid_api_key | No or unknown Bearer token |
| 403 | degen_required | Key belongs to a non-DEGEN plan |
| 422 | unsupported_address | Address is not EVM, Solana or Tron |
| 429 | rate_limited | Over 60 requests/minute |
Notes
CORS is open (access-control-allow-origin: *) so you can call the API from the browser, but never expose your key in client-side code that ships to users. Scores reflect the same heuristics as the website and are a signal, not a guarantee.