Skip to main content
GET
/
v1
/
risk
/
token
Get Token Risk Assessment
curl --request GET \
  --url https://api.range.org/v1/risk/token \
  --header 'X-API-KEY: <api-key>'
{
  "token_info": {
    "asset_address": "So11111111111111111111111111111111111111112",
    "name": "Wrapped SOL",
    "symbol": "SOL"
  },
  "overall_assessment": {
    "risk_level": "LOW",
    "risk_score": 123,
    "max_score": 123,
    "risk_percentage": 72.5
  },
  "summary": {
    "total_factors": 123,
    "high_risk_count": 123,
    "medium_risk_count": 123,
    "low_risk_count": 123
  },
  "risk_factors": {},
  "processing_time_ms": 154,
  "errors": [
    "<string>"
  ]
}
The Token Risk Assessment API evaluates up to 17 independent risk factors across multiple categories to identify potential threats, vulnerabilities, and suspicious attributes in Solana tokens. This analysis helps users make informed decisions about token interactions, investments, and compliance requirements.

🎯 Key Features

Multi-Factor Analysis: Evaluates up to 17 distinct risk factors when data is available • Real-Time Assessment: Fast analysis with typical response times under 500ms • Robust Error Handling: Continues analysis even when some data sources are unavailable • Detailed Explanations: Human-readable explanations for each risk factor assessment • Threshold Transparency: Clear risk thresholds with configurable parameters available on request

📊 Risk Assessment Framework

The API analyzes up to 17 risk factors across 5 core categories. Note that not all risk factors may be assessed for every token due to data availability from internal sources and calculations.

🔑 Authority & Control (3 factors)

1. Circulating Supply Ratio
  • Purpose: Detects token dilution risk from centralized mint authority control
  • Data Used: circSupply vs totalSupply fields, audit.mintAuthorityDisabled flag
  • Calculation: circulating_supply / total_supply ratio analysis
  • Risk Logic: Low circulating ratios indicate active mint authority usage, creating severe dilution potential
  • Thresholds: HIGH < 80%, MEDIUM 80-95%, LOW >95%
  • Why This Matters: Mint authorities can create unlimited new tokens, severely diluting existing holders without warning
2. Freeze Authority
  • Purpose: Identifies trading restriction risk through account freezing capabilities
  • Data Used: freezeAuthority field, audit.freezeAuthorityDisabled flag
  • Calculation: Boolean presence check with audit override logic
  • Risk Logic: Freeze authority allows token accounts to be frozen, preventing trading
  • Thresholds: HIGH (present), LOW (absent or disabled)
  • Why This Matters: Account freezing can trap user funds and prevent trading indefinitely
3. Mint Authority
  • Purpose: Assesses supply inflation risk from token creation capabilities
  • Data Used: mintAuthority field, audit.mintAuthorityDisabled flag
  • Calculation: Boolean presence check with audit override logic
  • Risk Logic: Active mint authority enables unlimited token creation
  • Thresholds: HIGH (present), LOW (absent or disabled)
  • Why This Matters: New token minting can instantly devalue existing holdings through inflation

💰 Market Structure (5 factors)

4. Market Capitalization
  • Purpose: Evaluates manipulation susceptibility through market size analysis
  • Data Used: mcap (market capitalization) field
  • Calculation: Direct USD market cap comparison against thresholds
  • Risk Logic: Smaller market caps are more susceptible to price manipulation
  • Thresholds: HIGH < 1M,MEDIUM1M, MEDIUM 1M-100M,LOW>100M, LOW >100M
  • Why This Matters: Low market cap tokens require less capital to manipulate prices significantly
5. Token Verification
  • Purpose: Identifies due diligence gaps increasing scam exposure
  • Data Used: isVerified boolean field
  • Calculation: Direct boolean evaluation
  • Risk Logic: Unverified tokens lack institutional due diligence validation
  • Thresholds: HIGH (unverified), LOW (verified)
  • Why This Matters: Verification processes help filter out fraudulent or high-risk projects
6. Liquidity
  • Purpose: Assesses exit execution difficulty and holder trapping risk
  • Data Used: liquidity USD value field
  • Calculation: Direct USD liquidity comparison against thresholds
  • Risk Logic: Low liquidity creates difficulty executing large trades
  • Thresholds: HIGH < 10K,MEDIUM10K, MEDIUM 10K-100K,LOW>100K, LOW >100K
  • Why This Matters: Insufficient liquidity can trap holders unable to exit positions
7. Holder Count
  • Purpose: Measures ownership distribution and manipulation resistance
  • Data Used: holderCount field
  • Calculation: Direct holder count comparison against thresholds
  • Risk Logic: Few holders indicate high concentration and easier market control
  • Thresholds: HIGH < 100, MEDIUM 100-1000, LOW >1000
  • Why This Matters: Concentrated ownership enables coordinated price manipulation
8. Top Holder Concentration
  • Purpose: Detects extreme concentration enabling coordinated dump attacks
  • Data Used: audit.topHoldersPercentage field
  • Calculation: Percentage of total supply held by top holders
  • Risk Logic: High concentration by top holders enables catastrophic coordinated selling
  • Thresholds: HIGH >90%, MEDIUM 80-90%, LOW < 80%
  • Why This Matters: Large holders can cause devastating price crashes through coordinated selling

📈 Trading Patterns (3 factors)

9. Price Volatility
  • Purpose: Identifies market instability or manipulation through price swing analysis
  • Data Used: priceChange from stats5m, stats1h, stats6h, stats24h fields
  • Calculation: Maximum absolute price change across all timeframes
  • Risk Logic: Extreme price swings suggest instability or active manipulation
  • Thresholds: HIGH >50%, MEDIUM 20-50%, LOW < 20%
  • Why This Matters: High volatility indicates unstable markets or potential manipulation
10. Wash Trading
  • Purpose: Detects artificial trading activity creating false liquidity impressions
  • Data Used: buyVolume and sellVolume from stats1h, stats6h, stats24h fields
  • Calculation: Buy/sell volume balance analysis across timeframes
  • Risk Logic: Suspiciously balanced buy/sell volumes indicate artificial trading
  • Thresholds: HIGH (suspicious in ≥2 timeframes), LOW (normal patterns)
  • Why This Matters: Wash trading creates false impressions of trading activity and demand
11. Organic Activity
  • Purpose: Evaluates authentic demand vs bot-driven trading activity
  • Data Used: organicScoreLabel field
  • Calculation: Direct label evaluation (high/medium/low)
  • Risk Logic: Low organic scores suggest bot-driven rather than genuine trading
  • Thresholds: HIGH (low organic), MEDIUM (medium organic), LOW (high organic)
  • Why This Matters: Bot-driven trading indicates lack of genuine user interest and adoption

🚀 Platform & Social (4 factors)

12. Developer Migrations
  • Purpose: Assesses project stability through team migration history
  • Data Used: audit.devMigrations field
  • Calculation: Count of developer team migrations
  • Risk Logic: Frequent migrations indicate team instability and abandonment risk
  • Thresholds: HIGH ≥5, MEDIUM 2-4, LOW < 2
  • Why This Matters: Team instability often precedes project abandonment
13. Exchange Listings
  • Purpose: Validates legitimacy through institutional due diligence requirements
  • Data Used: cexes (centralized exchanges) array field
  • Calculation: Count and quality of exchange listings
  • Risk Logic: Major exchanges require due diligence, providing legitimacy validation
  • Thresholds: HIGH (no listings), MEDIUM (< 3 or no major), LOW (major exchanges)
  • Why This Matters: Exchange listings indicate institutional validation and due diligence
14. Launchpad Platform
  • Purpose: Identifies platform reputation risk through historical correlation analysis
  • Data Used: launchpad, platform fields, mint address patterns
  • Calculation: Platform identification and risk correlation lookup
  • Risk Logic: Some platforms have higher historical rates of fraudulent launches
  • Thresholds: HIGH (high-risk platforms like pump.fun), LOW (other platforms)
  • Why This Matters: Platform choice correlates with project quality and fraud rates
15. Social Media Presence
  • Purpose: Evaluates team transparency and accountability mechanisms
  • Data Used: twitter, telegram, website fields
  • Calculation: Boolean presence check across social platforms
  • Risk Logic: Social presence provides transparency and accountability channels
  • Thresholds: HIGH (no presence), LOW (active presence)
  • Why This Matters: Team transparency enables accountability and reduces exit scam risk

Temporal (2 factors)

16. Token Age
  • Purpose: Assesses maturity and operational track record
  • Data Used: firstPool.createdAt timestamp field
  • Calculation: Days since first liquidity pool creation
  • Risk Logic: New tokens lack operational history and higher experimental risk
  • Thresholds: HIGH < 7 days, MEDIUM 7-30 days, LOW > 30 days
  • Why This Matters: Time provides validation of project sustainability and reduces rug pull risk
17. Graduation Status
  • Purpose: Evaluates transition volatility in recently promoted tokens
  • Data Used: graduatedAt timestamp field
  • Calculation: Days since launchpad graduation
  • Risk Logic: Recent graduations often create volatility during market transitions
  • Thresholds: MEDIUM < 7 days, LOW >7 days or N/A
  • Why This Matters: Graduation transitions can create price volatility and instability

🔢 Risk Scoring System

Scoring Methodology

  • Factor Scoring: LOW = 0 points, MEDIUM = 1 point, HIGH = 2 points
  • Total Score: Sum of all assessed factor scores (maximum 34 points for 17 factors)
  • Risk Percentage: (total_score / max_possible_score) × 100

Overall Risk Classification

  • 🔴 HIGH RISK: ≥60% of maximum possible score
  • 🟡 MEDIUM RISK: ≥30% but < 60% of maximum possible score
  • 🟢 LOW RISK: < 30% of maximum possible score

Custom Thresholds

Current thresholds are calibrated for optimal risk detection. Custom threshold injection is available for enterprise clients—contact info@range.org to request this feature.

📡 Data Sources & Availability

Token data is sourced from internal data aggregation and calculations combining multiple blockchain data providers. The service analyzes available data fields dynamically: Available Data Fields: circSupply, totalSupply, freezeAuthority, mintAuthority, mcap, isVerified, liquidity, holderCount, audit.topHoldersPercentage, stats*, organicScoreLabel, cexes, launchpad, twitter, telegram, website, firstPool.createdAt, graduatedAt Data Availability: Not all data fields are available for every token. The API gracefully handles missing data by:
  • Skipping unavailable risk factors
  • Including detailed error messages explaining missing assessments
  • Continuing analysis with available data
  • Providing partial results with warnings when appropriate

⚡ Response Format

Low-Risk Token Example (USDC)

{
  "token_info": {
    "mint_address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "name": "USD Coin",
    "symbol": "USDC"
  },
  "overall_assessment": {
    "risk_level": "LOW",
    "risk_score": 6,
    "max_score": 26,
    "risk_percentage": 23.1
  },
  "summary": {
    "total_factors": 13,
    "high_risk_count": 3,
    "medium_risk_count": 0,
    "low_risk_count": 10
  },
  "risk_factors": {
    "circulating_ratio": {
      "level": "LOW",
      "explanation": ">95% circulating - minimal mint authority usage"
    },
    "freeze_authority": {
      "level": "HIGH",
      "explanation": "Freeze authority present - token accounts can be frozen by authority"
    },
    "minting_authority": {
      "level": "HIGH",
      "explanation": "Mint authority present - new tokens can be created, diluting existing holders"
    },
    "market_cap": {
      "level": "LOW",
      "explanation": "Market cap >$100,000,000 - established project"
    },
    "token_verification": {
      "level": "LOW",
      "explanation": "Token verified - passed institutional due diligence"
    }
  },
  "processing_time_ms": 378.2,
  "errors": [
    "Dev migration data not available - dev_migrations assessment skipped",
    "Exchange listing data not available - exchange_listings assessment skipped"
  ]
}

Medium-Risk Token Example (Limited Data)

{
  "token_info": {
    "mint_address": "5aaHbSR47rtH7m7pV5FEyoqkvGjGRE1xv3kzEjVw4YBx",
    "name": "DEAD LAND SURVIVAL",
    "symbol": "$DEADLAND"
  },
  "overall_assessment": {
    "risk_level": "MEDIUM",
    "risk_score": 2,
    "max_score": 6,
    "risk_percentage": 33.3
  },
  "summary": {
    "total_factors": 3,
    "high_risk_count": 1,
    "medium_risk_count": 0,
    "low_risk_count": 2
  },
  "risk_factors": {
    "freeze_authority": {
      "level": "LOW",
      "explanation": "No freeze authority - accounts cannot be frozen"
    },
    "minting_authority": {
      "level": "LOW",
      "explanation": "No mint authority - token supply is fixed"
    },
    "organic_activity": {
      "level": "HIGH",
      "explanation": "Low organic score - indicates bot-driven trading activity"
    }
  },
  "processing_time_ms": 403.6,
  "errors": [
    "Circulating supply data not available - circulating_ratio assessment skipped",
    "Market cap data not available - market_cap assessment skipped",
    "Token verification data not available - token_verification assessment skipped",
    "Liquidity data not available - liquidity assessment skipped"
  ]
}

🚨 API Endpoint

Request

GET /api/v1/ml/risk/assessment/token

Parameters

ParameterTypeRequiredDescription
mint_addressstringYesSolana token mint address (32-44 character base58 string)
networkstringNoBlockchain network (default: “solana”) - currently only ‘solana’ is supported

Headers

X-API-KEY: your-api-key
Content-Type: application/json

Response Structure

Success Response (200)

{
  "token_info": {
    "mint_address": "string",
    "name": "string",
    "symbol": "string"
  },
  "overall_assessment": {
    "risk_level": "LOW|MEDIUM|HIGH",
    "risk_score": "number",
    "max_score": "number",
    "risk_percentage": "number"
  },
  "summary": {
    "total_factors": "number",
    "high_risk_count": "number",
    "medium_risk_count": "number",
    "low_risk_count": "number"
  },
  "risk_factors": {
    "factor_name": {
      "level": "LOW|MEDIUM|HIGH",
      "explanation": "string"
    }
  },
  "processing_time_ms": "number",
  "errors": ["string"]
}

Error Response (400/500)

{
  "error": "string",
  "error_type": "string",
  "detail": "string",
  "mint_address": "string"
}

🔧 Error Handling Examples

Invalid Address Format

{
  "detail": [
    {
      "type": "string_pattern_mismatch",
      "loc": ["query", "mint_address"],
      "msg": "String should match pattern '^[1-9A-HJ-NP-Za-km-z]{32,44}$'",
      "input": "invalid_address",
      "ctx": {
        "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
      }
    }
  ]
}

Network Error

{
  "error": "Unsupported network",
  "error_type": "validation_error",
  "detail": "Only 'solana' network is supported",
  "mint_address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
}

Response Features

  • Graceful Degradation: Returns partial results when some risk factors cannot be assessed
  • Detailed Error Messages: Specific explanations for each failed assessment in the errors array
  • Transparent Processing: Non-fatal errors included in response for troubleshooting
  • Consistent Structure: All successful responses follow the same JSON schema

🔄 Service Evolution

This is a constantly evolving service with continuous improvements:
  • New Risk Factors: Additional risk factors are regularly researched and implemented
  • Enhanced Detection: Machine learning integration and advanced pattern recognition
  • Threshold Optimization: Regular calibration based on market conditions and feedback
  • Data Source Expansion: Integration with additional data providers for better coverage

💡 Use Cases

Compliance & Risk Management

  • Screen tokens before integration into DeFi protocols
  • Assess compliance risk for regulatory requirements
  • Evaluate tokens for institutional investment policies

DeFi & Trading Applications

  • Pre-trade risk assessment for automated strategies
  • Portfolio risk monitoring and rebalancing
  • User protection in DeFi applications

Security & Due Diligence

  • Token vetting for exchange listings
  • Investment research and due diligence
  • Fraud prevention and scam detection

📝 Example Requests & Responses

Stablecoin Assessment (Low Risk)

Request:
curl -X GET "https://api.range.org/api/v1/ml/risk/assessment/token?mint_address=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&network=solana" \
  -H "X-API-KEY: your-api-key"
Key Insights: USDC shows LOW overall risk (23.1%) despite having freeze/mint authorities, demonstrating how multiple factors contribute to the final assessment. The token benefits from high market cap, verification status, and strong liquidity.

Utility Token Assessment

Request:
curl -X GET "https://api.range.org/api/v1/ml/risk/assessment/token?mint_address=JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN&network=solana" \
  -H "X-API-KEY: your-api-key"

Additional Test Tokens

  • USDT: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
  • Wrapped SOL: So11111111111111111111111111111111111111112

Established Meme Tokens:

  • BONK: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
  • WIF: EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm
  • POPCAT: 7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr

DeFi & Infrastructure:

  • Pyth Network: HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3
  • Marinade SOL: mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So
  • JitoSOL: J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn

Meme Token Assessment

Request:
curl -X GET "https://api.range.org/api/v1/ml/risk/assessment/token?mint_address=2qEHjDLDLbuBgRYvsxhc5D6uDWAivNFZGan56P1tpump&network=solana" \
  -H "X-API-KEY: your-api-key"
Key Insights: PNUT (Peanut the Squirrel) shows LOW overall risk (9.4%) with only launchpad risk flagged as HIGH due to pump.fun origin, demonstrating that established meme tokens can achieve good risk profiles over time.

Limited Data Token Assessment

Request:
curl -X GET "https://api.range.org/api/v1/ml/risk/assessment/token?mint_address=5aaHbSR47rtH7m7pV5FEyoqkvGjGRE1xv3kzEjVw4YBx&network=solana" \
  -H "X-API-KEY: your-api-key"
Key Insights: Tokens with limited data availability result in MEDIUM risk classification (33.3%) with extensive error reporting, demonstrating the API’s graceful degradation capabilities.

🌐 Network Support

Currently Supported:
  • Solana - Full risk assessment with 17+ risk factors
Future Network Support: We are actively working to expand network support. Planned additions include:
  • 🔄 Ethereum - ERC-20 token risk assessment (in development)
  • 🔄 Base - Layer 2 token analysis (roadmap)
  • 🔄 Arbitrum - Rollup token evaluation (roadmap)
  • 🔄 Polygon - Multi-chain compatibility (roadmap)
Contact info@range.org to request priority support for specific networks or to discuss enterprise multi-chain requirements.

📞 Support & Contact

For technical support, enterprise features, or custom threshold configurations:
  • Email: info@range.org
  • Documentation: This reference guide
  • Response Time: Typically under 500ms for standard requests

📊 Risk Factor Summary Table

FactorCategoryData SourceHIGH RiskMEDIUM RiskLOW Risk
Circulating Supply RatioAuthority & ControlcircSupply/totalSupply< 80%80-95%>95%
Freeze AuthorityAuthority & ControlfreezeAuthorityPresent-Absent/Disabled
Mint AuthorityAuthority & ControlmintAuthorityPresent-Absent/Disabled
Market CapitalizationMarket Structuremcap< $1M1M1M-100M>$100M
Token VerificationMarket StructureisVerifiedUnverified-Verified
LiquidityMarket Structureliquidity< $10K10K10K-100K>$100K
Holder CountMarket StructureholderCount< 100100-1000>1000
Top Holder ConcentrationMarket Structureaudit.topHoldersPercentage>90%80-90%< 80%
Price VolatilityTrading Patternsstats*.priceChange>50%20-50%< 20%
Wash TradingTrading Patternsstats*.buyVolume/sellVolumeSuspicious ≥2 TF-Normal
Organic ActivityTrading PatternsorganicScoreLabelLowMediumHigh
Developer MigrationsPlatform & Socialaudit.devMigrations≥52-4< 2
Exchange ListingsPlatform & SocialcexesNo listings< 3/no majorMajor exchanges
Launchpad PlatformPlatform & Sociallaunchpad/patternsHigh-risk (pump.fun)-Other platforms
Social Media PresencePlatform & Socialtwitter/telegram/websiteNo presence-Active presence
Token AgeTemporalfirstPool.createdAt< 7 days7-30 days>30 days
Graduation StatusTemporalgraduatedAt-< 7 days>7 days/N/A

This documentation covers the Token Risk Assessment API as of September 2025. Features and thresholds are subject to continuous improvement and calibration.

Authorizations

X-API-KEY
string
header
required

Authorization method required to allow user to access the api endpoints.

Query Parameters

asset_address
string
required

Asset identifier (chain-agnostic). Currently only Solana token mint (base58, 32–44 chars) is supported.

Example:

"So11111111111111111111111111111111111111112"

network
enum<string>
required

Blockchain network for token risk (only solana supported)

Available options:
solana
Example:

"solana"

Response

200 - application/json

Token risk assessment with detailed factors and scoring

token_info
object
required

Basic token identification details

overall_assessment
object
required

Overall risk assessment aggregation

summary
object
required

Summary counts of risk factor severity levels

risk_factors
object
required

Map of risk factor key to its detailed assessment

processing_time_ms
number
required

Processing time in milliseconds for the assessment

Example:

154

errors
string[]
required

List of non-fatal errors encountered while computing the assessment