API Reference
Complete API documentation with endpoints, parameters, and response examples
Base URL
https://api.nebulasolai.xyz/v1
All API endpoints are relative to this base URL.
🔐 Authentication
Include your API key in the Authorization header for all requests.
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://api.nebulasolai.xyz/v1/tokens/analyze
const response = await fetch('https://api.nebulasolai.xyz/v1/tokens/analyze', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.get('https://api.nebulasolai.xyz/v1/tokens/analyze', headers=headers)
Analyze Token
Get comprehensive analysis for any token including price, liquidity, holders, security checks, and risk assessment.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
address |
string | Required | Token contract address |
network |
string | Optional | Blockchain network (default: solana) |
includeHolders |
boolean | Optional | Include top holders data |
includeHistory |
boolean | Optional | Include 24h price history |
Example Request
curl -X POST https://api.nebulasolai.xyz/v1/tokens/analyze \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "So11111111111111111111111111111111111111112",
"network": "solana",
"includeHolders": true
}'
const response = await fetch('https://api.nebulasolai.xyz/v1/tokens/analyze', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
address: 'So11111111111111111111111111111111111111112',
network: 'solana',
includeHolders: true
})
});
const data = await response.json();
console.log(data);
import requests
url = 'https://api.nebulasolai.xyz/v1/tokens/analyze'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'address': 'So11111111111111111111111111111111111111112',
'network': 'solana',
'includeHolders': True
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Response
{
"success": true,
"data": {
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped Solana",
"price": 98.45,
"priceChange24h": 5.2,
"priceChangePercent24h": 5.58,
"marketCap": 45000000000,
"volume24h": 2500000000,
"liquidity": 850000000,
"holders": 1245000,
"riskScore": 15,
"riskLevel": "LOW",
"securityChecks": {
"mintable": false,
"freezable": false,
"renounced": true,
"liquidityLocked": true,
"verified": true
},
"topHolders": [
{
"address": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
"balance": 1234567.89,
"percentage": 2.5
}
],
"timestamp": "2026-01-12T10:30:00Z"
}
}
Get Token Price
Get current price and 24h change for a specific token.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
address |
string | Token contract address |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.nebulasolai.xyz/v1/tokens/So11111111111111111111111111111111111111112/price
Response
{
"success": true,
"data": {
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"price": 98.45,
"priceChange24h": 5.2,
"priceChangePercent24h": 5.58,
"volume24h": 2500000000,
"timestamp": "2026-01-12T10:30:00Z"
}
}
Get Wallet Portfolio
Get complete portfolio for a wallet including all tokens, total value, and PnL.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
address |
string | Wallet address |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.nebulasolai.xyz/v1/wallets/5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1/portfolio
Response
{
"success": true,
"data": {
"address": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1",
"totalValue": 125000.50,
"totalValueChange24h": 5240.25,
"totalValueChangePercent24h": 4.38,
"tokens": [
{
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped Solana",
"balance": 1000,
"price": 98.45,
"value": 98450,
"change24h": 4.5
},
{
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "USDC",
"name": "USD Coin",
"balance": 25000,
"price": 1.00,
"value": 25000,
"change24h": 0.0
}
],
"tokenCount": 2,
"timestamp": "2026-01-12T10:30:00Z"
}
}
Get Wallet Transactions
Get transaction history for a wallet with filtering options.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit |
integer | 50 | Number of transactions to return (max: 100) |
type |
string | all | Transaction type: swap, transfer, all |
offset |
integer | 0 | Pagination offset |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.nebulasolai.xyz/v1/wallets/5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1/transactions?limit=10&type=swap"
Response
{
"success": true,
"data": {
"transactions": [
{
"signature": "5J8W...",
"type": "swap",
"timestamp": "2026-01-12T10:25:00Z",
"tokenIn": {
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"amount": 10
},
"tokenOut": {
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "USDC",
"amount": 984.50
},
"dex": "Raydium",
"success": true
}
],
"total": 245,
"limit": 10,
"offset": 0
}
}
AI Query
Ask AI questions about tokens, wallets, or market trends.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
question |
string | Required | Question to ask the AI |
context |
object | Optional | Additional context (token addresses, etc.) |
Example Request
curl -X POST https://api.nebulasolai.xyz/v1/ai/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "Is SOL a good investment right now?",
"context": {
"includeMarketData": true,
"includeRiskAnalysis": true
}
}'
Response
{
"success": true,
"data": {
"answer": "Based on current market conditions, SOL shows positive indicators...",
"confidence": 0.85,
"sources": [
"Real-time price data",
"Volume analysis",
"Market trends"
],
"recommendations": [
"Monitor volume trends",
"Set stop-loss at $90"
],
"timestamp": "2026-01-12T10:30:00Z"
}
}
Get Trending Tokens
Get list of currently trending tokens based on volume and social activity.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit |
integer | 20 | Number of tokens to return |
network |
string | all | Filter by network |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.nebulasolai.xyz/v1/market/trending?limit=10"
Response
{
"success": true,
"data": {
"trending": [
{
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped Solana",
"price": 98.45,
"priceChange24h": 5.58,
"volume24h": 2500000000,
"trendScore": 95
}
],
"timestamp": "2026-01-12T10:30:00Z"
}
}
WebSocket Connection
Connect to real-time data streams via WebSocket.
wss://ws.nebulasolai.xyz/v1
Connection Example
const ws = new WebSocket('wss://ws.nebulasolai.xyz/v1');
ws.onopen = () => {
// Authenticate
ws.send(JSON.stringify({
type: 'auth',
apiKey: 'YOUR_API_KEY'
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Received:', data);
};
Subscribe to Updates
Subscribe to real-time price, volume, and transaction updates.
Available Channels
| Channel | Description | Update Frequency |
|---|---|---|
token.price |
Real-time price updates | ~1 second |
token.volume |
Volume changes | ~5 seconds |
wallet.transactions |
New transactions | Instant |
market.trends |
Market trends | ~30 seconds |
Subscribe Example
// Subscribe to token price updates
ws.send(JSON.stringify({
type: 'subscribe',
channel: 'token.price',
params: {
address: 'So11111111111111111111111111111111111111112'
}
}));
// Handle updates
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.channel === 'token.price') {
console.log('New price:', data.price);
}
};
Rate Limits
| Plan | Requests/Minute | Daily Limit | WebSocket Connections |
|---|---|---|---|
| Free | 60 | 10,000 | 1 |
| Pro | 300 | 100,000 | 5 |
| Enterprise | Unlimited | Unlimited | Unlimited |
Rate Limit Headers: Each response includes X-RateLimit-Limit,
X-RateLimit-Remaining, and X-RateLimit-Reset headers.
Error Codes
| Code | Status | Description |
|---|---|---|
INVALID_API_KEY |
401 | API key is missing or invalid |
RATE_LIMIT_EXCEEDED |
429 | Too many requests, slow down |
INVALID_ADDRESS |
400 | Invalid wallet or token address format |
RESOURCE_NOT_FOUND |
404 | Requested resource doesn't exist |
INTERNAL_ERROR |
500 | Server error, please retry |
Ready to Get Started?
Get your API key and start building with Nebula Analytics