Endpoint
GET /smart-money
POST /smart-money
Description
Track smart money wallet activity on Solana including net flow, current holdings, historical positions, DEX trades, and DCA strategies. Provides insights into institutional and whale movements.
Pricing
$0.05 USD per request (paid in USDC via x402)
Parameters
No required parameters. Returns general smart money data for Solana ecosystem.
Request Examples
GET Request
curl -X GET "https://api.syraa.fun/smart-money"
POST Request
curl -X POST https://api.syraa.fun/smart-money \
-H "Content-Type: application/json"
Response
Smart money net flow data showing accumulation or distribution
Current smart money token holdings
smart-money/historical-holdings
Historical holdings data and position changes
Recent DEX trades by smart money wallets
Dollar cost averaging patterns and strategies
Success Response
{
"smart-money/netflow": {
"tokens": [
{
"symbol": "SOL",
"netFlow24h": 1234567,
"inflow": 2345678,
"outflow": 1111111,
"signal": "accumulation"
},
{
"symbol": "USDC",
"netFlow24h": -567890,
"inflow": 890123,
"outflow": 1458013,
"signal": "distribution"
}
]
},
"smart-money/holdings": {
"positions": [
{
"token": "SOL",
"amount": 12345678,
"valueUsd": 1234567890,
"percentage": 45.2,
"holders": 2341
}
]
},
"smart-money/historical-holdings": {
"history": [
{
"date": "2026-03-03",
"token": "SOL",
"amount": 12345678,
"change": 234567
}
]
},
"smart-money/dex-trades": {
"trades": [
{
"timestamp": "2026-03-03T10:15:00Z",
"token": "BONK",
"type": "buy",
"amount": 45000,
"price": 0.0000123,
"walletLabel": "Smart Trader 1"
}
]
},
"smart-money/dcas": {
"active": [
{
"token": "SOL",
"frequency": "daily",
"amount": 1000,
"totalValue": 30000,
"startDate": "2026-02-01"
}
]
}
}
Error Responses
500 Internal Error
{
"error": "Internal server error",
"message": "HTTP 500 Nansen API error"
}
Data Components
Net Flow
Smart money accumulation/distribution:
- netFlow24h: Net flow in last 24 hours (positive = accumulation)
- inflow: Total inflow to smart wallets
- outflow: Total outflow from smart wallets
- signal: Accumulation or distribution indicator
Holdings
Current smart money positions:
- amount: Token quantity held
- valueUsd: USD value of holdings
- percentage: % of total smart money portfolio
- holders: Number of smart wallets holding
Historical Holdings
Position changes over time:
- date: Date of snapshot
- amount: Holdings on that date
- change: Change from previous period
DEX Trades
Recent trading activity:
- timestamp: Trade execution time
- type: Buy or sell
- amount: Trade size in USD
- price: Execution price
- walletLabel: Smart wallet identifier
DCA Strategies
Dollar-cost averaging:
- frequency: Daily, weekly, etc.
- amount: Regular purchase amount
- totalValue: Total accumulated
- startDate: When DCA began
Data Source
Fetches from Nansen Sentinel API:
const responses = await Promise.all(
smartMoneyRequests.map(({ url, payload }) =>
getSentinelPayerFetch()(url, {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
)
);
Code Example
// Track smart money activity
const response = await fetch('https://api.syraa.fun/smart-money');
const data = await response.json();
// Analyze net flow signals
const netflow = data['smart-money/netflow'];
netflow.tokens.forEach(token => {
console.log(`${token.symbol}: ${token.signal}`);
console.log(` Net Flow 24h: $${token.netFlow24h.toLocaleString()}`);
if (token.signal === 'accumulation' && token.netFlow24h > 1000000) {
console.log(` STRONG BUY SIGNAL `);
}
});
// Check current holdings
const holdings = data['smart-money/holdings'];
console.log('\nTop Smart Money Holdings:');
holdings.positions.slice(0, 5).forEach((pos, i) => {
console.log(`${i + 1}. ${pos.token}: $${pos.valueUsd.toLocaleString()} (${pos.percentage}%)`);
});
// Monitor recent trades
const trades = data['smart-money/dex-trades'];
console.log('\nRecent Smart Money Trades:');
trades.trades.slice(0, 10).forEach(trade => {
console.log(`${trade.type.toUpperCase()} ${trade.token}: $${trade.amount}`);
});
Analysis Strategies
Follow the Smart Money
function analyzeNetFlow(netflow) {
const strongBuys = netflow.tokens.filter(
t => t.signal === 'accumulation' && t.netFlow24h > 500000
);
const strongSells = netflow.tokens.filter(
t => t.signal === 'distribution' && t.netFlow24h < -500000
);
return {
buySignals: strongBuys.map(t => t.symbol),
sellSignals: strongSells.map(t => t.symbol)
};
}
Position Change Tracking
function trackPositionChanges(historical) {
const recent = historical.history.slice(0, 7); // Last 7 days
const tokens = {};
recent.forEach(entry => {
if (!tokens[entry.token]) tokens[entry.token] = [];
tokens[entry.token].push(entry.change);
});
return Object.entries(tokens).map(([token, changes]) => {
const totalChange = changes.reduce((sum, c) => sum + c, 0);
const avgChange = totalChange / changes.length;
return {
token,
totalChange,
avgChange,
trend: totalChange > 0 ? 'accumulating' : 'distributing'
};
});
}
DCA Signal Detection
function analyzeDCAs(dcas) {
return dcas.active.map(dca => {
const { token, amount, frequency, totalValue } = dca;
const avgPrice = totalValue / (amount * getDCACount(frequency, dca.startDate));
return {
token,
strategy: `${frequency} $${amount}`,
invested: totalValue,
avgEntry: avgPrice,
signal: 'Long-term accumulation'
};
});
}
function getDCACount(frequency, startDate) {
const days = (Date.now() - new Date(startDate)) / (1000 * 60 * 60 * 24);
if (frequency === 'daily') return days;
if (frequency === 'weekly') return days / 7;
return days / 30; // monthly
}
Trading Signals
Strong Buy Signals
- Net flow greater than $1M in 24h
- Multiple smart wallets accumulating
- Increasing DCA activity
- Holdings percentage growing
Strong Sell Signals
- Net outflow greater than $1M in 24h
- Smart wallets distributing
- Decreasing holdings over time
- Large sell trades detected
Neutral Signals
- Net flow near zero
- Mixed buying and selling
- Stable holdings percentage
- Low trading volume
Best Practices
- Follow Large Flows: Focus on tokens with significant net flow
- Confirm with Trades: Check if trades match net flow signals
- Track Holdings Changes: Monitor position increases/decreases
- Identify DCA Patterns: Long-term DCAs show conviction
- Cross-Reference: Use with other Nansen endpoints
- Consider Timeframes: Different signals for short vs long term