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

> Fetch detailed wallet activity—including transfers, swaps, and vault operations—for one wallet with GET or up to 100 wallets with POST batch.

<Tip>This endpoint intelligently combines transfers into swaps when they occur in the same transaction, providing a unified view of wallet activity.</Tip>

<Tip>
  **Batch Support Available**: use `POST /2/wallet/activity` to fetch activity for up to **100 wallets** in a single request. [Jump to Batch Requests](#batch-requests-post).
</Tip>

### Query Details

#### Required Parameters

* `wallet` - The wallet address to query (supports ENS domains and various address formats)

#### Optional Parameters

| Parameter           | Type    | Default  | Description                                                                                                                                                                                                                        |
| ------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `blockchains`       | string  | -        | Comma-separated list of blockchain IDs (e.g., `"ethereum,base,solana:solana"`).                                                                                                                                                    |
| `limit`             | number  | 100      | Number of items to return.                                                                                                                                                                                                         |
| `offset`            | number  | 0        | Offset for pagination.                                                                                                                                                                                                             |
| `order`             | string  | "desc"   | Sort order: "asc" or "desc" by timestamp.                                                                                                                                                                                          |
| `unlistedAssets`    | boolean | true     | Include unlisted/unverified tokens.                                                                                                                                                                                                |
| `filterSpam`        | boolean | true     | Filter out spam tokens.                                                                                                                                                                                                            |
| `cursorHash`        | string  | -        | Cursor anchor hash. When set, `offset` is ignored and results are returned strictly before/after this transaction depending on `cursorDirection`.                                                                                  |
| `cursorDirection`   | string  | "before" | One of `before` or `after`. When `before`, returns items with `tx_date_ms` strictly less than the cursor’s timestamp. When `after`, returns items strictly greater than the cursor’s timestamp. The cursor item is never included. |
| `from`              | number  | -        | Start timestamp in milliseconds.                                                                                                                                                                                                   |
| `to`                | number  | -        | End timestamp in milliseconds.                                                                                                                                                                                                     |
| `enrichSwaps`       | boolean | false    | When `true`, enriches swap actions with platform and fee data from the swaps table. Adds \~300-400ms overhead.                                                                                                                     |
| `backfillTransfers` | boolean | false    | When `true`, triggers backfilling of transfer history for the wallet. Returns `backfillStatus` in the response.                                                                                                                    |

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

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

## Features

* **Smart Swap Detection**: Automatically combines IN/OUT transfers in the same transaction into swap objects
* **Multi-Chain Support**: Works across all supported blockchains
* **Spam Filtering**: Built-in spam token filtering with customizable options
* **Vault Operations**: Special handling for BitPanda Earn pools and similar vault operations
* **Flexible Pagination**: Support for both offset-based and cursor-based pagination

### Usage Examples

```bash theme={null}
# Basic wallet activity
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed

# Filter by specific blockchains
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&blockchains=ethereum,base

# Include all tokens (including spam) with more results
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&filterSpam=false&unlistedAssets=true&limit=100

# Get older transactions using offset
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&offset=100&limit=50&order=desc

# Filter by date range (timestamps in milliseconds)
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&from=1704067200000&to=1735689600000
```

### Cursor Pagination Examples

```bash theme={null}
# Fetch a first page and pick a tx_hash to use as the cursor
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&limit=40&order=desc

# Get OLDER items relative to that transaction
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&cursorHash=0x<tx_hash>&cursorDirection=before&limit=20

# Get NEWER items relative to that transaction
GET /2/wallet/activity?wallet=0xbe4c54689cb7fb736b56df8ea32c435d0503caed&cursorHash=0x<tx_hash>&cursorDirection=after&limit=20
```

<Tip>
  When using `cursorHash`, the endpoint sets `offset` to `0` internally and excludes the cursor transaction from `data[]`. Combine with `order=desc` for backward-in-time navigation, or `order=asc` for forward-in-time navigation.
</Tip>

<Tip>
  With `cursorDirection=after`, the `limit` applies to the newest items immediately after the cursor hash. This keeps results tightly scoped around the cursor; the cursor transaction itself is excluded.
</Tip>

### Batch Requests (POST)

To fetch wallet activity for multiple wallets in one call, send a **`POST`** request to `/2/wallet/activity` with either:

* an object body: `{ "items": [...] }`
* or a direct array body: `[ ... ]`

Each item targets one wallet and accepts the same activity filters as the GET query. The maximum batch size is **100 wallets**.

| Item field          | Type      | Default  | Description                                                                               |
| ------------------- | --------- | -------- | ----------------------------------------------------------------------------------------- |
| `wallet`            | string    | -        | **Required.** Wallet address to query.                                                    |
| `chainIds`          | string\[] | -        | Array of chain IDs (e.g., `["evm:1","evm:8453","solana:solana"]`). All chains if omitted. |
| `blockchains`       | string\[] | -        | Alternative array of chain IDs.                                                           |
| `limit`             | number    | 100      | Number of activity items per wallet.                                                      |
| `offset`            | number    | 0        | Offset for pagination per wallet.                                                         |
| `order`             | string    | "desc"   | Sort order: `"asc"` or `"desc"` by timestamp.                                             |
| `unlistedAssets`    | boolean   | true     | Include unlisted/unverified tokens.                                                       |
| `filterSpam`        | boolean   | true     | Filter out spam tokens.                                                                   |
| `cursorHash`        | string    | -        | Cursor anchor hash for this wallet.                                                       |
| `cursorDirection`   | string    | "before" | One of `before` or `after`.                                                               |
| `from`              | number    | -        | Start timestamp in milliseconds.                                                          |
| `to`                | number    | -        | End timestamp in milliseconds.                                                            |
| `withTokens`        | boolean   | false    | Include token details in the response when available.                                     |
| `enrichSwaps`       | boolean   | false    | Enrich swap actions with platform and fee data.                                           |
| `backfillTransfers` | boolean   | false    | Trigger transfer backfill for this wallet.                                                |
| `backfillBalances`  | boolean   | false    | Trigger balance backfill for this wallet.                                                 |

```bash theme={null}
curl -X POST "https://api.mobula.io/api/2/wallet/activity" \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
        "chainIds": ["evm:1"],
        "limit": 20,
        "filterSpam": false
      },
      {
        "wallet": "4tqMHgB8jjbTgefVfqtVFYzyfQz2LQ8T3E922ePmt6kZ",
        "chainIds": ["solana:solana"],
        "limit": 20
      }
    ]
  }'
```

You can also send the array directly:

```json theme={null}
[
  { "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "chainIds": ["evm:1"], "limit": 20 },
  { "wallet": "0x28C6c06298d514Db089934071355E5743bf21d60", "chainIds": ["evm:1"], "limit": 20 }
]
```

The batch response wraps one entry per wallet in `payload`. Each wallet is processed independently: if one wallet fails validation or cannot be processed, only that wallet's entry contains an `error` field.

```json theme={null}
{
  "payload": [
    {
      "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
      "data": [ /* activity items, same shape as GET response */ ],
      "pagination": { "page": 1, "offset": 0, "limit": 20, "pageEntries": 20 }
    },
    {
      "wallet": "4tqMHgB8jjbTgefVfqtVFYzyfQz2LQ8T3E922ePmt6kZ",
      "data": [ /* activity items */ ],
      "pagination": { "page": 1, "offset": 0, "limit": 20, "pageEntries": 12 }
    }
  ],
  "hostname": "api-pod-name"
}
```

<Warning>
  Maximum **100 wallets** per batch request. For larger datasets, split wallets into multiple POST requests.
</Warning>

## Query Response

The endpoint returns a unified activity feed with three types of objects:

### Activity Types

1. **Transfer** (`model: "transfer"`)
   * ERC20 token transfers (IN/OUT)
   * Native token transfers (IN/OUT)
   * Vault operations (DEPOSIT/WITHDRAW)

2. **Swap** (`model: "swap"`)

   * Automatically detected from combined transfers
   * Includes token pair information and pricing
   * Base/quote token identification

   **Important**: Asset naming is from the **wallet's perspective**:

   * `swapAssetIn` = asset flowing **INTO** the wallet (what the wallet **receives**)
   * `swapAssetOut` = asset flowing **OUT** of the wallet (what the wallet **spends**)

   To determine buy/sell direction:

   * If `swapAssetIn` matches `swapBaseAddress` → **BUY** (wallet receives base token)
   * If `swapAssetOut` matches `swapBaseAddress` → **SELL** (wallet spends base token)

### Swap Fee & Platform Fields (requires `enrichSwaps=true`)

When `enrichSwaps=true` is set, swap actions are enriched with additional fields:

* **swapPlatform**: Trading platform/aggregator used for the swap. Object with `id`, `name`, `logo` fields. `null` if not available.
* **swapTotalFeesUsd**: Total fees paid in USD
* **swapGasFeesUsd**: Gas fees paid in USD
* **swapPlatformFeesUsd**: Platform/aggregator fees paid in USD
* **swapMevFeesUsd**: MEV/priority fees paid in USD

### Transfer Types

* `TOKEN_IN` / `TOKEN_OUT` - Token transfers
* `NATIVE_IN` / `NATIVE_OUT` - Native currency transfers
* `VAULT_DEPOSIT` / `VAULT_WITHDRAW` / `VAULT_UNSTAKE` - Vault/staking operations

### Sample Response

```json theme={null}
{
  "data": [
    {
      "chainId": "evm:8453",
      "txDateMs": 1753985433000,
      "txDateIso": "2025-07-31T18:10:33.000Z",
      "txHash": "0xf45c...e8a54",
      "txRawFeesNative": "8504635537313",
      "txFeesNativeUsd": 0.03179333913441224,
      "txBlockNumber": 33601643,
      "txIndex": 141,
      "actions": [
        {
          "model": "swap",
          "swapType": "REGULAR",
          "swapRawAmountOut": 3.6056199820541157e+24,
          "swapRawAmountIn": 617836697,
          "swapAmountOut": 3605619.9820541157,
          "swapAmountIn": 617.836697,
          "swapPriceUsdTokenOut": 0,
          "swapPriceUsdTokenIn": 0.9999339877206453,
          "swapAmountUsd": 1265.5204839191017,
          "swapTransactionSenderAddress": "0xbe4c...caed",
          "swapBaseAddress": "0x24ca...d995",
          "swapQuoteAddress": "0x8335...2913",
          "swapAmountQuote": 617.836697,
          "swapAmountBase": 3605619.9820541157,
          "swapAssetIn": {
            "id": 100012309,
            "name": "USDC",
            "symbol": "USDC",
            "decimals": 6,
            "totalSupply": 65132345465,
            "circulatingSupply": 64167440713,
            "price": 0.9999339877206453,
            "liquidity": 682609830.4878722,
            "priceChange24hPercent": -0.009170282103379213,
            "marketCapUsd": 64163204873.9782,
            "logo": "https://coin-images.coingecko.com/coins/images/6319/large/usdc.png?1696506694",
            "contract": "0x8335...2913"
          },
          "swapAssetOut": {
            "id": null,
            "name": "Useless Base Coin",
            "symbol": "USELESS",
            "decimals": 18,
            "totalSupply": 0,
            "circulatingSupply": 0,
            "price": 0,
            "liquidity": 0,
            "priceChange24hPercent": 0,
            "marketCapUsd": 0,
            "logo": null,
            "contract": "0x24ca...d995"
          }
        }
      ]
    },
    {
      "chainId": "evm:8453",
      "txDateMs": 1753941849000,
      "txDateIso": "2025-07-31T06:04:09.000Z",
      "txHash": "0xb0ed...1ced",
      "txRawFeesNative": "132268679678890",
      "txFeesNativeUsd": 0.5115745599103257,
      "txBlockNumber": 33579851,
      "txIndex": 126,
      "actions": [
        {
          "model": "transfer",
          "transferRawAmount": 1000000000000000000,
          "transferAmount": 1,
          "transferAmountUsd": 0,
          "transferType": "TOKEN_IN",
          "transferFromAddress": "0x12b9...d389",
          "transferToAddress": "0xbe4c...caed",
          "transferAsset": {
            "id": null,
            "name": "Salty Apple",
            "symbol": "APPLE",
            "decimals": 18,
            "totalSupply": 0,
            "circulatingSupply": 0,
            "price": 0,
            "liquidity": 0,
            "priceChange24hPercent": 0,
            "marketCapUsd": 0,
            "logo": null,
            "contract": "0x3f1c...ddf3"
          }
        }
      ]
    }
  ],
  "pagination": {
    "page": 1,
    "offset": 0,
    "limit": 10,
    "pageEntries": 10
  },
  "backfillStatus": "processed"
}
```

## Response Field Details

### Chain ID Format

Chain IDs are returned in the format `evm:chainId` (e.g., `evm:8453` for Base, `evm:1` for Ethereum).

### Raw Amounts vs Formatted Amounts

* `transfer_raw_amount` / `swap_raw_amount_*`: Raw token amounts in smallest units (wei for 18-decimal tokens)
* `transfer_amount` / `swap_amount_*`: Human-readable amounts (already divided by decimals)

### Asset Information

* `id`: Can be `null` for unlisted/unverified tokens
* `logo`: Can be `null` if no logo is available
* `price`: Can be `0` for tokens without established pricing
* All supply and market cap values: Can be `0` for new or unlisted tokens

### Swap Direction (Buy/Sell)

The swap fields use **wallet-centric naming**:

| Field              | Meaning                                       |
| ------------------ | --------------------------------------------- |
| `swapAssetIn`      | Token **received** by the wallet              |
| `swapAssetOut`     | Token **spent** by the wallet                 |
| `swapBaseAddress`  | Contract of the base token (non-stablecoin)   |
| `swapQuoteAddress` | Contract of the quote token (SOL, USDC, etc.) |

**Determining trade direction:**

* **BUY**: `swapAssetIn.contract` matches `swapBaseAddress` (wallet receives the base token)
* **SELL**: `swapAssetOut.contract` matches `swapBaseAddress` (wallet spends the base token)

Example: If wallet swaps SOL for a meme token:

* `swapAssetIn` = meme token (received)
* `swapAssetOut` = SOL (spent)
* Direction = **BUY** (buying the meme token with SOL)

### Transaction Fees

* `tx_raw_fees_native`: String representation of fees in native token's smallest unit
* `tx_fees_native_usd`: USD value of transaction fees

<Tip>
  Raw amounts use JavaScript's scientific notation for very large numbers (e.g., `3.6056199820541157e+24`).
</Tip>

<Tip>
  The endpoint automatically handles address formatting across different chains and supports ENS domains.
</Tip>

<Warning>
  Large wallets with extensive activity may take longer to process due to swap detection algorithms. Consider using smaller page sizes for better performance.
</Warning>


## OpenAPI

````yaml get /2/wallet/activity
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 - Blockchains
    description: System metadata and chain listings
  - name: V1 - Market Data
    description: Market prices, history, sparklines, pairs, and multi-data
  - name: V1 - Wallet
    description: Wallet portfolio, transactions, history, and NFTs
  - name: V1 - Token
    description: First buyers
  - name: V1 - Trades
    description: Market trades by pair
  - name: V1 - Metadata
    description: Token metadata, categories, trendings, and news
  - name: V1 - Assets
    description: List all assets
  - name: V1 - Search
    description: Search for assets, tokens, and pairs
  - name: V1 - DeFi
    description: Bonding pool pulse data
  - name: V1 - Blockchains
    description: Blockchain listings, pairs, and stats
  - name: V1 - Webhooks
    description: Webhook management
  - name: V1 - Feed
    description: Custom feed creation
paths:
  /2/wallet/activity:
    get:
      tags:
        - V2 - Wallet
      summary: Get wallet activity
      parameters:
        - schema:
            type: string
            description: Wallet address
          required: true
          description: Wallet address
          name: wallet
          in: query
        - schema:
            type: string
            description: >-
              Comma-separated list of chain IDs (e.g.,
              "evm:1,evm:8453,solana:solana")
          required: false
          description: >-
            Comma-separated list of chain IDs (e.g.,
            "evm:1,evm:8453,solana:solana")
          name: chainIds
          in: query
        - schema:
            type: number
            nullable: true
            description: 'Offset for pagination (default: 0)'
          required: false
          description: 'Offset for pagination (default: 0)'
          name: offset
          in: query
        - schema:
            type: number
            nullable: true
            description: 'Number of transactions per page (default: 100)'
          required: false
          description: 'Number of transactions per page (default: 100)'
          name: limit
          in: query
        - schema:
            type: string
            enum:
              - asc
              - desc
            description: 'Sort order: asc or desc (default: desc)'
          required: false
          description: 'Sort order: asc or desc (default: desc)'
          name: order
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: 'Include unlisted assets (default: true)'
          required: false
          description: 'Include unlisted assets (default: true)'
          name: unlistedAssets
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
            description: 'Filter spam transactions (default: true)'
          required: false
          description: 'Filter spam transactions (default: true)'
          name: filterSpam
          in: query
        - schema:
            type: string
            description: Cursor hash for cursor-based pagination
          required: false
          description: Cursor hash for cursor-based pagination
          name: cursorHash
          in: query
        - schema:
            type: string
            enum:
              - before
              - after
            description: 'Cursor direction: before or after'
          required: false
          description: 'Cursor direction: before or after'
          name: cursorDirection
          in: query
        - schema:
            type: number
            nullable: true
            description: Start timestamp in milliseconds
          required: false
          description: Start timestamp in milliseconds
          name: from
          in: query
        - schema:
            type: number
            nullable: true
            description: End timestamp in milliseconds
          required: false
          description: End timestamp in milliseconds
          name: to
          in: query
      responses:
        '200':
          description: Wallet activity response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        chainId:
                          type: string
                        txDateMs:
                          type: number
                        txDateIso:
                          type: string
                        txHash:
                          type: string
                        txRawFeesNative:
                          type: string
                        txFeesNativeUsd:
                          type: number
                        txBlockNumber:
                          type: number
                        txIndex:
                          type: number
                        txAction:
                          type: string
                          nullable: true
                        actions:
                          type: array
                          items:
                            type: object
                            properties:
                              model:
                                type: string
                                enum:
                                  - swap
                                  - transfer
                              swapType:
                                type: string
                                enum:
                                  - REGULAR
                                  - MEV
                                  - SANDWICHED_MEV
                                  - DEPOSIT
                                  - WITHDRAW
                              swapRawAmountOut:
                                type: number
                              swapRawAmountIn:
                                type: number
                              swapAmountOut:
                                type: number
                              swapAmountIn:
                                type: number
                              swapPriceUsdTokenOut:
                                type: number
                              swapPriceUsdTokenIn:
                                type: number
                              swapAmountUsd:
                                type: number
                              swapTransactionSenderAddress:
                                type: string
                              swapBaseAddress:
                                type: string
                              swapQuoteAddress:
                                type: string
                              swapAmountQuote:
                                type: number
                              swapAmountBase:
                                type: number
                              swapAssetIn:
                                type: object
                                properties:
                                  id:
                                    type: number
                                    nullable: true
                                  name:
                                    type: string
                                  symbol:
                                    type: string
                                  decimals:
                                    type: number
                                  totalSupply:
                                    type: number
                                  circulatingSupply:
                                    type: number
                                  price:
                                    type: number
                                  liquidity:
                                    type: number
                                  priceChange24hPercent:
                                    type: number
                                  marketCapUsd:
                                    type: number
                                  logo:
                                    type: string
                                    nullable: true
                                  contract:
                                    type: string
                                required:
                                  - id
                                  - name
                                  - symbol
                                  - decimals
                                  - totalSupply
                                  - circulatingSupply
                                  - price
                                  - liquidity
                                  - priceChange24hPercent
                                  - marketCapUsd
                                  - logo
                                  - contract
                              swapAssetOut:
                                type: object
                                properties:
                                  id:
                                    type: number
                                    nullable: true
                                  name:
                                    type: string
                                  symbol:
                                    type: string
                                  decimals:
                                    type: number
                                  totalSupply:
                                    type: number
                                  circulatingSupply:
                                    type: number
                                  price:
                                    type: number
                                  liquidity:
                                    type: number
                                  priceChange24hPercent:
                                    type: number
                                  marketCapUsd:
                                    type: number
                                  logo:
                                    type: string
                                    nullable: true
                                  contract:
                                    type: string
                                required:
                                  - id
                                  - name
                                  - symbol
                                  - decimals
                                  - totalSupply
                                  - circulatingSupply
                                  - price
                                  - liquidity
                                  - priceChange24hPercent
                                  - marketCapUsd
                                  - logo
                                  - contract
                              swapPlatform:
                                type: object
                                nullable: true
                                properties:
                                  id:
                                    type: string
                                  name:
                                    type: string
                                  logo:
                                    type: string
                                    nullable: true
                                required:
                                  - id
                                  - name
                                  - logo
                              swapTotalFeesUsd:
                                type: number
                                nullable: true
                              swapGasFeesUsd:
                                type: number
                                nullable: true
                              swapPlatformFeesUsd:
                                type: number
                                nullable: true
                              swapMevFeesUsd:
                                type: number
                                nullable: true
                              transferRawAmount:
                                type: string
                              transferAmount:
                                type: number
                              transferAmountUsd:
                                type: number
                              transferType:
                                type: string
                                enum:
                                  - VAULT_DEPOSIT
                                  - VAULT_WITHDRAW
                                  - VAULT_UNSTAKE
                                  - TOKEN_IN
                                  - TOKEN_OUT
                                  - NATIVE_IN
                                  - NATIVE_OUT
                              transferFromAddress:
                                type: string
                                nullable: true
                              transferToAddress:
                                type: string
                                nullable: true
                              transferAsset:
                                type: object
                                properties:
                                  id:
                                    type: number
                                    nullable: true
                                  name:
                                    type: string
                                  symbol:
                                    type: string
                                  decimals:
                                    type: number
                                  totalSupply:
                                    type: number
                                  circulatingSupply:
                                    type: number
                                  price:
                                    type: number
                                  liquidity:
                                    type: number
                                  priceChange24hPercent:
                                    type: number
                                  marketCapUsd:
                                    type: number
                                  logo:
                                    type: string
                                    nullable: true
                                  contract:
                                    type: string
                                required:
                                  - id
                                  - name
                                  - symbol
                                  - decimals
                                  - totalSupply
                                  - circulatingSupply
                                  - price
                                  - liquidity
                                  - priceChange24hPercent
                                  - marketCapUsd
                                  - logo
                                  - contract
                            required:
                              - model
                      required:
                        - chainId
                        - txDateMs
                        - txDateIso
                        - txHash
                        - txRawFeesNative
                        - txFeesNativeUsd
                        - txBlockNumber
                        - txIndex
                        - actions
                  pagination:
                    type: object
                    properties:
                      page:
                        type: number
                      offset:
                        type: number
                      limit:
                        type: number
                      pageEntries:
                        type: number
                    required:
                      - page
                      - offset
                      - limit
                      - pageEntries
                  backfillStatus:
                    type: string
                    enum:
                      - processed
                      - processing
                      - pending
                  tokens:
                    type: array
                    items:
                      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
                        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
                            - others
                        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
                            balanceMutable:
                              type: boolean
                            lowLiquidity:
                              type: string
                            burnRate:
                              type: string
                            liquidityBurnPercentage:
                              type: number
                            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
                        dexscreenerListed:
                          type: boolean
                          nullable: true
                          default: false
                        dexscreenerHeader:
                          type: string
                          nullable: true
                          default: null
                        dexscreenerAdPaid:
                          type: boolean
                          nullable: true
                          default: false
                        dexscreenerAdPaidDate:
                          type: string
                          nullable: true
                          default: null
                        dexScreenerEnhanced:
                          type: object
                          nullable: true
                          properties:
                            icon:
                              type: string
                              nullable: true
                            header:
                              type: string
                              nullable: true
                            description:
                              type: string
                              nullable: true
                            links:
                              type: array
                              items:
                                type: object
                                properties:
                                  url:
                                    type: string
                                  label:
                                    type: string
                                  type:
                                    type: string
                                required:
                                  - url
                              default: []
                            isCto:
                              type: boolean
                              default: false
                            timestamp:
                              type: number
                              nullable: true
                            enhanced:
                              type: boolean
                              default: false
                            previousEnhancements:
                              type: array
                              items:
                                type: object
                                properties:
                                  icon:
                                    type: string
                                    nullable: true
                                  header:
                                    type: string
                                    nullable: true
                                  description:
                                    type: string
                                    nullable: true
                                  links:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        url:
                                          type: string
                                        label:
                                          type: string
                                        type:
                                          type: string
                                      required:
                                        - url
                                    default: []
                                  isCto:
                                    type: boolean
                                    default: false
                                  timestamp:
                                    type: number
                                    nullable: true
                                required:
                                  - icon
                                  - header
                                  - description
                                  - timestamp
                              default: []
                          default: null
                          required:
                            - icon
                            - header
                            - description
                            - timestamp
                        dexscreenerPendingAt:
                          type: string
                          nullable: true
                          default: null
                        dexscreenerSocialPaid:
                          type: boolean
                          nullable: true
                          default: false
                        dexscreenerSocialPaidDate:
                          type: string
                          nullable: true
                          default: null
                        liveStatus:
                          type: string
                          nullable: true
                        liveThumbnail:
                          type: string
                          nullable: true
                        livestreamTitle:
                          type: string
                          nullable: true
                        liveReplyCount:
                          type: number
                          nullable: true
                        dexscreenerBoosted:
                          type: boolean
                          nullable: true
                          default: false
                        dexscreenerBoostedDate:
                          type: string
                          nullable: true
                          default: null
                        dexscreenerBoostedAmount:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore1min:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore5min:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore15min:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore1h:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore4h:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore6h:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore12h:
                          type: number
                          nullable: true
                          default: 0
                        trendingScore24h:
                          type: number
                          nullable: true
                          default: 0
                        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
                required:
                  - data
                  - pagination

````