Skip to main content
GET
/
2
/
wallet
/
analysis
Get wallet trading analysis
curl --request GET \
  --url https://demo-api.mobula.io/api/2/wallet/analysis
{
  "data": {
    "winRateDistribution": {
      ">500%": 123,
      "200%-500%": 123,
      "50%-200%": 123,
      "0%-50%": 123,
      "-50%-0%": 123,
      "<-50%": 123
    },
    "marketCapDistribution": {
      ">1000M": 123,
      ">100M": 123,
      "10M-100M": 123,
      "1M-10M": 123,
      "100k-1M": 123,
      "<100k": 123
    },
    "periodTimeframes": [
      {
        "date": "<string>",
        "realized": 123
      }
    ],
    "stat": {
      "totalValue": 123,
      "periodTotalPnlUSD": 123,
      "periodRealizedPnlUSD": 123,
      "periodRealizedRate": 123,
      "periodActiveTokensCount": 123,
      "periodWinCount": 123,
      "fundingInfo": {
        "from": "<string>",
        "date": "<string>",
        "chainId": "<string>",
        "txHash": "<string>",
        "amount": "<string>",
        "fromWalletLogo": "<string>",
        "fromWalletTag": "<string>"
      },
      "periodVolumeBuy": 123,
      "periodVolumeSell": 123,
      "periodBuys": 123,
      "periodSells": 123,
      "nativeBalance": {
        "rawBalance": "<string>",
        "formattedBalance": 123,
        "assetId": 123,
        "chainId": "<string>",
        "address": "<string>",
        "decimals": 123,
        "name": "<string>",
        "symbol": "<string>",
        "logo": "<string>",
        "price": 123,
        "balanceUSD": 123
      },
      "periodBuyTokens": 123,
      "periodSellTokens": 123,
      "periodTradingTokens": 123,
      "holdingTokensCount": 123,
      "holdingDuration": 123,
      "tradingTimeFrames": 123,
      "winRealizedPnl": 123,
      "winRealizedPnlRate": 123,
      "winToken": {
        "address": "<string>",
        "chainId": "<string>",
        "name": "<string>",
        "symbol": "<string>",
        "logo": "<string>",
        "decimals": 123
      }
    },
    "labels": [
      "<string>"
    ]
  }
}

Query details

This endpoint provides comprehensive trading analytics for a wallet including PnL analysis, win rate distributions, market cap distributions, and detailed trading statistics over a specified period.
ParameterRequiredDescription
walletYesWallet address to analyze.
blockchainNoBlockchain ID (e.g., ethereum, base, solana:solana). If not provided, analysis will be performed across all chains.
periodNoAnalysis period. Supported values: 1d, 7d, 30d, 90d. Default: 7d.

Response Structure

The endpoint returns comprehensive trading analytics including:

Win Rate Distribution

Distribution of trades by profit/loss percentage:
  • >500%: Number of trades with over 500% profit
  • 200%-500%: Number of trades with 200-500% profit
  • 50%-200%: Number of trades with 50-200% profit
  • 0%-50%: Number of trades with 0-50% profit
  • -50%-0%: Number of trades with 0-50% loss
  • <-50%: Number of trades with over 50% loss

Market Cap Distribution

Distribution of traded tokens by market capitalization:
  • >1000M: Number of tokens with market cap over $1B
  • >100M: Number of tokens with market cap 100M100M-1B
  • 10M-100M: Number of tokens with market cap 10M10M-100M
  • 1M-10M: Number of tokens with market cap 1M1M-10M
  • 100k-1M: Number of tokens with market cap 100K100K-1M
  • <100k: Number of tokens with market cap under $100K

Trading Statistics (stat object)

  • totalValue: Current total portfolio value in USD
  • periodTotalPnlUSD: Total PnL (realized + unrealized) for the period
  • periodRealizedPnlUSD: Realized PnL for the period
  • periodRealizedRate: Realized PnL rate (%)
  • periodActiveTokensCount: Number of tokens traded during the period
  • periodWinCount: Number of winning trades
  • periodVolumeBuy: Total buy volume in USD
  • periodVolumeSell: Total sell volume in USD
  • periodBuys: Number of buy transactions
  • periodSells: Number of sell transactions
  • periodBuyTokens: Number of unique tokens bought
  • periodSellTokens: Number of unique tokens sold
  • periodTradingTokens: Number of unique tokens traded
  • holdingTokensCount: Current number of tokens held
  • holdingDuration: Average holding duration in days
  • tradingTimeFrames: Number of trading sessions
  • winRealizedPnl: Total realized profit from winning trades
  • winRealizedPnlRate: Win rate percentage
  • nativeBalance: Native token balance information
  • winToken: Details of the most profitable token (if any)
  • fundingInfo: Information about initial wallet funding

Period Timeframes

Array of daily PnL data points with:
  • date: Date of the data point
  • realized: Realized PnL for that day

Labels

Array of labels associated with the wallet (e.g., “Smart Money”, “Early Adopter”, etc.)

Usage Examples

  • Analyze wallet trading performance over the last 7 days on Ethereum
curl -X GET "https://api.mobula.io/api/2/wallet/analysis?wallet=0xBb7Ae0458b0dAe031460E6EE9f014b275db49f7f&blockchain=ethereum&period=7d"
  • Analyze wallet across all chains for 30 days
curl -X GET "https://api.mobula.io/api/2/wallet/analysis?wallet=0xBb7Ae0458b0dAe031460E6EE9f014b275db49f7f&period=30d"
  • Get comprehensive 90-day trading analysis on Base
curl -X GET "https://api.mobula.io/api/2/wallet/analysis?wallet=0x3406bf0fdf29c2928988a9420f4b320fe4eca538&blockchain=base&period=90d"

Rate Limiting

This endpoint has a rate limit of 5 requests per minute per API key due to the computational intensity of the analysis.

Use Cases

  • Portfolio Performance Tracking: Monitor trading performance and PnL over time
  • Wallet Scoring: Score wallets based on trading metrics for smart money identification
  • Risk Analysis: Analyze trading patterns and risk distribution
  • Trading Strategy Analysis: Understand trading behavior and token preferences
  • Due Diligence: Research wallet trading history before following or copying trades

Query Parameters

wallet
string
required

Wallet address to analyze

blockchain
string

Blockchain ID (e.g., ethereum, base, solana:solana)

period
string
default:7d

Analysis period (1d, 7d, 30d, or 90d)

Response

200 - application/json

Wallet analysis response

data
object
required