API Reference
Send a token address. Get a verdict. Build smarter.
Authentication
API access requires a key. Connect your Phantom wallet on rugpullshield.xyz — your API key is automatically generated and visible on your Account page. Free accounts start with 10 credits.
Your Key
••••••••-••••-••••-••••-••••••••••••
How It Works
- Connect your Phantom wallet on rugpullshield.xyz — your API key appears instantly on your Account page
- Send a GET request with your token address and API key
- Read the verdict: LOW RISK or HIGH RISK
Endpoint
GET
https://rugpullshield.xyz/api/v1/risk-score
Parameters
| Parameter | Status | Description |
|---|---|---|
| address | required | Solana token mint address (32–44 characters) |
| api_key | required | Your API key (UUID format). Also accepted as X-API-Key header. |
Response
● LOW RISK — 200 OK
{
"token_address": "62T6yZyta...",
"risk_label": "LOW RISK",
"token": {
"name": "Anonymous Duck",
"symbol": "ZDUCK",
"price_usd": "0.00000417",
"dex": "raydium"
},
"credits_remaining": 9
}
● HIGH RISK — 200 OK
{
"token_address": "9xKp2Lmn...",
"risk_label": "HIGH RISK",
"token": { ... },
"credits_remaining": 8
}
risk_label: "LOW RISK"
→ Token appears safe — relatively low rug pull risk
risk_label: "HIGH RISK"
→ High rug pull risk detected — avoid this token
⚠ Risk verdicts are probabilistic signals based on on-chain data — not financial advice. Always do your own research before trading any token.
Error Responses
-
401
{"error": "API key required..."}— missing or invalid key -
402
{"error": "Insufficient credits..."}— out of credits -
400
{"error": "Invalid token address"}— bad address format
Rate Limits
3 requests per second per API key.
Exceeding the limit returns 429 Too Many Requests.
Pricing
| Package | Credits | Price |
|---|---|---|
| Starter | 1,000 scans | 0.1 SOL |
| Pro | 3,000 scans | 0.25 SOL |
| Power | 9,000 scans | 0.6 SOL |
Visit our Pricing page to purchase credits with SOL.
Code Examples
curl "https://rugpullshield.xyz/api/v1/risk-score?address=TOKEN_ADDRESS&api_key=YOUR_KEY"
import requests
response = requests.get(
"https://rugpullshield.xyz/api/v1/risk-score",
params={"address": "TOKEN_ADDRESS", "api_key": "YOUR_KEY"}
)
data = response.json()
print(data["risk_label"]) # "LOW RISK" or "HIGH RISK"
print(data["credits_remaining"]) # remaining credits
const res = await fetch( "https://rugpullshield.xyz/api/v1/risk-score?address=TOKEN_ADDRESS&api_key=YOUR_KEY" ); const data = await res.json(); console.log(data.risk_label); // "LOW RISK" or "HIGH RISK" console.log(data.credits_remaining); // remaining credits