Solana Token Risk API

One call tells your bot whether a Solana token looks like a rug pull. Pay $0.01 USDC per call with x402. No account, no API key.

$0.01 USDC per callUSDC on Base, Solana, Polygon, Arbitrum or Monadx402 v2JSON

Endpoint

GET https://token-risk-api-vy9u.onrender.com/risk/{mint}

{mint} is the token mint address. Without payment the endpoint answers 402 Payment Required with x402 payment instructions. Any x402 client pays and retries automatically.

What you get

{
  "mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
  "mint_authority_revoked": true,
  "freeze_authority_revoked": true,
  "top10_holders_pct": 40.9,
  "largest_holder_pct": 10.4,
  "liquidity_usd": 275049.67,
  "volume_24h_usd": 107305.62,
  "market_cap_usd": 249668890,
  "pair_age_hours": 34009.8,
  "dex": "orca",
  "risk_score": 10,
  "flags": [
    "top10_over_30pct"
  ],
  "data_complete": true,
  "checked_at": 1794415601
}

risk_score runs from 0 (no warning signs found) to 100 (many). data_complete is false when a data source did not answer, in which case the score is partial. Free static sample: /sample.

Flags and scoring

FlagPointsMeaning
mint_authority_active+30Creator can still mint new supply
freeze_authority_active+25Creator can freeze holder accounts
top10_over_50pct+20Top 10 accounts hold more than 50% of supply
top10_over_30pct+10Top 10 accounts hold more than 30% of supply
no_trading_pair+30No DEX pair found
liquidity_under_5k+25Best pair has under $5k liquidity
liquidity_under_20k+15Best pair has under $20k liquidity
liquidity_under_50k+5Best pair has under $50k liquidity
pair_under_1h_old+10Trading pair created less than 1 hour ago
pair_under_24h_old+5Trading pair created less than 24 hours ago

Python

pip install "x402[requests,evm]" eth_account

from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(Account.from_key(PRIVATE_KEY)))

with x402_requests(client) as session:
    r = session.get("https://token-risk-api-vy9u.onrender.com/risk/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263")
    print(r.json())

The paying wallet needs USDC on Base, Solana, Polygon, Arbitrum or Monad. It does not need a gas token. This example pays from an EVM wallet; Solana wallets work with the x402 SVM client.

Data sources and limits

Mint and holder data come from Solana RPC, market data from DexScreener. Results are cached for 60 seconds. The top-holder figure can include liquidity pools or bonding curves.

This is an automated heuristic, not financial advice. A low score does not mean a token is safe.

For agents and tools

/llms.txt · /openapi.json · /docs · /health