Overview

The Market Details endpoint provides comprehensive market data for tokens and pairs. It supports both single-item queries (GET) and batch queries (POST) for efficient data retrieval.

GET Method - Single Item Query

Retrieve detailed market information for a single token pair or token.

Query Parameters

  • blockchain (required) — The blockchain identifier (e.g., evm:1, solana, ethereum)
  • asset (optional) — Asset name, symbol, or address
  • symbol (optional) — Token symbol (alternative to asset)
  • address (optional) — Direct pool or token address
  • baseToken (optional) — Base token address for price calculations
  • stats (optional, boolean) — Include detailed trade statistics when true
  • force (optional, boolean) — Bypass cache for real-time data when true

Usage Examples

# Query by asset name
curl -X GET "https://api.mobula.io/api/2/market/details?blockchain=evm:1&asset=Bitcoin"

# Query by asset symbol
curl -X GET "https://api.mobula.io/api/2/market/details?blockchain=evm:1&symbol=ETH"

# Query by direct address
curl -X GET "https://api.mobula.io/api/2/market/details?blockchain=evm:1&address=0x1234..."

# Query with stats enabled
curl -X GET "https://api.mobula.io/api/2/market/details?blockchain=evm:1&address=0x1234...&stats=true"

# Query with force refresh
curl -X GET "https://api.mobula.io/api/2/market/details?blockchain=solana&asset=3vz82EWYv8xnc7Cm7qSgERcpMeqw92PcX8PBz88npump&force=true"

Response Format

For pool queries (when providing an address):
{
  "data": {
    "token0": {
      "address": "0xA0b86a33E6441e98f0bE9F9f7D5D2b5c3D8F4e7c",
      "chainId": "evm:1",
      "symbol": "WETH",
      "name": "Wrapped Ether",
      "decimals": 18,
      "price": 2500.50,
      "priceToken": 1.0,
      "logo": "https://example.com/weth-logo.png"
    },
    "token1": {
      "address": "0xB0c87a44F6c95d6E5C4e8g7F9E3D7c2b1A9e8f6d",
      "chainId": "evm:1",
      "symbol": "USDC",
      "name": "USD Coin",
      "decimals": 6,
      "price": 1.0,
      "priceToken": 0.0004,
      "logo": "https://example.com/usdc-logo.png"
    },

    "volume24h": 1500000.75,
    "liquidity": 5000000.25,
    "blockchain": "Ethereum",
    "address": "0x1234567890abcdef1234567890abcdef12345678",
    "createdAt": "2024-01-01T00:00:00.000Z",
    "type": "uniswap-v3",
    "baseToken": "token0",
    "exchange": {
      "name": "Uniswap V3",
      "logo": "https://example.com/uniswap-logo.png"
    },
    "factory": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
    "quoteToken": "token1",
    "price": 2500.50,

    "price_change_1min": 0.1,
    "price_change_5min": -0.5,
    "price_change_1h": 2.3,
    "price_change_24h": -3.8,

    "volume_1min": 15000.50,
    "volume_5min": 85000.75,
    "volume_1h": 450000.25,
    "volume_24h": 1500000.75,

    "buy_volume_1min": 8000.25,
    "buy_volume_5min": 45000.50,
    "buy_volume_1h": 240000.15,
    "buy_volume_24h": 800000.40,

    "sell_volume_1min": 7000.25,
    "sell_volume_5min": 40000.25,
    "sell_volume_1h": 210000.10,
    "sell_volume_24h": 700000.35,

    "trades_1min": 25,
    "trades_5min": 125,
    "trades_1h": 650,
    "trades_24h": 12000,

    "buys_1min": 13,
    "buys_5min": 68,
    "buys_1h": 340,
    "buys_24h": 6500,

    "sells_1min": 12,
    "sells_5min": 57,
    "sells_1h": 310,
    "sells_24h": 5500,

    "liquidity": 5000000.25,
    "holders_count": 2500,

    "top10Holdings": 35.2,
    "top50Holdings": 58.7,
    "top100Holdings": 68.9,
    "top200Holdings": 78.3,
    "devHoldings": 12.5,
    "insidersHoldings": 6.8,
    "snipersHoldings": 2.1,
    "bundlersHoldings": 1.9,

    "security": {
      "honeypot": false,
      "rugPull": false,
      "scam": false,
      "verified": true
    },

    "socials": {
      "twitter": "https://twitter.com/example",
      "website": "https://example.com",
      "telegram": "https://t.me/example",
      "others": {}
    },

    "source": "uniswap",
    "deployer": "0x1234567890abcdef...",
    "tokenSymbol": "WETH",
    "tokenName": "Wrapped Ether",
    "dexscreenerListed": true,
    "deployerMigrations": 0,
    "twitterReusesCount": 0,
    "twitterRenameCount": 0,

    "holders_list": [
      {
        "address": "0x1234567890abcdef...",
        "balance": 100.5,
        "nativeBalance": 0.1,
        "balanceUsd": 250125.0,
        "boughtAmount": 50.0,
        "soldAmount": 25.0,
        "pnl": 125062.5
      }
    ]
  }
}
For token queries (when providing an asset):
{
  "data": {
    "address": "3vz82EWYv8xnc7Cm7qSgERcpMeqw92PcX8PBz88npump",
    "chainId": "solana",
    "symbol": "EXAMPLE",
    "name": "Example Token",
    "decimals": 9,
    "price": 0.0234,
    "priceToken": 43.21,
    "priceTokenString": "43.210000000000000000000000000000",
    "approximateReserveUSD": 125000.50,
    "approximateReserveTokenRaw": "5000000000000000000",
    "approximateReserveToken": 5000.0,
    "totalSupply": 1000000000,
    "circulatingSupply": 800000000,
    "marketCap": 18720000,
    "marketCapDiluted": 23400000,
    "logo": "https://example.com/token-logo.png",

    "latest_trade_date": "2025-01-15T10:30:00.000Z",
    "price_change_1min": 0.5,
    "price_change_5min": -1.2,
    "price_change_1h": 3.4,
    "price_change_24h": -5.8,

    "volume_1min": 1250.75,
    "volume_5min": 8500.25,
    "volume_1h": 45000.80,
    "volume_24h": 890000.50,

    "buy_volume_1min": 675.50,
    "buy_volume_5min": 4500.25,
    "buy_volume_1h": 24000.40,
    "buy_volume_24h": 480000.25,

    "sell_volume_1min": 575.25,
    "sell_volume_5min": 4000.00,
    "sell_volume_1h": 21000.40,
    "sell_volume_24h": 410000.25,

    "trades_1min": 15,
    "trades_5min": 85,
    "trades_1h": 450,
    "trades_24h": 8900,

    "buys_1min": 8,
    "buys_5min": 45,
    "buys_1h": 240,
    "buys_24h": 4800,

    "sells_1min": 7,
    "sells_5min": 40,
    "sells_1h": 210,
    "sells_24h": 4100,

    "buyers_1min": 8,
    "buyers_5min": 42,
    "buyers_1h": 235,
    "buyers_24h": 4650,

    "sellers_1min": 7,
    "sellers_5min": 38,
    "sellers_1h": 205,
    "sellers_24h": 3950,

    "traders_1min": 14,
    "traders_5min": 78,
    "traders_1h": 420,
    "traders_24h": 8200,

    "holders_count": 1250,
    "liquidity": 250000.75,

    "top10Holdings": 45.6,
    "top50Holdings": 68.9,
    "top100Holdings": 78.5,
    "top200Holdings": 85.2,
    "devHoldings": 15.5,
    "insidersHoldings": 8.2,
    "snipersHoldings": 3.1,
    "bundlersHoldings": 2.8,

    "security": {
      "honeypot": false,
      "rugPull": false,
      "scam": false,
      "verified": true
    },

    "socials": {
      "twitter": "https://twitter.com/example",
      "website": "https://example.com",
      "telegram": "https://t.me/example",
      "others": {}
    },

    "description": "Example token description",
    "created_at": "2024-12-01T00:00:00.000Z",
    "latest_price": 0.0234,

    "twitterReusesCount": 0,
    "twitterRenameCount": 0,
    "dexscreenerListed": true,
    "dexscreenerHeader": null,
    "dexscreenerAdPaid": false,
    "deployerMigrationsCount": 0,

    "holders_list": [
      {
        "address": "3vz82EWYv8xnc7Cm7qSgERcpMeqw92PcX8PBz88npump",
        "balance": 1000000.0,
        "nativeBalance": 0.5,
        "balanceUsd": 23400.0,
        "boughtAmount": 500000.0,
        "soldAmount": 250000.0,
        "pnl": 11700.0
      }
    ]
  }
}

POST Method - Batch Query

Retrieve market details for multiple tokens or pairs in a single request for improved efficiency.

Request Body

[
  {
    "blockchain": {
      "id": "evm:1",
      "name": "ethereum"
    },
    "asset": "bitcoin"
  },
  {
    "blockchain": {
      "id": "evm:1",
      "name": "ethereum"
    },
    "address": "0x1234567890123456789012345678901234567890"
  }
]

Body Parameters

The request body is an array of query objects, where each object contains:
  • blockchain (required) — Blockchain configuration object:
    • id — Chain identifier (e.g., evm:1, evm:56, solana)
    • name — Human-readable chain name (optional)
  • asset (optional) — Asset name, symbol, or address
  • symbol (optional) — Token symbol
  • address (optional) — Direct pool or token address
Note: Each array item must specify either asset, symbol, or address.

Usage Examples

# Batch query with mixed asset types
curl -X POST "https://api.mobula.io/api/2/market/details" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "blockchain": {"id": "evm:1"},
      "asset": "bitcoin"
    },
    {
      "blockchain": {"id": "evm:1"},
      "address": "0x1234567890123456789012345678901234567890"
    },
    {
      "blockchain": {"id": "evm:1"},
      "symbol": "ETH"
    }
  ]'

Response Format

{
  "payload": [
    {
      "address": "0x1234567890abcdef1234567890abcdef12345678",
      "chainId": "evm:1",
      "symbol": "WETH",
      "name": "Wrapped Ether",
      "decimals": 18,
      "price": 2500.50,
      "priceToken": 1.0,
      "logo": "https://example.com/weth-logo.png",

      "volume24h": 1500000.75,
      "liquidity": 5000000.25,
      "blockchain": "Ethereum",
      "createdAt": "2024-01-01T00:00:00.000Z",
      "type": "uniswap-v3",
      "baseToken": "token0",
      "exchange": {
        "name": "Uniswap V3",
        "logo": "https://example.com/uniswap-logo.png"
      },
      "factory": "0x1F98431c8aD98523631AE4a59f267346ea31F984",
      "quoteToken": "token1",
      "price": 2500.50,

      "price_change_1min": 0.1,
      "price_change_5min": -0.5,
      "price_change_1h": 2.3,
      "price_change_24h": -3.8,

      "volume_1min": 15000.50,
      "volume_5min": 85000.75,
      "volume_1h": 450000.25,
      "volume_24h": 1500000.75,

      "buy_volume_1min": 8000.25,
      "buy_volume_5min": 45000.50,
      "buy_volume_1h": 240000.15,
      "buy_volume_24h": 800000.40,

      "sell_volume_1min": 7000.25,
      "sell_volume_5min": 40000.25,
      "sell_volume_1h": 210000.10,
      "sell_volume_24h": 700000.35,

      "trades_1min": 25,
      "trades_5min": 125,
      "trades_1h": 650,
      "trades_24h": 12000,

      "buys_1min": 13,
      "buys_5min": 68,
      "buys_1h": 340,
      "buys_24h": 6500,

      "sells_1min": 12,
      "sells_5min": 57,
      "sells_1h": 310,
      "sells_24h": 5500,

      "liquidity": 5000000.25,
      "holders_count": 2500,

      "top10Holdings": 35.2,
      "top50Holdings": 58.7,
      "top100Holdings": 68.9,
      "top200Holdings": 78.3,
      "devHoldings": 12.5,
      "insidersHoldings": 6.8,
      "snipersHoldings": 2.1,
      "bundlersHoldings": 1.9,

      "security": {
        "honeypot": false,
        "rugPull": false,
        "scam": false,
        "verified": true
      },

      "socials": {
        "twitter": "https://twitter.com/example",
        "website": "https://example.com",
        "telegram": "https://t.me/example",
        "others": {}
      },

      "source": "uniswap",
      "deployer": "0x1234567890abcdef...",
      "tokenSymbol": "WETH",
      "tokenName": "Wrapped Ether",
      "dexscreenerListed": true,
      "deployerMigrations": 0,
      "twitterReusesCount": 0,
      "twitterRenameCount": 0,

      "holders_list": [
        {
          "address": "0x1234567890abcdef...",
          "balance": 100.5,
          "nativeBalance": 0.1,
          "balanceUsd": 250125.0,
          "boughtAmount": 50.0,
          "soldAmount": 25.0,
          "pnl": 125062.5
        }
      ]
    },
    {
      "address": "3vz82EWYv8xnc7Cm7qSgERcpMeqw92PcX8PBz88npump",
      "chainId": "solana",
      "symbol": "EXAMPLE",
      "name": "Example Token",
      "decimals": 9,
      "price": 0.0234,
      "priceToken": 43.21,
      "priceTokenString": "43.210000000000000000000000000000",
      "approximateReserveUSD": 125000.50,
      "approximateReserveTokenRaw": "5000000000000000000",
      "approximateReserveToken": 5000.0,
      "totalSupply": 1000000000,
      "circulatingSupply": 800000000,
      "marketCap": 18720000,
      "marketCapDiluted": 23400000,
      "logo": "https://example.com/token-logo.png",

      "latest_trade_date": "2025-01-15T10:30:00.000Z",
      "price_change_1min": 0.5,
      "price_change_5min": -1.2,
      "price_change_1h": 3.4,
      "price_change_24h": -5.8,

      "volume_1min": 1250.75,
      "volume_5min": 8500.25,
      "volume_1h": 45000.80,
      "volume_24h": 890000.50,

      "buy_volume_1min": 675.50,
      "buy_volume_5min": 4500.25,
      "buy_volume_1h": 24000.40,
      "buy_volume_24h": 480000.25,

      "sell_volume_1min": 575.25,
      "sell_volume_5min": 4000.00,
      "sell_volume_1h": 21000.40,
      "sell_volume_24h": 410000.25,

      "trades_1min": 15,
      "trades_5min": 85,
      "trades_1h": 450,
      "trades_24h": 8900,

      "buys_1min": 8,
      "buys_5min": 45,
      "buys_1h": 240,
      "buys_24h": 4800,

      "sells_1min": 7,
      "sells_5min": 40,
      "sells_1h": 210,
      "sells_24h": 4100,

      "buyers_1min": 8,
      "buyers_5min": 42,
      "buyers_1h": 235,
      "buyers_24h": 4650,

      "sellers_1min": 7,
      "sellers_5min": 38,
      "sellers_1h": 205,
      "sellers_24h": 3950,

      "traders_1min": 14,
      "traders_5min": 78,
      "traders_1h": 420,
      "traders_24h": 8200,

      "holders_count": 1250,
      "liquidity": 250000.75,

      "top10Holdings": 45.6,
      "top50Holdings": 68.9,
      "top100Holdings": 78.5,
      "top200Holdings": 85.2,
      "devHoldings": 15.5,
      "insidersHoldings": 8.2,
      "snipersHoldings": 3.1,
      "bundlersHoldings": 2.8,

      "security": {
        "honeypot": false,
        "rugPull": false,
        "scam": false,
        "verified": true
      },

      "socials": {
        "twitter": "https://twitter.com/example",
        "website": "https://example.com",
        "telegram": "https://t.me/example",
        "others": {}
      },

      "description": "Example token description",
      "created_at": "2024-12-01T00:00:00.000Z",
      "latest_price": 0.0234,

      "twitterReusesCount": 0,
      "twitterRenameCount": 0,
      "dexscreenerListed": true,
      "dexscreenerHeader": null,
      "dexscreenerAdPaid": false,
      "deployerMigrationsCount": 0,

      "holders_list": [
        {
          "address": "3vz82EWYv8xnc7Cm7qSgERcpMeqw92PcX8PBz88npump",
          "balance": 1000000.0,
          "nativeBalance": 0.5,
          "balanceUsd": 23400.0,
          "boughtAmount": 500000.0,
          "soldAmount": 250000.0,
          "pnl": 11700.0
        }
      ]
    }
  ]
}

📋 Schema Documentation: Complete and automatically generated schema documentation for input parameters, response structures, and all nested data types is available in the OpenAPI specification.

Data Models

The complete data model definitions are automatically generated from the Zod schemas and available in the OpenAPI specification. The main response types are:

EnrichedPoolData

Comprehensive pool information including token metadata, liquidity, volume, price changes, and trading activity.

EnrichedTokenData

Detailed token information including metadata, supply, market cap, volume statistics, and holdings data. 🔗 View Complete Schemas: OpenAPI Specification → Components → Schemas

Performance Notes

  • GET method: Best for single queries and real-time data
  • POST method: Optimized for batch operations, reducing API calls
  • Batch processing: Uses efficient database queries for multiple items
  • Caching: Both methods support cache bypass with force=true

Error Handling

  • 400 Bad Request: Invalid parameters or missing required fields
  • 404 Not Found: No valid data found for the requested assets/addresses
  • Rate limiting applies to both methods

Use Cases

  • GET: Single token monitoring, real-time price checks
  • POST: Portfolio analysis, bulk market research, dashboard data