> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mobula.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Wallet Positions with PnL

> Retrieve all enriched token positions for a wallet on a specific blockchain, including detailed token metrics, liquidity, trade stats, profit/loss (PnL) data, and wallet metadata (funding info, labels).

<Tip>
  **Batch support available!** Use `POST /api/2/wallet/positions` to fetch positions for up to 10 wallets in a single request. [Jump to batch docs](#batch-positions-post).
</Tip>

### Query details

| Parameter             | Type    | Required | Description                                                                                                                                                                                  |
| --------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `wallet`              | string  | Yes      | Single wallet address to query.                                                                                                                                                              |
| `blockchains`         | string  | No       | Comma-separated list of blockchain IDs (e.g., `"ethereum,base,solana:solana"`). If omitted, all chains.                                                                                      |
| `limit`               | number  | No       | Number of positions per page (1-500, default: 100).                                                                                                                                          |
| `offset`              | number  | No       | Offset for pagination (default: 0).                                                                                                                                                          |
| `cursor`              | string  | No       | Cursor for cursor-based pagination (takes precedence over offset).                                                                                                                           |
| `cursorDirection`     | string  | No       | Cursor direction: `before` or `after` (default: `after`).                                                                                                                                    |
| `sortBy`              | string  | No       | Sort field: `lastActivity` or `realizedPnl` (default: `lastActivity`).                                                                                                                       |
| `order`               | string  | No       | Sort order: `asc` or `desc` (default: `desc`).                                                                                                                                               |
| `includeFees`         | boolean | No       | Include fees in PnL calculation (deduct total\_fees\_paid\_usd from PnL). Default: `false`.                                                                                                  |
| `useSwapRecipient`    | boolean | No       | Use swap recipient mode (query wallet\_positions\_recipients table). Default: `false`.                                                                                                       |
| `includeAllBalances`  | boolean | No       | Include all tokens the wallet holds, not just tokens with trading history. Default: `false`.                                                                                                 |
| `onlyOpen`            | boolean | No       | Return only positions the wallet still holds on-chain. Filters out closed positions both at SQL (using `warehouse.balances_new`) and after the live RPC balance check. Default: `false`.     |
| `minPositionValueUSD` | number  | No       | Drop positions worth less than this USD value. Applied **after** the live RPC balance and live pool price, so it works correctly for small-caps whose DB price is null. Default: no minimum. |

### Step-by-Step Tutorial and Video Walkthrough

* Check out the guide: [Here](https://docs.mobula.io/guides/how-to-track-wallet-balance-and-wallet-positions-with-pnl)

### Usage Examples

* Query Wallet Positions on Solana

```bash theme={null}
curl -X GET "https://demo-api.mobula.io/api/2/wallet/positions?wallet=CmbwXRT5z5aCxCzATqm5aZr7XpTh2AN7ToG35csw7YV&blockchains=solana:solana"
```

* Query Wallet Positions on Ethereum with pagination

```bash theme={null}
curl -X GET "https://demo-api.mobula.io/api/2/wallet/positions?wallet=0x7a16ff8270133f063aab6c9977183d9e72835428&blockchains=ethereum&limit=50&sortBy=realizedPnl&order=desc"
```

* Only open positions worth at least \$1000 (smart filter for portfolio dashboards)

```bash theme={null}
curl -X GET "https://demo-api.mobula.io/api/2/wallet/positions?wallet=0xF703FD64093B50797aBDc9E450632240FA2bA5D4&onlyOpen=true&minPositionValueUSD=1000"
```

<Tip>
  **`onlyOpen` + `minPositionValueUSD` combo.** For active traders with thousands of historical positions, pair these to expose just the holdings the user actually cares about. `onlyOpen` runs as a SQL pre-filter on `warehouse.balances_new` to shrink the candidate set, then the controller re-checks `balance > 0` after the live RPC fetch (catches stale rows whose balance was sold but never re-queried). `minPositionValueUSD` is applied **after** the live pool price is resolved, so small-caps without an `asset_id` (which would surface as null in `tokens.price_usd`) are valued correctly via the realtime pool pricer.
</Tip>

### Query Response

```json theme={null}
{
  "token": {
    "address": "5Pfr5KHJSaig9ymGSzhWMKnjF59hK4CEYuYk5nLi6Mqb",
    "chainId": "solana:solana",
    "symbol": "JV",
    "name": "Joint Venture",
    "decimals": 6,
    "id": 0,
    "priceUSD": 0.0000124966129297575,
    "priceToken": 5.8400430997142966e-8,
    "priceTokenString": "0.00000005840043099714296638224172",
    "approximateReserveUSD": 9278.730767214403,
    "approximateReserveTokenRaw": "742499653255601",
    "approximateReserveToken": 742499653.255601,
    "totalSupply": 1000000000,
    "circulatingSupply": 1000000000,
    "marketCapUSD": 12496.612929757499,
    "marketCapDilutedUSD": 12496.612929757499,
    "logo": "https://ipfs.io/ipfs/bafybeicsn6mw4nu4agzaqy2yudj6byza6jwcdwllokt5kcmcflbqqjk4d4",
    "exchange": {
      "name": "PumpFun",
      "logo": "https://metadata.mobula.io/assets/logos/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.webp"
    },
    "factory": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
    "source": "pumpfun",
    "liquidityUSD": 9276.859805176831, // Current liquidity in USD
    "liquidityMaxUSD": 18555.590572391236, // Maximum historical liquidity
    "bonded": false, // Whether token is bonded in liquidity pool
    "bondingPercentage": 41.67196403283306, // % of token bonded in pool
    "preBondingFactory": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
    "poolAddress": "CP7U6XiMBjFo7C4SRTrYBhwhjkTS39CXrBZ5ktrESkJC",
    "top10HoldingsPercentage": 39.4455631257905, // % held by top 10 wallets
    "devHoldingsPercentage": 1.4157084169093999, // % held by developers
    "insidersHoldingsPercentage": 2.1154393942554, // % held by insiders
    "bundlersHoldingsPercentage": 24.1373383039381, // % held by bundlers
    "blockchain": "Solana",
    "type": "pumpfun",
    "deployer": "6jMBHEHDzuoYN4hQdqV7dTPys6Q1TEt67L9QzRsxe3Yn",
    "bondedAt": null,
    "athUSD": 0.00008339681028533523, // All-time high in USD
    "atlUSD": 0.00000610192172852442, // All-time low in USD
    "athDate": "2025-09-24T02:07:24.500Z",
    "atlDate": "2025-09-24T02:03:50.500Z",
    "priceChange1minPercentage": 0,
    "priceChange5minPercentage": -0.1172131118790119,
    "priceChange1hPercentage": 0.2398170569406069,
    "priceChange4hPercentage": -0.6875004215632496,
    "priceChange6hPercentage": -6.498135278981028,
    "priceChange12hPercentage": -41.46193222781062,
    "priceChange24hPercentage": 71.61865300993004,
    "volume1minUSD": 0,
    "volume5minUSD": 1.86765618577485,
    "volume15minUSD": 20.31173539932883,
    "volume1hUSD": 20.31173539932883,
    "volume4hUSD": 441.2916947502766,
    "volume6hUSD": 763.1516638661021,
    "volume12hUSD": 76636.366643982,
    "volume24hUSD": 362588.2902590606,
    "volumeBuy24hUSD": 182820.5522236792, // Total buy volume in USD last 24h
    "volumeSell24hUSD": 179767.7380353815, // Total sell volume in USD last 24h
    "trades24h": 3373, // Number of trades last 24h
    "buys24h": 1820, // Number of buy trades last 24h
    "sells24h": 1552, // Number of sell trades last 24h
    "buyers24h": 1324, // Unique buyers last 24h
    "sellers24h": 1135, // Unique sellers last 24h
    "traders24h": 1879, // Total unique traders last 24h
    "feesPaid24hUSD": 5655.843475417249, // Fees paid in USD last 24h
    "organicTrades24h": 3329, // Trades by non-bot/organic users last 24h
    "organicTraders24h": 1868, // Unique organic traders last 24h
    "organicVolume24hUSD": 359555.5128803363, // Organic trade volume in USD last 24h
    "organicVolumeBuy24hUSD": 180743.5484531335, // Organic buy volume in USD last 24h
    "organicVolumeSell24hUSD": 178811.9644272029, // Organic sell volume in USD last 24h
    "organicBuys24h": 1795, // Organic buy trades last 24h
    "organicSells24h": 1534, // Organic sell trades last 24h
    "organicBuyers24h": 1305, // Organic unique buyers last 24h
    "organicSellers24h": 1123, // Organic unique sellers last 24h
    "holdersCount": 114, // Total holders count
    "socials": {
      "twitter": "x.com/JV_onSOL",
      "website": null,
      "telegram": null,
      "others": {
        "showName": true,
        "createdOn": "https://pump.fun"
      }
    },
    "security": {
      "buyTax": "0.0000", // Tax on buy
      "sellTax": "0.0000", // Tax on sell
      "transferPausable": false, // Can transfers be paused
      "top10Holders": "0.8373", // % of supply in top 10 wallets
      "isBlacklisted": false, // Whether token is blacklisted
      "noMintAuthority": true, // No new minting allowed
      "balanceMutable": false // Holder balances cannot be changed arbitrarily
    }
  },
  "balance": 0,
  "rawBalance": "0",
  "amountUSD": 0,
  "buys": 4, // User's total buys
  "sells": 1, // User's total sells
  "volumeBuyToken": 4995934.954971, // User's buy volume in token
  "volumeSellToken": 4995934.954971, // User's sell volume in token
  "volumeBuy": 84.1891028056, // User's buy volume in USD
  "volumeSell": 112.4149126911, // User's sell volume in USD
  "avgBuyPriceUSD": 0.0000168515, // Average buy price USD
  "avgSellPriceUSD": 0.0000225013, // Average sell price USD
  "realizedPnlUSD": 28.2260333086, // Realized PnL in USD
  "unrealizedPnlUSD": 0, // Unrealized PnL in USD
  "totalPnlUSD": 28.2260333086, // Total PnL in USD (if includeFees=true, fees are deducted)
  "totalFeesPaidUSD": 5.12, // Total fees paid on this position (only present when useSwapRecipient=true)
  "firstDate": "2025-09-24T02:03:26.500Z",
  "lastDate": "2025-09-24T03:33:25.100Z",
  "labels": ["bundler", "sniper"] // Token-specific labels (bundler, sniper, insider, etc.)
}
```

### New Response Fields

#### Position-level labels

Each position includes a `labels` array with token-specific trading labels:

* `bundler` - Wallet used bundled transactions
* `sniper` - Wallet sniped early trades
* `insider` - Wallet had insider access
* `dev` - Developer wallet
* `proTrader` - Professional trader wallet
* `smartTrader` - Smart money wallet
* `freshTrader` - New trader wallet

#### Wallet Metadata

The response includes a `wallet` object with wallet-level metadata:

```json theme={null}
{
  "data": [...],
  "wallet": {
    "fundingInfo": {
      "from": "FLiPGqowc82LLR173hKiFYBq2fCxLZEST5iHbHwj8xKb", // Funding source address
      "date": "2025-07-22T18:26:28.000Z", // Funding date
      "chainId": "solana:solana", // Funding chain
      "txHash": "5p3qtP8HihW6cwA8gdsLPcTnFhMLAKmirHBxPkNrHSfe...", // Funding tx hash
      "amount": "1000000000", // Raw funding amount
      "formattedAmount": 1.0, // Formatted funding amount
      "currency": {
        "name": "Solana",
        "symbol": "SOL",
        "logo": null,
        "decimals": 9,
        "address": "So11111111111111111111111111111111111111112"
      },
      "fromWalletLogo": null,
      "fromWalletTag": "Binance", // Label of funding source wallet
      "fromWalletMetadata": { "entityName": "Binance", "entityType": "exchange", "entityLogo": "https://...", "entityLabels": ["CEX"] }
    },
    "entity": "Smart Money Fund", // Entity name if known
    "labels": ["mr.devvvv on Pump.fun"] // Global wallet labels
  },
  "pagination": {
    "page": 1,
    "offset": 0,
    "limit": 100,
    "pageEntries": 50
  }
}
```

***

## Batch Positions (POST)

Fetch all positions for **multiple wallets** in a single request. Each wallet can have its own pagination, sorting, and chain filtering.

**Endpoint:** `POST /api/2/wallet/positions`

**Limit:** Up to **10 wallets** per batch request.

### Request Body

| Field                         | Type      | Required | Description                                                                    |
| ----------------------------- | --------- | -------- | ------------------------------------------------------------------------------ |
| `items`                       | array     | Yes      | Array of wallet query objects (max 10).                                        |
| `items[].wallet`              | string    | Yes      | Wallet address.                                                                |
| `items[].blockchains`         | string\[] | No       | Array of blockchain IDs (e.g., `["ethereum","base"]`). If omitted, all chains. |
| `items[].limit`               | number    | No       | Number of positions per page (1-500, default: 100).                            |
| `items[].offset`              | number    | No       | Offset for pagination (default: 0).                                            |
| `items[].sortBy`              | string    | No       | Sort field: `lastActivity` or `realizedPnl` (default: `lastActivity`).         |
| `items[].order`               | string    | No       | Sort order: `asc` or `desc` (default: `desc`).                                 |
| `items[].useSwapRecipient`    | boolean   | No       | Use swap recipient mode. Default: `false`.                                     |
| `items[].includeAllBalances`  | boolean   | No       | Include all tokens the wallet holds. Default: `false`.                         |
| `items[].onlyOpen`            | boolean   | No       | Return only positions still held on-chain. Default: `false`.                   |
| `items[].minPositionValueUSD` | number    | No       | Drop positions worth less than this USD value. Default: no minimum.            |

### Example Request

```bash theme={null}
curl -X POST "https://api.mobula.io/api/2/wallet/positions" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "wallet": "0x7a16ff8270133f063aab6c9977183d9e72835428", "blockchains": ["evm:1"], "limit": 50 },
      { "wallet": "CmbwXRT5z5aCxCzATqm5aZr7XpTh2AN7ToG35csw7YV", "blockchains": ["solana:solana"], "limit": 100 }
    ]
  }'
```

### Example Response

```json theme={null}
{
  "payload": [
    {
      "wallet": "0x7a16ff8270133f063aab6c9977183d9e72835428",
      "data": [/* TokenPosition[] - same format as GET response */],
      "walletMetadata": {
        "fundingInfo": { ... },
        "entity": "Smart Money Fund",
        "labels": ["whale"]
      },
      "pagination": { "page": 1, "offset": 0, "limit": 50, "pageEntries": 42 }
    },
    {
      "wallet": "CmbwXRT5z5aCxCzATqm5aZr7XpTh2AN7ToG35csw7YV",
      "data": [/* TokenPosition[] */],
      "walletMetadata": { ... },
      "pagination": { "page": 1, "offset": 0, "limit": 100, "pageEntries": 15 }
    }
  ],
  "hostname": "api-pod-xyz"
}
```

<Note>
  All wallets are processed **in parallel**, so batch latency ≈ slowest single wallet, not the sum of all wallets.
</Note>

### SDK Usage

```typescript theme={null}
import { MobulaSDK } from '@mobula/sdk';

const sdk = new MobulaSDK({ apiKey: 'YOUR_API_KEY' });

const result = await sdk.fetchWalletPositionsBatch({
  items: [
    { wallet: '0x7a16ff8270133f063aab6c9977183d9e72835428', blockchains: ['evm:1'], limit: 50 },
    { wallet: 'CmbwXRT5z5aCxCzATqm5aZr7XpTh2AN7ToG35csw7YV', blockchains: ['solana:solana'] },
  ],
});

for (const entry of result.payload) {
  if ('error' in entry) {
    console.error(`Failed for ${entry.wallet}: ${entry.error}`);
  } else {
    console.log(`${entry.wallet}: ${entry.data.length} positions`);
  }
}
```


## OpenAPI

````yaml get /2/wallet/positions
openapi: 3.0.0
info:
  version: 1.0.0
  title: Mobula API
  description: >-
    Documentation of the Mobula API


    **Demo API**: The default server (demo-api.mobula.io) is a demo API with
    rate limits.

    For production use, please use api.mobula.io with an API key from
    https://admin.mobula.io
servers:
  - url: https://demo-api.mobula.io/api/
    description: Demo API (rate limited, for testing only)
  - url: https://api.mobula.io/api/
    description: Production API (requires API key)
security: []
tags:
  - name: V2 - Token
    description: Token details, price, security, ATH, and holder data
  - name: V2 - Market Data
    description: Market details, OHLCV history, and lighthouse metrics
  - name: V2 - Trades
    description: Token trades, enriched trades, and trade filters
  - name: V2 - Wallet
    description: Wallet positions, activity, trades, analysis, and labels
  - name: V2 - Assets
    description: Cross-chain asset details and price history
  - name: V2 - Swap
    description: Swap quoting and execution
  - name: V2 - Perps
    description: Perpetual futures quoting, execution, and positions
  - name: V2 - Bridge
    description: Cross-chain bridge quoting and intent status (Alpha Preview)
  - name: V2 - DeFi
    description: Bonding pools and pulse data
  - name: V2 - Search
    description: Universal fast search
  - name: V2 - Usage
    description: Per-key API and WebSocket usage history
  - name: V2 - Blockchains
    description: System metadata and chain listings
  - name: V2 - Prediction Markets
    description: >-
      Polymarket markets/events, wallet positions, and the full execution stack
      (auth, order build/submit/cancel, approvals, pUSD wrap/unwrap, deploy,
      deposit/withdraw, redeem). Alpha — see /api/2/pm/*.
  - name: V1 - Market Data
    description: Market prices, history, sparklines, pairs, and multi-data
  - name: V1 - Wallet
    description: Wallet portfolio, transactions, history, and NFTs
  - name: V1 - Token
    description: First buyers
  - name: V1 - Trades
    description: Market trades by pair
  - name: V1 - Metadata
    description: Token metadata, categories, trendings, and news
  - name: V1 - Assets
    description: List all assets
  - name: V1 - Search
    description: Search for assets, tokens, and pairs
  - name: V1 - DeFi
    description: Bonding pool pulse data
  - name: V1 - Blockchains
    description: Blockchain listings, pairs, and stats
  - name: V1 - Webhooks
    description: Webhook management
  - name: V1 - Feed
    description: Custom feed creation
paths:
  /2/wallet/positions:
    get:
      tags:
        - V2 - Wallet
      summary: Get Wallet Positions
      parameters:
        - schema:
            type: string
            description: Wallet address
          required: true
          description: Wallet address
          name: wallet
          in: query
        - schema:
            type: string
            description: >-
              Comma-separated list of chain IDs (e.g.,
              "evm:1,evm:8453,solana:solana"). If omitted, all chains.
          required: false
          description: >-
            Comma-separated list of chain IDs (e.g.,
            "evm:1,evm:8453,solana:solana"). If omitted, all chains.
          name: chainIds
          in: query
        - schema:
            type: number
            minimum: 1
            maximum: 500
            description: 'Number of positions per page (1-500, default: 100)'
          required: false
          description: 'Number of positions per page (1-500, default: 100)'
          name: limit
          in: query
        - schema:
            type: number
            nullable: true
            minimum: 0
            description: 'Offset for pagination (default: 0)'
          required: false
          description: 'Offset for pagination (default: 0)'
          name: offset
          in: query
        - schema:
            type: string
            description: Cursor for cursor-based pagination (takes precedence over offset)
          required: false
          description: Cursor for cursor-based pagination (takes precedence over offset)
          name: cursor
          in: query
        - schema:
            type: string
            enum:
              - before
              - after
            description: 'Cursor direction (default: after)'
          required: false
          description: 'Cursor direction (default: after)'
          name: cursorDirection
          in: query
        - schema:
            type: string
            enum:
              - lastActivity
              - realizedPnl
            description: 'Sort field (default: lastActivity)'
          required: false
          description: 'Sort field (default: lastActivity)'
          name: sortBy
          in: query
        - schema:
            type: string
            enum:
              - asc
              - desc
            description: 'Sort order (default: desc)'
          required: false
          description: 'Sort order (default: desc)'
          name: order
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: >-
              Include fees in PnL calculation (deduct total_fees_paid_usd from
              PnL)
          required: true
          description: >-
            Include fees in PnL calculation (deduct total_fees_paid_usd from
            PnL)
          name: includeFees
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: >-
              Include all tokens the wallet holds, not just tokens with trading
              history
          required: true
          description: >-
            Include all tokens the wallet holds, not just tokens with trading
            history
          name: includeAllBalances
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: >-
              Return only positions still held on-chain (filters out fully
              closed positions)
          required: true
          description: >-
            Return only positions still held on-chain (filters out fully closed
            positions)
          name: onlyOpen
          in: query
        - schema:
            type: number
            nullable: true
            minimum: 0
            description: >-
              Drop positions worth less than this USD value (live RPC balance ×
              live pool price)
          required: false
          description: >-
            Drop positions worth less than this USD value (live RPC balance ×
            live pool price)
          name: minPositionValueUSD
          in: query
      responses:
        '200':
          description: Wallet positions response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        token:
                          type: object
                          properties:
                            address:
                              type: string
                            chainId:
                              type: string
                            symbol:
                              type: string
                              nullable: true
                            name:
                              type: string
                              nullable: true
                            decimals:
                              type: number
                              nullable: true
                              default: 0
                            id:
                              type: number
                              nullable: true
                              default: null
                            priceUSD:
                              type: number
                              nullable: true
                              default: 0
                            priceToken:
                              type: number
                              nullable: true
                              default: 0
                            priceTokenString:
                              type: string
                            approximateReserveUSD:
                              type: number
                              nullable: true
                              default: 0
                            approximateReserveTokenRaw:
                              type: string
                            approximateReserveToken:
                              type: number
                              nullable: true
                              default: 0
                            totalSupply:
                              type: number
                              nullable: true
                              default: 0
                            circulatingSupply:
                              type: number
                              nullable: true
                              default: 0
                            marketCapUSD:
                              type: number
                              nullable: true
                              default: 0
                            marketCapDilutedUSD:
                              type: number
                              nullable: true
                              default: 0
                            logo:
                              type: string
                              nullable: true
                            originLogoUrl:
                              type: string
                              nullable: true
                            rank:
                              type: number
                              nullable: true
                              default: null
                            cexs:
                              type: array
                              items:
                                type: string
                              default: []
                            exchange:
                              type: object
                              properties:
                                name:
                                  type: string
                                logo:
                                  type: string
                              required:
                                - name
                                - logo
                            factory:
                              type: string
                              nullable: true
                            source:
                              type: string
                              nullable: true
                            sourceFactory:
                              type: string
                              nullable: true
                            sourceMetadata:
                              type: object
                              nullable: true
                              properties:
                                name:
                                  type: string
                                logo:
                                  type: string
                              required:
                                - name
                                - logo
                            sourceFactoryMetadata:
                              type: object
                              nullable: true
                              properties:
                                name:
                                  type: string
                                logo:
                                  type: string
                              required:
                                - name
                                - logo
                            liquidityUSD:
                              type: number
                              nullable: true
                            liquidityMaxUSD:
                              type: number
                              nullable: true
                            bonded:
                              type: boolean
                            bondingPercentage:
                              type: number
                              nullable: true
                            migrating:
                              type: boolean
                            bondingCurveAddress:
                              type: string
                              nullable: true
                            preBondingFactory:
                              type: string
                            poolAddress:
                              type: string
                            blockchain:
                              type: string
                            type:
                              type: string
                            tokenType:
                              type: string
                              nullable: true
                              enum:
                                - '2020'
                                - '2022'
                            deployer:
                              type: string
                              nullable: true
                            bondedAt:
                              type: string
                              nullable: true
                            athUSD:
                              type: number
                              nullable: true
                            atlUSD:
                              type: number
                              nullable: true
                            athDate:
                              type: string
                              nullable: true
                            atlDate:
                              type: string
                              nullable: true
                            priceChange1minPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange5minPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange1hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange4hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange6hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange12hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            priceChange24hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange1minPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange5minPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange1hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange4hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange6hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange12hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            poolPriceChange24hPercentage:
                              type: number
                              nullable: true
                              default: 0
                            liquidityBurnPercentage:
                              type: number
                              nullable: true
                            volume1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volume24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeBuy24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            volumeSell24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            trades1min:
                              type: number
                              nullable: true
                              default: 0
                            trades5min:
                              type: number
                              nullable: true
                              default: 0
                            trades15min:
                              type: number
                              nullable: true
                              default: 0
                            trades1h:
                              type: number
                              nullable: true
                              default: 0
                            trades4h:
                              type: number
                              nullable: true
                              default: 0
                            trades6h:
                              type: number
                              nullable: true
                              default: 0
                            trades12h:
                              type: number
                              nullable: true
                              default: 0
                            trades24h:
                              type: number
                              nullable: true
                              default: 0
                            buys1min:
                              type: number
                              nullable: true
                              default: 0
                            buys5min:
                              type: number
                              nullable: true
                              default: 0
                            buys15min:
                              type: number
                              nullable: true
                              default: 0
                            buys1h:
                              type: number
                              nullable: true
                              default: 0
                            buys4h:
                              type: number
                              nullable: true
                              default: 0
                            buys6h:
                              type: number
                              nullable: true
                              default: 0
                            buys12h:
                              type: number
                              nullable: true
                              default: 0
                            buys24h:
                              type: number
                              nullable: true
                              default: 0
                            sells1min:
                              type: number
                              nullable: true
                              default: 0
                            sells5min:
                              type: number
                              nullable: true
                              default: 0
                            sells15min:
                              type: number
                              nullable: true
                              default: 0
                            sells1h:
                              type: number
                              nullable: true
                              default: 0
                            sells4h:
                              type: number
                              nullable: true
                              default: 0
                            sells6h:
                              type: number
                              nullable: true
                              default: 0
                            sells12h:
                              type: number
                              nullable: true
                              default: 0
                            sells24h:
                              type: number
                              nullable: true
                              default: 0
                            buyers1min:
                              type: number
                              nullable: true
                              default: 0
                            buyers5min:
                              type: number
                              nullable: true
                              default: 0
                            buyers15min:
                              type: number
                              nullable: true
                              default: 0
                            buyers1h:
                              type: number
                              nullable: true
                              default: 0
                            buyers4h:
                              type: number
                              nullable: true
                              default: 0
                            buyers6h:
                              type: number
                              nullable: true
                              default: 0
                            buyers12h:
                              type: number
                              nullable: true
                              default: 0
                            buyers24h:
                              type: number
                              nullable: true
                              default: 0
                            sellers1min:
                              type: number
                              nullable: true
                              default: 0
                            sellers5min:
                              type: number
                              nullable: true
                              default: 0
                            sellers15min:
                              type: number
                              nullable: true
                              default: 0
                            sellers1h:
                              type: number
                              nullable: true
                              default: 0
                            sellers4h:
                              type: number
                              nullable: true
                              default: 0
                            sellers6h:
                              type: number
                              nullable: true
                              default: 0
                            sellers12h:
                              type: number
                              nullable: true
                              default: 0
                            sellers24h:
                              type: number
                              nullable: true
                              default: 0
                            traders1min:
                              type: number
                              nullable: true
                              default: 0
                            traders5min:
                              type: number
                              nullable: true
                              default: 0
                            traders15min:
                              type: number
                              nullable: true
                              default: 0
                            traders1h:
                              type: number
                              nullable: true
                              default: 0
                            traders4h:
                              type: number
                              nullable: true
                              default: 0
                            traders6h:
                              type: number
                              nullable: true
                              default: 0
                            traders12h:
                              type: number
                              nullable: true
                              default: 0
                            traders24h:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            feesPaid24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            totalFeesPaidUSD:
                              type: number
                              nullable: true
                              default: 0
                            totalFeesPaidNativeRaw:
                              type: string
                              nullable: true
                              default: '0'
                            organicTrades1min:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades5min:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades15min:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades1h:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades4h:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades6h:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades12h:
                              type: number
                              nullable: true
                              default: 0
                            organicTrades24h:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders1min:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders5min:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders15min:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders1h:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders4h:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders6h:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders12h:
                              type: number
                              nullable: true
                              default: 0
                            organicTraders24h:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolume24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeBuy24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell1minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell5minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell15minUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell1hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell4hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell6hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell12hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicVolumeSell24hUSD:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys1min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys5min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys15min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys1h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys4h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys6h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys12h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuys24h:
                              type: number
                              nullable: true
                              default: 0
                            organicSells1min:
                              type: number
                              nullable: true
                              default: 0
                            organicSells5min:
                              type: number
                              nullable: true
                              default: 0
                            organicSells15min:
                              type: number
                              nullable: true
                              default: 0
                            organicSells1h:
                              type: number
                              nullable: true
                              default: 0
                            organicSells4h:
                              type: number
                              nullable: true
                              default: 0
                            organicSells6h:
                              type: number
                              nullable: true
                              default: 0
                            organicSells12h:
                              type: number
                              nullable: true
                              default: 0
                            organicSells24h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers1min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers5min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers15min:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers1h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers4h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers6h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers12h:
                              type: number
                              nullable: true
                              default: 0
                            organicBuyers24h:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers1min:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers5min:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers15min:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers1h:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers4h:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers6h:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers12h:
                              type: number
                              nullable: true
                              default: 0
                            organicSellers24h:
                              type: number
                              nullable: true
                              default: 0
                            createdAt:
                              type: string
                              nullable: true
                            latestTradeDate:
                              type: string
                              nullable: true
                            holdersCount:
                              type: number
                              nullable: true
                            description:
                              type: string
                              nullable: true
                            socials:
                              type: object
                              properties:
                                twitter:
                                  type: string
                                  nullable: true
                                website:
                                  type: string
                                  nullable: true
                                telegram:
                                  type: string
                                  nullable: true
                                others:
                                  type: object
                                  nullable: true
                                  additionalProperties:
                                    nullable: true
                                uri:
                                  type: string
                              required:
                                - twitter
                                - website
                                - telegram
                            security:
                              type: object
                              nullable: true
                              properties:
                                buyTax:
                                  type: string
                                  nullable: true
                                sellTax:
                                  type: string
                                  nullable: true
                                transferPausable:
                                  type: boolean
                                top10Holders:
                                  type: string
                                isBlacklisted:
                                  type: boolean
                                noMintAuthority:
                                  type: boolean
                                isFreezable:
                                  type: boolean
                                balanceMutable:
                                  type: boolean
                                lowLiquidity:
                                  type: string
                                burnRate:
                                  type: string
                                liquidityBurnPercentage:
                                  type: number
                                transferTax:
                                  type: string
                                  nullable: true
                                isHoneypot:
                                  type: boolean
                                isNotOpenSource:
                                  type: boolean
                                renounced:
                                  type: boolean
                                locked:
                                  type: string
                                isWhitelisted:
                                  type: boolean
                                isMintable:
                                  type: boolean
                                modifyableTax:
                                  type: boolean
                                selfDestruct:
                                  type: boolean
                            twitterReusesCount:
                              type: number
                              nullable: true
                              default: 0
                            twitterRenameCount:
                              type: number
                              nullable: true
                              default: 0
                            twitterRenameHistory:
                              type: array
                              items:
                                type: object
                                properties:
                                  username:
                                    type: string
                                  lastChecked:
                                    type: string
                                required:
                                  - username
                                  - lastChecked
                              default: []
                            deployerMigrationsCount:
                              type: number
                              nullable: true
                              default: 0
                            deployerTokensCount:
                              type: number
                              nullable: true
                              default: 0
                            securityScore:
                              type: number
                              nullable: true
                              default: null
                            securityScoreUpdatedAt:
                              type: string
                              nullable: true
                              default: null
                            dexscreenerListed:
                              type: boolean
                              nullable: true
                              default: false
                            dexscreenerHeader:
                              type: string
                              nullable: true
                              default: null
                            dexscreenerAdPaid:
                              type: boolean
                              nullable: true
                              default: false
                            dexscreenerAdPaidDate:
                              type: string
                              nullable: true
                              default: null
                            dexScreenerEnhanced:
                              type: object
                              nullable: true
                              properties:
                                icon:
                                  type: string
                                  nullable: true
                                header:
                                  type: string
                                  nullable: true
                                description:
                                  type: string
                                  nullable: true
                                links:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                      label:
                                        type: string
                                      type:
                                        type: string
                                    required:
                                      - url
                                  default: []
                                isCto:
                                  type: boolean
                                  default: false
                                timestamp:
                                  type: number
                                  nullable: true
                                enhanced:
                                  type: boolean
                                  default: false
                                previousEnhancements:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      icon:
                                        type: string
                                        nullable: true
                                      header:
                                        type: string
                                        nullable: true
                                      description:
                                        type: string
                                        nullable: true
                                      links:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            url:
                                              type: string
                                            label:
                                              type: string
                                            type:
                                              type: string
                                          required:
                                            - url
                                        default: []
                                      isCto:
                                        type: boolean
                                        default: false
                                      timestamp:
                                        type: number
                                        nullable: true
                                    required:
                                      - icon
                                      - header
                                      - description
                                      - timestamp
                                  default: []
                              default: null
                              required:
                                - icon
                                - header
                                - description
                                - timestamp
                            dexscreenerPendingAt:
                              type: string
                              nullable: true
                              default: null
                            dexscreenerSocialPaid:
                              type: boolean
                              nullable: true
                              default: false
                            dexscreenerSocialPaidDate:
                              type: string
                              nullable: true
                              default: null
                            liveStatus:
                              type: string
                              nullable: true
                            liveThumbnail:
                              type: string
                              nullable: true
                            livestreamTitle:
                              type: string
                              nullable: true
                            liveReplyCount:
                              type: number
                              nullable: true
                            dexscreenerBoosted:
                              type: boolean
                              nullable: true
                              default: false
                            dexscreenerBoostedDate:
                              type: string
                              nullable: true
                              default: null
                            dexscreenerBoostedAmount:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore1min:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore5min:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore15min:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore1h:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore4h:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore6h:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore12h:
                              type: number
                              nullable: true
                              default: 0
                            trendingScore24h:
                              type: number
                              nullable: true
                              default: 0
                            surgeScore:
                              type: number
                              nullable: true
                              default: null
                            isMayhemMode:
                              type: boolean
                              nullable: true
                              default: null
                            isCashbackCoin:
                              type: boolean
                              nullable: true
                              default: null
                            isAgentMode:
                              type: boolean
                              nullable: true
                              default: null
                            isOGCoin:
                              type: boolean
                              nullable: true
                              default: null
                            top10HoldingsPercentage:
                              type: number
                              nullable: true
                            top50HoldingsPercentage:
                              type: number
                              nullable: true
                            top100HoldingsPercentage:
                              type: number
                              nullable: true
                            top200HoldingsPercentage:
                              type: number
                              nullable: true
                            devHoldingsPercentage:
                              type: number
                              nullable: true
                            insidersHoldingsPercentage:
                              type: number
                              nullable: true
                            bundlersHoldingsPercentage:
                              type: number
                              nullable: true
                            snipersHoldingsPercentage:
                              type: number
                              nullable: true
                            proTradersHoldingsPercentage:
                              type: number
                              nullable: true
                            freshTradersHoldingsPercentage:
                              type: number
                              nullable: true
                            smartTradersHoldingsPercentage:
                              type: number
                              nullable: true
                            insidersCount:
                              type: number
                              nullable: true
                            bundlersCount:
                              type: number
                              nullable: true
                            snipersCount:
                              type: number
                              nullable: true
                            freshTradersCount:
                              type: number
                              nullable: true
                            proTradersCount:
                              type: number
                              nullable: true
                            smartTradersCount:
                              type: number
                              nullable: true
                            freshTradersBuys:
                              type: number
                              nullable: true
                            proTradersBuys:
                              type: number
                              nullable: true
                            smartTradersBuys:
                              type: number
                              nullable: true
                          required:
                            - address
                            - chainId
                            - symbol
                            - name
                            - priceTokenString
                            - approximateReserveTokenRaw
                            - logo
                            - bondedAt
                            - createdAt
                            - latestTradeDate
                            - description
                            - socials
                            - security
                            - liveStatus
                            - liveThumbnail
                            - livestreamTitle
                            - liveReplyCount
                        balance:
                          type: number
                        rawBalance:
                          type: string
                        amountUSD:
                          type: number
                        buys:
                          type: number
                        sells:
                          type: number
                        volumeBuyToken:
                          type: number
                        volumeSellToken:
                          type: number
                        volumeBuy:
                          type: number
                        volumeSell:
                          type: number
                        avgBuyPriceUSD:
                          type: number
                        avgSellPriceUSD:
                          type: number
                        realizedPnlUSD:
                          type: number
                        unrealizedPnlUSD:
                          type: number
                        totalPnlUSD:
                          type: number
                        totalFeesPaidUSD:
                          type: number
                          default: 0
                        buyFeesPaidUSD:
                          type: number
                          default: 0
                        sellFeesPaidUSD:
                          type: number
                          default: 0
                        firstDate:
                          type: string
                          nullable: true
                        lastDate:
                          type: string
                          nullable: true
                        labels:
                          type: array
                          nullable: true
                          items:
                            type: string
                          default: []
                      required:
                        - token
                        - balance
                        - rawBalance
                        - amountUSD
                        - buys
                        - sells
                        - volumeBuyToken
                        - volumeSellToken
                        - volumeBuy
                        - volumeSell
                        - avgBuyPriceUSD
                        - avgSellPriceUSD
                        - realizedPnlUSD
                        - unrealizedPnlUSD
                        - totalPnlUSD
                        - firstDate
                        - lastDate
                  wallet:
                    type: object
                    properties:
                      fundingInfo:
                        type: object
                        nullable: true
                        properties:
                          from:
                            type: string
                            nullable: true
                          date:
                            type: string
                            nullable: true
                          chainId:
                            type: string
                            nullable: true
                          txHash:
                            type: string
                            nullable: true
                          amount:
                            type: string
                            nullable: true
                          formattedAmount:
                            type: number
                            nullable: true
                          currency:
                            type: object
                            nullable: true
                            properties:
                              name:
                                type: string
                              symbol:
                                type: string
                              logo:
                                type: string
                                nullable: true
                              decimals:
                                type: number
                              address:
                                type: string
                            required:
                              - name
                              - symbol
                              - logo
                              - decimals
                              - address
                          fromWalletLogo:
                            type: string
                            nullable: true
                          fromWalletTag:
                            type: string
                            nullable: true
                          fromWalletMetadata:
                            type: object
                            nullable: true
                            properties:
                              entityName:
                                type: string
                                nullable: true
                              entityLogo:
                                type: string
                                nullable: true
                              entityLabels:
                                type: array
                                items:
                                  type: string
                              entityType:
                                type: string
                                nullable: true
                              entityDescription:
                                type: string
                                nullable: true
                              entityTwitter:
                                type: string
                                nullable: true
                              entityWebsite:
                                type: string
                                nullable: true
                              entityGithub:
                                type: string
                                nullable: true
                              entityDiscord:
                                type: string
                                nullable: true
                              entityTelegram:
                                type: string
                                nullable: true
                              extra:
                                type: object
                                additionalProperties:
                                  nullable: true
                            required:
                              - entityName
                              - entityLogo
                              - entityLabels
                              - entityType
                              - entityDescription
                              - entityTwitter
                              - entityWebsite
                              - entityGithub
                              - entityDiscord
                              - entityTelegram
                        default: null
                        required:
                          - from
                          - date
                          - chainId
                          - txHash
                          - amount
                          - formattedAmount
                          - currency
                          - fromWalletLogo
                          - fromWalletTag
                      entity:
                        type: string
                        nullable: true
                        default: null
                      labels:
                        type: array
                        items:
                          type: string
                        default: []
                  pagination:
                    type: object
                    properties:
                      page:
                        type: number
                      offset:
                        type: number
                      limit:
                        type: number
                      pageEntries:
                        type: number
                    required:
                      - page
                      - offset
                      - limit
                      - pageEntries
                required:
                  - data

````