> ## 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 Holdings

> Fetch wallet holdings with camelCase portfolio fields, enriched token details, native gas balances under 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, and wrapped tokens under their own contract or mint when present. Use POST for RAM filters on token fields.

Returns the current token holdings for one wallet or a comma-separated list of wallets.

<Note>
  This endpoint is still in alpha and may experience issues. If you run into unexpected behavior, use [`/wallet/portfolio`](/rest-api-reference/endpoint/wallet-portfolio) as a fallback.
</Note>

Use `GET` for standard wallet queries. Use `POST` on the same path when you need to filter returned tokens with Prisma-like filters on enriched token fields.

## Endpoints

```http theme={null}
GET /api/2/wallet/holdings
POST /api/2/wallet/holdings
```

## Query Parameters

| Parameter            | Type      | Required    | Default        | Description                                                                                                                         |
| -------------------- | --------- | ----------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `wallet`             | `string`  | Conditional | -              | Single wallet address. Required when `wallets` is not provided. Accepts EVM, Solana, Tron, TON, and other supported wallet formats. |
| `wallets`            | `string`  | Conditional | -              | Comma-separated wallet addresses. Required when `wallet` is not provided. Holdings are aggregated across wallets.                   |
| `blockchains`        | `string`  | No          | premium chains | Comma-separated chain IDs or names, for example `ethereum,base,solana` or `evm:1,evm:8453,solana:solana`.                           |
| `asset`              | `string`  | No          | -              | Filter to one asset by name or symbol before holdings are returned.                                                                 |
| `unlistedAssets`     | `boolean` | No          | `true`         | Include tokens that do not have a canonical asset mapping.                                                                          |
| `filterSpam`         | `boolean` | No          | `true`         | Remove spam/phishing tokens from the result.                                                                                        |
| `minLiquidity`       | `number`  | No          | `1000`         | Minimum liquidity threshold in USD. This is the v2 alias for legacy `minliq`.                                                       |
| `fetchAllChains`     | `boolean` | No          | `false`        | Query all supported chains instead of the default premium chain set.                                                                |
| `fetchEmptyBalances` | `boolean` | No          | `false`        | Include zero-balance token accounts when available.                                                                                 |
| `backfillTransfers`  | `boolean` | No          | `false`        | Trigger transfer backfill and return `backfillStatus`.                                                                              |
| `pnl`                | `boolean` | No          | `false`        | Kept for parity with portfolio parameters.                                                                                          |

## Example

```bash theme={null}
curl "https://genius-api.mobula.io/api/2/wallet/holdings?wallet=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&blockchains=ethereum,base&minLiquidity=10000" \
  -H "Authorization: YOUR_API_KEY"
```

## POST Body

The `POST` body accepts the same wallet parameters as `GET`, plus `filters`.

```ts theme={null}
interface WalletHoldingsPostBody extends WalletHoldingsQueryParams {
  filters?: WalletHoldingFilters;
}

interface WalletHoldingsQueryParams {
  wallet?: string | number | boolean;
  wallets?: string | number | boolean;
  portfolio?: string | number | boolean;
  blockchains?: string | number | boolean;
  asset?: string | number | boolean;
  unlistedAssets?: string | number | boolean;
  filterSpam?: string | number | boolean;
  minLiquidity?: string | number | boolean;
  fetchAllChains?: string | number | boolean;
  fetchEmptyBalances?: string | number | boolean;
  backfillTransfers?: string | number | boolean;
  pnl?: string | number | boolean;
  from?: string | number | boolean;
  to?: string | number | boolean;
  period?: string | number | boolean;
  accuracy?: string | number | boolean;
  testnet?: string | number | boolean;
}
```

| Field                | Type                   | Required    | Description                                                                                                       |
| -------------------- | ---------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------- |
| `wallet`             | `string`               | Conditional | Single wallet address. Required when `wallets` is not provided.                                                   |
| `wallets`            | `string`               | Conditional | Comma-separated wallet addresses. Required when `wallet` is not provided. Holdings are aggregated across wallets. |
| `blockchains`        | `string`               | No          | Comma-separated chain IDs or names, for example `ethereum,base,solana`.                                           |
| `asset`              | `string`               | No          | Filter to one asset before RAM filters are applied.                                                               |
| `unlistedAssets`     | `boolean`              | No          | Include tokens that do not have a canonical asset mapping.                                                        |
| `filterSpam`         | `boolean`              | No          | Remove spam/phishing tokens before RAM filters are applied.                                                       |
| `minLiquidity`       | `number`               | No          | Minimum liquidity threshold in USD.                                                                               |
| `fetchAllChains`     | `boolean`              | No          | Query all supported chains instead of the default premium chain set.                                              |
| `fetchEmptyBalances` | `boolean`              | No          | Include zero-balance token accounts when available.                                                               |
| `backfillTransfers`  | `boolean`              | No          | Trigger transfer backfill and return `backfillStatus`.                                                            |
| `filters`            | `WalletHoldingFilters` | No          | Prisma-like where tree applied to `holding.token`.                                                                |

## POST Filters

The syntax mirrors the Prisma-like filter shape used by `token/filters`: direct scalar values mean `equals`, operator objects can be nested, and logical branches use `AND`, `OR`, and `NOT`.

```ts theme={null}
type WalletHoldingFilters = {
  OR?: WalletHoldingFilters[];
  AND?: WalletHoldingFilters[];
  NOT?: WalletHoldingFilters | WalletHoldingFilters[];
  [tokenField: string]:
    | FilterValue
    | WalletHoldingFilters
    | WalletHoldingFilters[]
    | undefined;
};

type FilterValue = FilterOperator | string | number | boolean | null;

interface FilterOperator<T = unknown> {
  equals?: T | null;
  not?: T | null | FilterOperator<T>;
  in?: T[];
  notIn?: T[];
  gte?: number;
  lte?: number;
  gt?: number;
  lt?: number;
  contains?: string;
  startsWith?: string;
  endsWith?: string;
  isNull?: boolean;
  isNotNull?: boolean;
}
```

<Note>
  Filters run on `holding.token`, not on wallet-specific fields such as `amount`, `amountUSD`, or `allocation`. The response is recalculated after filtering, so `totalWalletBalanceUSD`, `holdingsCount`, `balancesLength`, and each remaining holding's `allocation` match the filtered result.
</Note>

## Supported Operators

| Operator      | Example                                                                                | Description                                         |
| ------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------- |
| Direct value  | `{ "symbol": "WETH" }`                                                                 | Equivalent to `{ "symbol": { "equals": "WETH" } }`. |
| `equals`      | `{ "chainId": { "equals": "evm:1" } }`                                                 | Exact match.                                        |
| `not`         | `{ "symbol": { "not": "SCAM" } }`                                                      | Excludes an exact value.                            |
| Nested `not`  | `{ "name": { "not": { "contains": "test" } } }`                                        | Negates another operator object.                    |
| `in`          | `{ "chainId": { "in": ["evm:1", "evm:8453"] } }`                                       | Match any listed value.                             |
| `notIn`       | `{ "source": { "notIn": ["unknown", "spam"] } }`                                       | Exclude any listed value.                           |
| `gte` / `lte` | `{ "liquidityUSD": { "gte": 100000, "lte": 5000000 } }`                                | Inclusive numeric bounds.                           |
| `gt` / `lt`   | `{ "priceChange24hPercentage": { "gt": 5 } }`                                          | Strict numeric bounds.                              |
| `contains`    | `{ "name": { "contains": "wrapped" } }`                                                | Case-insensitive substring match.                   |
| `startsWith`  | `{ "symbol": { "startsWith": "W" } }`                                                  | Case-insensitive prefix match.                      |
| `endsWith`    | `{ "symbol": { "endsWith": "ETH" } }`                                                  | Case-insensitive suffix match.                      |
| `isNull`      | `{ "deployer": { "isNull": true } }`                                                   | Match `null` or missing values.                     |
| `isNotNull`   | `{ "socials.website": { "isNotNull": true } }`                                         | Match existing values.                              |
| `AND`         | `{ "AND": [{ "liquidityUSD": { "gte": 100000 } }, { "security.isHoneypot": false }] }` | Every branch must match.                            |
| `OR`          | `{ "OR": [{ "symbol": "WETH" }, { "symbol": "USDC" }] }`                               | At least one branch must match.                     |
| `NOT`         | `{ "NOT": { "security.isHoneypot": true } }`                                           | Excludes matching tokens.                           |

## Nested Fields

Both dot-path and nested-object syntax are valid.

```json theme={null}
{
  "filters": {
    "security.isHoneypot": false,
    "socials.website": { "isNotNull": true }
  }
}
```

```json theme={null}
{
  "filters": {
    "security": {
      "isHoneypot": false,
      "isMintable": false
    },
    "socials": {
      "website": { "isNotNull": true }
    }
  }
}
```

## Filterable Fields

Every field in `holding.token` is filterable. `holding.token` uses the same enriched token details object returned by TokenService; the full token interface is documented in [Token Object](#token-object).

Common filter examples:

```json theme={null}
{
  "filters": {
    "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    "chainId": { "in": ["evm:1", "evm:8453", "solana:solana"] },
    "symbol": { "notIn": ["SCAM", "TEST"] },
    "name": { "contains": "wrapped" },
    "decimals": { "equals": 18 },

    "priceUSD": { "gte": 0.01, "lte": 10000 },
    "liquidityUSD": { "gte": 100000 },
    "liquidityMaxUSD": { "gte": 250000 },
    "marketCapUSD": { "gte": 1000000 },
    "marketCapDilutedUSD": { "lte": 50000000 },
    "totalSupply": { "gt": 0 },
    "circulatingSupply": { "gt": 0 },

    "priceChange1hPercentage": { "gt": 0 },
    "priceChange24hPercentage": { "gte": 5 },
    "poolPriceChange24hPercentage": { "lt": 50 },

    "volume1hUSD": { "gte": 10000 },
    "volume24hUSD": { "gte": 500000 },
    "volumeBuy24hUSD": { "gte": 250000 },
    "volumeSell24hUSD": { "lte": 250000 },

    "trades24h": { "gte": 100 },
    "buys24h": { "gte": 50 },
    "sells24h": { "gte": 10 },
    "buyers24h": { "gte": 25 },
    "sellers24h": { "gte": 10 },
    "traders24h": { "gte": 30 },

    "feesPaid24hUSD": { "gte": 100 },
    "totalFeesPaidUSD": { "gte": 1000 },
    "organicTrades24h": { "gte": 25 },
    "organicVolume24hUSD": { "gte": 100000 },
    "organicBuyers24h": { "gte": 10 },

    "holdersCount": { "gte": 500 },
    "top10HoldingsPercentage": { "lte": 30 },
    "devHoldingsPercentage": { "lte": 5 },
    "insidersHoldingsPercentage": { "lte": 10 },
    "bundlersCount": { "lte": 3 },
    "smartTradersCount": { "gte": 5 },

    "security.isHoneypot": false,
    "security.isBlacklisted": false,
    "security.isMintable": false,
    "security.noMintAuthority": true,
    "security.isFreezable": false,

    "socials.website": { "isNotNull": true },
    "socials.twitter": { "isNotNull": true },
    "description": { "contains": "liquid" },
    "logo": { "isNotNull": true },

    "source": { "in": ["pumpfun", "raydium", "uniswap-v2"] },
    "factory": { "isNotNull": true },
    "poolAddress": { "isNotNull": true },
    "bonded": true,
    "migrating": false,
    "bondingPercentage": { "gte": 90 },
    "deployer": { "not": null },

    "dexscreenerListed": true,
    "dexscreenerAdPaid": false,
    "liveStatus": { "not": null },
    "surgeScore": { "gte": 5 },
    "isMayhemMode": false,
    "isCashbackCoin": false,
    "isAgentMode": false,
    "isOGCoin": false
  }
}
```

## POST Example: Safe Liquid Holdings

```bash theme={null}
curl -X POST "https://genius-api.mobula.io/api/2/wallet/holdings" \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "blockchains": "ethereum,base,solana",
    "minLiquidity": 10000,
    "filters": {
      "AND": [
        { "marketCapUSD": { "gte": 1000000 } },
        { "liquidityUSD": { "gte": 100000 } },
        { "security.isHoneypot": false },
        { "security.isMintable": false },
        { "socials.website": { "isNotNull": true } }
      ],
      "NOT": [
        { "symbol": { "contains": "test" } },
        { "name": { "contains": "airdrop" } }
      ]
    }
  }'
```

## POST Example: OR Logic

```bash theme={null}
curl -X POST "https://genius-api.mobula.io/api/2/wallet/holdings" \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallets": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0x00000000219ab540356cBB839Cbe05303d7705Fa",
    "blockchains": "ethereum,base",
    "filters": {
      "OR": [
        {
          "AND": [
            { "symbol": { "in": ["WETH", "USDC"] } },
            { "liquidityUSD": { "gte": 1000000 } }
          ]
        },
        {
          "AND": [
            { "priceChange24hPercentage": { "gt": 10 } },
            { "volume24hUSD": { "gte": 500000 } },
            { "security": { "isHoneypot": false } }
          ]
        }
      ]
    }
  }'
```

## Response Model

The response is camelCase, and `USD` stays uppercase. The portfolio service returns holdings in this shape directly; legacy portfolio endpoints map this shape back to their old response models.

```ts theme={null}
interface WalletHoldingsResponse {
  data: WalletHoldingsOutput;
  backfillStatus?: 'processed' | 'processing' | 'pending';
}

interface WalletHoldingsOutput {
  totalWalletBalanceUSD: number;
  wallets: string[];
  holdings: WalletHolding[];
  holdingsCount: number;
  balancesLength: number;
}

interface WalletHolding {
  token: WalletHoldingToken;
  amount: number;
  amountRaw?: string | null;
  amountUSD: number;
  allocation: number;
  chainBalances: Record<string, WalletHoldingChainBalance>;
  wallets: string[];
}

interface WalletHoldingChainBalance {
  chainId: string;
  address: string;
  amount: number;
  amountRaw: string;
  amountUSD: number;
  priceUSD?: number | null;
  liquidityUSD?: number | null;
  decimals: number;
  tokenType?: '2020' | '2022' | 'erc20' | 'trc10' | 'trc20' | 'native' | null;
  security?: SecurityFlags | null;
  wallets: Record<string, WalletChainWalletBalance>;
}

interface WalletChainWalletBalance {
  amount: number;
  amountRaw: string;
  amountUSD: number;
  lamports?: string | null;
  tokenAccount?: string | null;
}
```

`allocation` is the holding share of `totalWalletBalanceUSD`, expressed as a percentage. For example, `23.88` means the token represents 23.88% of the returned wallet holdings value.

## Token Object

`holding.token` is the enriched token details object returned by TokenService. POST filters operate on this same object.

```ts theme={null}
interface WalletHoldingToken extends HolderStats {
  address: string;
  chainId: string;
  symbol: string | null;
  name: string | null;
  decimals: number;
  id?: number | null;

  priceUSD: number;
  priceToken: number;
  priceTokenString: string;
  approximateReserveUSD: number;
  approximateReserveTokenRaw: string;
  approximateReserveToken: number;
  totalSupply: number;
  circulatingSupply: number;
  marketCapUSD: number;
  marketCapDilutedUSD: number;
  logo: string | null;
  originLogoUrl?: string | null;
  rank: number | null;
  cexs: string[];

  exchange?: {
    name: string;
    logo: string;
  };

  factory?: string | null;
  source?: string | null;
  sourceFactory?: string | null;
  sourceMetadata?: MetadataSource | null;
  sourceFactoryMetadata?: MetadataSource | null;

  liquidityUSD?: number;
  liquidityMaxUSD?: number;
  bonded?: boolean;
  bondingPercentage?: number;
  migrating?: boolean;
  bondingCurveAddress?: string | null;
  preBondingFactory?: string;
  poolAddress?: string;

  blockchain?: string;
  type?: string;
  tokenType: '2020' | '2022' | 'erc20' | 'trc10' | 'trc20' | 'native' | null;

  deployer?: string | null;
  bondedAt: string | null;
  athUSD?: number;
  atlUSD?: number;
  athDate?: string;
  atlDate?: string;

  priceChange1minPercentage: number;
  priceChange5minPercentage: number;
  priceChange1hPercentage: number;
  priceChange4hPercentage: number;
  priceChange6hPercentage: number;
  priceChange12hPercentage: number;
  priceChange24hPercentage: number;

  poolPriceChange1minPercentage: number;
  poolPriceChange5minPercentage: number;
  poolPriceChange1hPercentage: number;
  poolPriceChange4hPercentage: number;
  poolPriceChange6hPercentage: number;
  poolPriceChange12hPercentage: number;
  poolPriceChange24hPercentage: number;

  liquidityBurnPercentage?: number | null;

  volume1minUSD: number;
  volume5minUSD: number;
  volume15minUSD: number;
  volume1hUSD: number;
  volume4hUSD: number;
  volume6hUSD: number;
  volume12hUSD: number;
  volume24hUSD: number;

  volumeBuy1minUSD: number;
  volumeBuy5minUSD: number;
  volumeBuy15minUSD: number;
  volumeBuy1hUSD: number;
  volumeBuy4hUSD: number;
  volumeBuy6hUSD: number;
  volumeBuy12hUSD: number;
  volumeBuy24hUSD: number;

  volumeSell1minUSD: number;
  volumeSell5minUSD: number;
  volumeSell15minUSD: number;
  volumeSell1hUSD: number;
  volumeSell4hUSD: number;
  volumeSell6hUSD: number;
  volumeSell12hUSD: number;
  volumeSell24hUSD: number;

  trades1min: number;
  trades5min: number;
  trades15min: number;
  trades1h: number;
  trades4h: number;
  trades6h: number;
  trades12h: number;
  trades24h: number;

  buys1min: number;
  buys5min: number;
  buys15min: number;
  buys1h: number;
  buys4h: number;
  buys6h: number;
  buys12h: number;
  buys24h: number;

  sells1min: number;
  sells5min: number;
  sells15min: number;
  sells1h: number;
  sells4h: number;
  sells6h: number;
  sells12h: number;
  sells24h: number;

  buyers1min: number;
  buyers5min: number;
  buyers15min: number;
  buyers1h: number;
  buyers4h: number;
  buyers6h: number;
  buyers12h: number;
  buyers24h: number;

  sellers1min: number;
  sellers5min: number;
  sellers15min: number;
  sellers1h: number;
  sellers4h: number;
  sellers6h: number;
  sellers12h: number;
  sellers24h: number;

  traders1min: number;
  traders5min: number;
  traders15min: number;
  traders1h: number;
  traders4h: number;
  traders6h: number;
  traders12h: number;
  traders24h: number;

  feesPaid1minUSD: number;
  feesPaid5minUSD: number;
  feesPaid15minUSD: number;
  feesPaid1hUSD: number;
  feesPaid4hUSD: number;
  feesPaid6hUSD: number;
  feesPaid12hUSD: number;
  feesPaid24hUSD: number;
  totalFeesPaidUSD: number;
  totalFeesPaidNativeRaw: string;

  organicTrades1min: number;
  organicTrades5min: number;
  organicTrades15min: number;
  organicTrades1h: number;
  organicTrades4h: number;
  organicTrades6h: number;
  organicTrades12h: number;
  organicTrades24h: number;

  organicTraders1min: number;
  organicTraders5min: number;
  organicTraders15min: number;
  organicTraders1h: number;
  organicTraders4h: number;
  organicTraders6h: number;
  organicTraders12h: number;
  organicTraders24h: number;

  organicVolume1minUSD: number;
  organicVolume5minUSD: number;
  organicVolume15minUSD: number;
  organicVolume1hUSD: number;
  organicVolume4hUSD: number;
  organicVolume6hUSD: number;
  organicVolume12hUSD: number;
  organicVolume24hUSD: number;

  organicVolumeBuy1minUSD: number;
  organicVolumeBuy5minUSD: number;
  organicVolumeBuy15minUSD: number;
  organicVolumeBuy1hUSD: number;
  organicVolumeBuy4hUSD: number;
  organicVolumeBuy6hUSD: number;
  organicVolumeBuy12hUSD: number;
  organicVolumeBuy24hUSD: number;

  organicVolumeSell1minUSD: number;
  organicVolumeSell5minUSD: number;
  organicVolumeSell15minUSD: number;
  organicVolumeSell1hUSD: number;
  organicVolumeSell4hUSD: number;
  organicVolumeSell6hUSD: number;
  organicVolumeSell12hUSD: number;
  organicVolumeSell24hUSD: number;

  organicBuys1min: number;
  organicBuys5min: number;
  organicBuys15min: number;
  organicBuys1h: number;
  organicBuys4h: number;
  organicBuys6h: number;
  organicBuys12h: number;
  organicBuys24h: number;

  organicSells1min: number;
  organicSells5min: number;
  organicSells15min: number;
  organicSells1h: number;
  organicSells4h: number;
  organicSells6h: number;
  organicSells12h: number;
  organicSells24h: number;

  organicBuyers1min: number;
  organicBuyers5min: number;
  organicBuyers15min: number;
  organicBuyers1h: number;
  organicBuyers4h: number;
  organicBuyers6h: number;
  organicBuyers12h: number;
  organicBuyers24h: number;

  organicSellers1min: number;
  organicSellers5min: number;
  organicSellers15min: number;
  organicSellers1h: number;
  organicSellers4h: number;
  organicSellers6h: number;
  organicSellers12h: number;
  organicSellers24h: number;

  createdAt: string | null;
  latestTradeDate: string | null;
  holdersCount?: number | null;
  description: string | null;
  socials: {
    twitter: string | null;
    website: string | null;
    telegram: string | null;
    others?: Record<string, unknown> | null;
    uri?: string;
  };
  security: SecurityFlags | null;

  twitterReusesCount: number | null;
  twitterRenameCount: number;
  twitterRenameHistory: Array<{
    username: string;
    lastChecked: string;
  }>;

  deployerMigrationsCount: number;
  deployerTokensCount: number;
  securityScore: number | null;
  securityScoreUpdatedAt: string | null;

  dexscreenerListed: boolean | null;
  dexscreenerHeader: string | null;
  dexscreenerAdPaid: boolean | null;
  dexscreenerAdPaidDate: string | null;
  dexScreenerEnhanced: Record<string, unknown> | null;
  dexscreenerPendingAt: string | null;
  dexscreenerSocialPaid: boolean | null;
  dexscreenerSocialPaidDate: string | null;

  liveStatus: string | null;
  liveThumbnail: string | null;
  livestreamTitle: string | null;
  liveReplyCount: number | null;
  dexscreenerBoosted: boolean | null;
  dexscreenerBoostedDate: string | null;
  dexscreenerBoostedAmount: number | null;

  surgeScore: number | null;
  isMayhemMode: boolean | null;
  isCashbackCoin: boolean | null;
  isAgentMode: boolean | null;
  isOGCoin: boolean | null;
}

interface MetadataSource {
  name: string;
  logo: string;
}

interface HolderStats {
  holdersCount?: number | null;
  top10HoldingsPercentage?: number | null;
  top50HoldingsPercentage?: number | null;
  top100HoldingsPercentage?: number | null;
  top200HoldingsPercentage?: number | null;
  devHoldingsPercentage?: number | null;
  insidersHoldingsPercentage?: number | null;
  bundlersHoldingsPercentage?: number | null;
  snipersHoldingsPercentage?: number | null;
  proTradersHoldingsPercentage?: number | null;
  freshTradersHoldingsPercentage?: number | null;
  smartTradersHoldingsPercentage?: number | null;
  insidersCount?: number | null;
  bundlersCount?: number | null;
  snipersCount?: number | null;
  freshTradersCount?: number | null;
  proTradersCount?: number | null;
  smartTradersCount?: number | null;
  freshTradersBuys?: number | null;
  proTradersBuys?: number | null;
  smartTradersBuys?: number | null;
}

interface SecurityFlags {
  buyTax?: string;
  sellTax?: string;
  transferTax?: string;
  transferPausable?: boolean;
  top10Holders?: string;
  isBlacklisted?: boolean;
  isHoneypot?: boolean;
  isNotOpenSource?: boolean;
  renounced?: boolean;
  locked?: string;
  isWhitelisted?: boolean;
  balanceMutable?: boolean;
  lowLiquidity?: string;
  burnRate?: string;
  isMintable?: boolean;
  modifyableTax?: boolean;
  selfDestruct?: boolean;
  liquidityBurnPercentage?: number;
  noMintAuthority?: boolean;
  isFreezable?: boolean;
  frozen?: boolean;
}
```

## Native vs Wrapped Balances

Native gas balances are returned as their own holding with the canonical address `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`. This applies to EVM chains and to Solana.

Wrapped tokens use their real contract or mint address when they are returned as wallet holdings. Do not infer wrapped balances from a native holding, even when both rows share the same asset, symbol, or price. Clients that need to distinguish native gas from wrapped ERC-20/SPL balances should key by `holding.token.chainId + holding.token.address` or by each `chainBalances[*].address`, not by symbol or asset ID alone.

`chainBalances` stays multi-chain inside each holding. For example, native ETH on Ethereum and Base is one native ETH holding with two chain balances. WETH is a separate holding only when the wallet has a distinct WETH balance row, and it keeps the wrapped contract address, such as `0x4200000000000000000000000000000000000006` on Base. Native SOL on Solana uses `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`; WSOL uses the WSOL mint.

```json theme={null}
[
  {
    "token": {
      "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
      "symbol": "ETH",
      "name": "Ethereum",
      "tokenType": "native"
    },
    "amount": 3.25,
    "amountUSD": 6500,
    "chainBalances": {
      "evm:1": {
        "chainId": "evm:1",
        "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
        "amount": 2,
        "amountUSD": 4000,
        "decimals": 18,
        "priceUSD": 2000,
        "liquidityUSD": 100000000,
        "tokenType": "native"
      },
      "evm:8453": {
        "chainId": "evm:8453",
        "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
        "amount": 1.25,
        "amountUSD": 2500,
        "decimals": 18,
        "priceUSD": 2000,
        "liquidityUSD": 100000000,
        "tokenType": "native"
      }
    }
  },
  {
    "token": {
      "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
      "symbol": "ETH",
      "name": "Ethereum",
      "tokenType": "erc20"
    },
    "amount": 9,
    "amountUSD": 18000,
    "chainBalances": {
      "evm:1": {
        "chainId": "evm:1",
        "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
        "amount": 3,
        "amountUSD": 6000,
        "decimals": 18,
        "priceUSD": 2000,
        "liquidityUSD": 100000000,
        "tokenType": "erc20"
      },
      "evm:8453": {
        "chainId": "evm:8453",
        "address": "0x4200000000000000000000000000000000000006",
        "amount": 6,
        "amountUSD": 12000,
        "decimals": 18,
        "priceUSD": 2000,
        "liquidityUSD": 100000000,
        "tokenType": "erc20"
      }
    }
  },
  {
    "token": {
      "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
      "symbol": "SOL",
      "name": "Solana",
      "tokenType": "native"
    },
    "chainBalances": {
      "solana:solana": {
        "chainId": "solana:solana",
        "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
        "amount": 5,
        "amountUSD": 750,
        "decimals": 9,
        "priceUSD": 150,
        "liquidityUSD": 100000000,
        "tokenType": "native"
      }
    }
  },
  {
    "token": {
      "address": "So11111111111111111111111111111111111111112",
      "symbol": "SOL",
      "name": "Solana",
      "tokenType": "2020"
    },
    "chainBalances": {
      "solana:solana": {
        "chainId": "solana:solana",
        "address": "So11111111111111111111111111111111111111112",
        "amount": 7,
        "amountUSD": 1050,
        "decimals": 9,
        "priceUSD": 150,
        "liquidityUSD": 100000000,
        "tokenType": "2020"
      }
    }
  }
]
```

## Example Response

```json theme={null}
{
  "data": {
    "totalWalletBalanceUSD": 5234.22,
    "wallets": [
      "0xwalletA",
      "0xwalletB"
    ],
    "holdingsCount": 1,
    "balancesLength": 1,
    "holdings": [
      {
        "token": {
          "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
          "chainId": "evm:1",
          "symbol": "USDC",
          "name": "USD Coin",
          "decimals": 6,
          "id": 100004304,
          "priceUSD": 1,
          "liquidityUSD": 250000000,
          "security": {
            "isHoneypot": false,
            "isMintable": false
          }
        },
        "amount": 1250,
        "amountUSD": 1250,
        "allocation": 23.88,
        "wallets": [
          "0xwalletA",
          "0xwalletB"
        ],
        "chainBalances": {
          "evm:1": {
            "chainId": "evm:1",
            "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "amount": 800,
            "amountRaw": "800000000",
            "amountUSD": 800,
            "priceUSD": 1,
            "liquidityUSD": 180000000,
            "decimals": 6,
            "tokenType": "erc20",
            "security": {
              "isHoneypot": false
            },
            "wallets": {
              "0xwalletA": {
                "amount": 500,
                "amountRaw": "500000000",
                "amountUSD": 500
              },
              "0xwalletB": {
                "amount": 300,
                "amountRaw": "300000000",
                "amountUSD": 300
              }
            }
          },
          "evm:8453": {
            "chainId": "evm:8453",
            "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "amount": 450,
            "amountRaw": "450000000",
            "amountUSD": 450,
            "priceUSD": 1,
            "liquidityUSD": 70000000,
            "decimals": 6,
            "tokenType": "erc20",
            "security": null,
            "wallets": {
              "0xwalletA": {
                "amount": 450,
                "amountRaw": "450000000",
                "amountUSD": 450
              }
            }
          }
        }
      }
    ]
  }
}
```


## OpenAPI

````yaml get /2/wallet/holdings
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, 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/holdings:
    get:
      tags:
        - V2 - Wallet
      summary: Get Wallet Holdings
      description: >-
        Fetch wallet holdings with camelCase portfolio fields, enriched token
        details, native gas balances under
        0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, and wrapped tokens under
        their own contract or mint when present. Use POST for RAM filters on
        token fields.
      parameters:
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Wallet address
          required: false
          description: Wallet address
          name: wallet
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Comma-separated wallet addresses
          required: false
          description: Comma-separated wallet addresses
          name: wallets
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Portfolio ID
          required: false
          description: Portfolio ID
          name: portfolio
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Comma-separated blockchain IDs
          required: false
          description: Comma-separated blockchain IDs
          name: blockchains
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Filter by specific asset
          required: false
          description: Filter by specific asset
          name: asset
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Start date
          required: false
          description: Start date
          name: from
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: End date
          required: false
          description: End date
          name: to
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Portfolio display settings
          required: false
          description: Portfolio display settings
          name: portfolio_settings
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Include unlisted assets
          required: false
          description: Include unlisted assets
          name: unlistedAssets
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Time period
          required: false
          description: Time period
          name: period
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Data accuracy level
          required: false
          description: Data accuracy level
          name: accuracy
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Include testnet data
          required: false
          description: Include testnet data
          name: testnet
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Minimum liquidity threshold in USD
          required: false
          description: Minimum liquidity threshold in USD
          name: minLiquidity
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Filter spam tokens
          required: false
          description: Filter spam tokens
          name: filterSpam
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
            description: Include PnL data
          required: false
          description: Include PnL data
          name: pnl
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
              - type: boolean
          required: false
          name: rpc
          in: query
      responses:
        '200':
          description: Wallet holdings response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      totalWalletBalanceUsd:
                        type: number
                      wallets:
                        type: array
                        items:
                          type: string
                      holdings:
                        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
                                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
                            amount:
                              type: number
                            amountUsd:
                              type: number
                            allocation:
                              type: number
                            priceUsd:
                              type: number
                            priceChange24h:
                              type: number
                            liquidityUsd:
                              type: number
                            marketCapUsd:
                              type: number
                            crossChainBalances:
                              type: object
                              additionalProperties:
                                type: object
                                properties:
                                  amount:
                                    type: number
                                  amountRaw:
                                    type: string
                                  chainId:
                                    type: string
                                  address:
                                    type: string
                                required:
                                  - amount
                                  - amountRaw
                            contractBalances:
                              type: array
                              items:
                                type: object
                                properties:
                                  chainId:
                                    type: string
                                  address:
                                    type: string
                                  amount:
                                    type: number
                                  amountRaw:
                                    type: string
                                  amountUsd:
                                    type: number
                                    nullable: true
                                  decimals:
                                    type: number
                                  liquidityUsd:
                                    type: number
                                    nullable: true
                                  priceUsd:
                                    type: number
                                    nullable: true
                                  tokenType:
                                    type: string
                                    nullable: true
                                    enum:
                                      - '2020'
                                      - '2022'
                                      - erc20
                                      - trc10
                                      - trc20
                                  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
                                      frozen:
                                        type: boolean
                                  lamports:
                                    type: string
                                    nullable: true
                                  tokenAccount:
                                    type: string
                                    nullable: true
                                required:
                                  - chainId
                                  - address
                                  - amount
                                  - amountRaw
                                  - decimals
                            wallets:
                              type: array
                              items:
                                type: string
                          required:
                            - token
                            - amount
                            - amountUsd
                            - allocation
                            - priceUsd
                            - priceChange24h
                            - liquidityUsd
                            - marketCapUsd
                            - crossChainBalances
                            - contractBalances
                            - wallets
                      holdingsCount:
                        type: number
                      balancesLength:
                        type: number
                    required:
                      - totalWalletBalanceUsd
                      - wallets
                      - holdings
                      - holdingsCount
                      - balancesLength
                  backfillStatus:
                    type: string
                    enum:
                      - processed
                      - processing
                      - pending
                required:
                  - data

````