Overview
The get_dev_tokens() method retrieves all tokens created by a specific developer address on the Solana blockchain. This is essential for analyzing developer track records, identifying patterns in token launches, and performing due diligence before investing in tokens from a particular developer.
Critical for Risk Assessment
Always check developer history before investing. High rug counts and low success rates are major red flags.
Due Diligence
Research developer history before investing
Risk Assessment
Check how many tokens a dev has created
Rug Pull Detection
Identify developers with suspicious patterns
Track Record Analysis
See successful vs failed token launches
Method Signature
def get_dev_tokens(self, dev_address: str) -> DictParameters
dev_address (str, required)
- Description: The Solana wallet address of the token developer/creator
- Format: Base58-encoded Solana public key (32-44 characters)
- Example:
"A3xbhvsma7XYmcouyFBCfzKot5dShxHtTrhyrSfBzyZV"
Where to find:
- ⢠Token metadata on explorers (Solscan, SolanaFM)
- ⢠New pair WebSocket events (deployer_address field)
- ⢠DEX Screener token information
Return Value
Returns a dictionary containing developer token information:
{
"tokens": [
{
"tokenAddress": "TokenMintAddress123...",
"tokenName": "Example Token",
"tokenTicker": "EXMPL",
"initialLiquiditySol": 1.5,
"createdAt": "2026-01-10T12:30:00Z",
"currentMarketCap": 25000,
"priceChange24h": 15.5,
"status": "active", # or "rugged", "failed"
"holders": 150,
"pairAddress": "PairAddress456..."
}
],
"counts": {
"total": 25,
"active": 10,
"rugged": 8,
"failed": 7
},
"statistics": {
"successRate": 40.0,
"averageInitialLiquidity": 2.5,
"totalMarketCapCreated": 500000
}
}tokens (Array)
List of all tokens created by the developer with details including status, market cap, and holder count
counts (Object)
Token count breakdown: total, active, rugged, and failed launches
statistics (Object)
Developer statistics: success rate, average liquidity, total market cap created
Basic Usage Examples
Example 1: Get All Developer Tokens
Retrieve complete list of tokens created by a developer.
from axiomtradeapi import AxiomTradeClient
client = AxiomTradeClient()
client.login("username", "password")
# Developer address to investigate
dev_address = "A3xbhvsma7XYmcouyFBCfzKot5dShxHtTrhyrSfBzyZV"
# Get all tokens created by this developer
result = client.get_dev_tokens(dev_address)
print(f"š Developer Token Analysis")
print(f"=" * 50)
print(f"Total tokens: {result['counts']['total']}")
print(f"Active tokens: {result['counts']['active']}")
print(f"Rugged tokens: {result['counts']['rugged']}")
print(f"Failed launches: {result['counts']['failed']}")
print(f"\nš Statistics:")
print(f"Success rate: {result['statistics']['successRate']:.1f}%")
print(f"Avg liquidity: {result['statistics']['averageInitialLiquidity']:.2f} SOL")Example 2: Calculate Risk Score
Assess developer risk based on their token history.
from axiomtradeapi import AxiomTradeClient
def calculate_dev_risk_score(dev_address: str) -> dict:
"""Calculate developer risk score based on history"""
client = AxiomTradeClient()
client.login("username", "password")
result = client.get_dev_tokens(dev_address)
counts = result['counts']
stats = result['statistics']
risk_score = 0
risk_factors = []
# High rug count
rug_rate = (counts['rugged'] / counts['total']) * 100
if rug_rate > 50:
risk_score += 40
risk_factors.append(f"High rug rate: {rug_rate:.1f}%")
# Low success rate
if stats['successRate'] < 30:
risk_score += 20
risk_factors.append(f"Low success: {stats['successRate']:.1f}%")
# Too many tokens (pump and dump pattern)
if counts['total'] > 20:
risk_score += 15
risk_factors.append(f"Excessive tokens: {counts['total']}")
# Determine risk level
if risk_score >= 70:
risk_level = "š“ HIGH RISK"
elif risk_score >= 40:
risk_level = "š” MEDIUM RISK"
else:
risk_level = "š¢ LOW RISK"
return {
"risk_score": risk_score,
"risk_level": risk_level,
"risk_factors": risk_factors
}
# Usage
risk = calculate_dev_risk_score(dev_address)
print(f"Risk Level: {risk['risk_level']}")
print(f"Risk Score: {risk['risk_score']}/100")Example 3: List Recent Tokens
Display the most recent tokens created by a developer.
from axiomtradeapi import AxiomTradeClient
from datetime import datetime
client = AxiomTradeClient()
client.login("username", "password")
result = client.get_dev_tokens(dev_address)
# Sort by creation date (most recent first)
tokens = sorted(
result['tokens'],
key=lambda x: x.get('createdAt', ''),
reverse=True
)
print("š Recent Tokens by Developer\n")
for token in tokens[:5]:
status_emoji = {
'active': 'ā
',
'rugged': 'š©',
'failed': 'ā'
}.get(token.get('status'), 'ā')
print(f"{status_emoji} {token['tokenName']} ({token['tokenTicker']})")
print(f" Initial liquidity: {token['initialLiquiditySol']} SOL")
print(f" Holders: {token.get('holders', 0)}")
print()Advanced Examples
Advanced usage patterns for production applications:
Developer Comparison
Compare multiple developers side-by-side
Token Launch Monitor
Monitor when devs create new tokens
Reputation System
Build comprehensive dev reputation
Investment Filter
Automated token screening
Full advanced examples with complete code are available in the GitHub repository
View Examples on GitHubBest Practices
1. Cache Results for Performance
from datetime import datetime, timedelta
class CachedDevTokens:
def __init__(self):
self.cache = {}
self.cache_duration = timedelta(minutes=5)
def get_dev_tokens_cached(self, dev_address: str):
"""Get developer tokens with caching"""
now = datetime.now()
if dev_address in self.cache:
cached_data, cached_time = self.cache[dev_address]
if now - cached_time < self.cache_duration:
return cached_data
# Fetch fresh data
result = client.get_dev_tokens(dev_address)
self.cache[dev_address] = (result, now)
return result2. Validate Developer Addresses
import base58
def validate_dev_address(address: str) -> bool:
"""Validate Solana address format"""
try:
if len(address) < 32 or len(address) > 44:
return False
decoded = base58.b58decode(address)
return len(decoded) == 32
except:
return False
# Usage
if validate_dev_address(dev_address):
result = client.get_dev_tokens(dev_address)
else:
print("Invalid developer address")3. Combine with Other Analysis Methods
def comprehensive_analysis(dev_address: str, token_ticker: str):
"""Combine multiple API methods"""
# Get all developer tokens
dev_tokens = client.get_dev_tokens(dev_address)
# Get specific token analysis
token_analysis = client.get_token_analysis(dev_address, token_ticker)
# Combine results
return {
'developer_history': dev_tokens,
'token_analysis': token_analysis,
'risk_score': calculate_risk(dev_tokens, token_analysis)
}Risk Indicators
š© High Risk Signals
- ⢠Rug rate > 30%
- ⢠Success rate < 30%
- ⢠More than 20 tokens
- ⢠Avg liquidity < 1 SOL
- ⢠Many recent failures
ā Good Signs
- ⢠Success rate > 50%
- ⢠Low rug count (<20%)
- ⢠Consistent liquidity
- ⢠Active token longevity
- ⢠Growing holder base
Troubleshooting
Issue: Empty or No Token Data
Problem: Returns empty token list or minimal data.
Possible Causes:
- ⢠Developer hasn't created any tokens yet
- ⢠Invalid developer address
- ⢠Tokens not indexed yet (very recent launches)
result = client.get_dev_tokens(dev_address)
if result['counts']['total'] == 0:
print("No tokens created yet")
elif len(result['tokens']) == 0:
print("Address may be invalid or not indexed")Issue: Rate Limiting
Solution: Add delays between requests
import time
dev_addresses = ["Dev1...", "Dev2...", "Dev3..."]
for dev_addr in dev_addresses:
result = client.get_dev_tokens(dev_addr)
# Process result...
time.sleep(2) # 2 second delayNeed Help?
Our support team can help you with developer analysis and risk assessment
Related Documentation
Build Smart Trading Systems
Need help implementing developer analysis and risk assessment? We're here to help.