Skip to main content

Wallet Intel

Three endpoints for per-wallet intelligence. All require authentication.


GET /intel/wallet/:addr

Full wallet profile — 5 credits ($0.075)

Returns a complete intelligence profile: behavioral analysis, realized/unrealized PnL, HUD signal, and summary metadata.

curl https://api.sova-intel.com/api/v1/intel/wallet/WALLET_ADDRESS \
-H "X-Api-Key: ak_your_key"

Synchronous hold

For cold or stale wallets the server holds the HTTP connection open while running a flash analysis (up to ~30 seconds). In most cases you receive a 200 in the same call.

On timeout fallback the server returns 202 with a prepaidJobId. Poll the job then re-call with X-Prepaid-Job-Id — total charge is 5cr regardless of path.

→ 200  Analysis ready (5cr charged)
→ 202 Timeout fallback (0cr) — poll job, re-call with X-Prepaid-Job-Id header

Parameters

NameInTypeRequiredDescription
addresspathstringSolana wallet address (base58)
X-Prepaid-Job-IdheaderstringPass prepaidJobId from a 202 response to skip re-charging

Response — 200

{
"status": "ok",
"walletAddress": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"summary": {
"lastAnalyzedAt": "2026-03-03T11:30:00.000Z",
"realizedPnl": 142.87,
"profitableTradesCount": 34,
"totalTradesCount": 51,
"currentSolBalance": 4.21,
"knownType": null,
"knownLabel": null
},
"hud": {
"behaviorCode": "SWING_TRADER",
"winRate": 0.67,
"trimmedMeanPnl": 12.4,
"dataQualityTier": "GOLD",
"isBot": false,
"isWhale": false,
"medianHoldTimeHours": 12.1,
"calculatedAt": "2026-03-03T11:30:00.000Z"
},
"behavior": {
"tradingStyle": "swing",
"speedCategory": "medium",
"avgHoldTimeHours": 18.4,
"medianHoldTimeHours": 12.1,
"buySellRatio": 0.98,
"exitPattern": "partial_exit"
},
"pnl": {
"allTime": {
"realizedPnlSol": 142.87,
"unrealizedPnlSol": 9.3,
"netPnlSol": 152.17,
"winRate": 0.67
}
}
}

Response — 202 (timeout fallback)

{
"status": "queued",
"walletAddress": "7xKXtg...",
"jobId": "intel-flash-abc123",
"prepaidJobId": "intel-flash-abc123",
"monitoringUrl": "/api/v1/jobs/intel-flash-abc123",
"message": "Wallet analysis queued."
}

Poll GET /jobs/{jobId} until completed, then re-call this endpoint with X-Prepaid-Job-Id: {prepaidJobId}.


GET /intel/wallet/:addr/hud

Wallet HUD signal — 1 credit ($0.015)

Returns the compact signal: behavior code, win rate, PnL tier, bot/whale flags. The cheapest way to score a wallet.

curl https://api.sova-intel.com/api/v1/intel/wallet/WALLET_ADDRESS/hud \
-H "X-Api-Key: ak_your_key"

Same synchronous hold and 202 fallback contract as the full profile endpoint above.

Parameters

NameInTypeRequiredDescription
addresspathstringSolana wallet address (base58)
X-Prepaid-Job-IdheaderstringPass prepaidJobId from a 202 response

Response — 200

{
"walletAddress": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"signalType": "wallet_behavior_v1",
"behaviorCode": "SWING_TRADER",
"behaviorCategory": "SWING_TRADER",
"winRate": 0.67,
"trimmedMeanPnl": 12.4,
"avgTxValueSol": 2.45,
"avgTradesPerDay": 4.2,
"medianHoldTimeHours": 12.1,
"uniqueTokensPerDay": 3.1,
"currentHoldingsSol": 45.2,
"dataQualityTier": "GOLD",
"isBot": false,
"isWhale": false,
"calculatedAt": "2026-03-03T11:30:00.000Z"
}

Data quality tiers

TierMeaning
GOLDHigh confidence — rich transaction history
SILVERGood confidence — moderate history
BRONZELow confidence — limited history
INSUFFICIENTNot enough data to score

GET /intel/wallet/:addr/tokens

Per-token PnL table — 3 credits ($0.045)

Returns a paginated, sortable table of realized/unrealized PnL broken down by token.

curl "https://api.sova-intel.com/api/v1/intel/wallet/WALLET_ADDRESS/tokens?pageSize=50&sortBy=realizedPnlSol&sortOrder=DESC" \
-H "X-Api-Key: ak_your_key"

Query Parameters

NameTypeDefaultDescription
pageinteger1Page number
pageSizeinteger20Results per page (max 100)
sortBystringnetSolProfitLossnetSolProfitLoss | realizedPnlSol | roi | totalSolSpent
sortOrderstringDESCASC | DESC

Response — 200

{
"data": [
{
"tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"realizedPnlSol": 28.4,
"unrealizedPnlSol": 2.1,
"roi": 1.85,
"totalSolSpent": 40.2,
"winRate": 0.72
}
],
"total": 84,
"page": 1,
"pageSize": 20
}