Skip to main content
This endpoint is available for all plans.

POST Method Overview

The POST method allows you to retrieve pulse data by passing complex configurations in the JSON body. This method is recommended for advanced filtering, custom views, and complex configurations.

Endpoint

POST /api/2/pulse

Basic Configuration

Simple Configuration

For basic usage, use the chainId and poolTypes parameters:
{
  "chainId": ["solana:solana"],
  "poolTypes": ["pumpfun"]
}

Asset Mode

Pulse API supports two modes of operation:

Pool-Based Mode (Default)

The default mode focuses on pool statistics and trading pair data.

Token-Based Mode (Asset Mode)

When assetMode: true is specified, the API switches to token-centric analytics, providing comprehensive token statistics and metadata instead of pool-focused data.
{
  "model": "default",
  "assetMode": true,
  "chainId": ["evm:999", "solana:solana"]
}
Key differences in Asset Mode:
  • Data Structure: Returns TokenDataSchema with comprehensive token statistics
  • Analytics Focus: Token performance, holder analytics, social data, and security metrics
  • Enhanced Metrics: Includes organic trading data (excluding bot activity)
  • Token Metadata: Social links, security analysis, holder distribution
  • Holdings Analysis: Developer, insider, sniper, and professional trader holdings

Default Model

Use the default model to automatically get three views: new, bonding, and bonded: Pool-Based Mode:
{
  "model": "default",
  "chainId": ["evm:999", "solana:solana"]
}
Token-Based Mode (Asset Mode):
{
  "model": "default",
  "assetMode": true,
  "chainId": ["evm:999", "solana:solana"]
}
This model automatically generates:
  • new: Newly created tokens (sorted by created_at desc)
  • bonding: Tokens in bonding phase with activity (sorted by market_cap desc)
  • bonded: Bonded tokens on traditional DEXs (sorted by created_at desc)

Custom Views

For granular control, use the views parameter:

View Structure (Pool-Based Mode)

{
  "views": [
    {
      "name": "my-custom-view",
      "model": "new",
      "chainId": ["evm:8453"],
      "poolTypes": ["moonshot-evm", "fourmeme"],
      "sortBy": "volume_1h",
      "sortOrder": "desc",
      "limit": 25,
      "offset": 0,
      "addressToExclude": ["0xAddress1", "0xAddress2"],
      "filters": {
        "market_cap": { "gte": 1000, "lte": 100000 },
        "pools": {
          "bonded": { "equals": false },
          "factory": { "in": ["uniswap-v2", "0x123..."] }
        }
      }
    }
  ]
}

View Structure (Token-Based Mode)

{
  "assetMode": true,
  "views": [
    {
      "name": "my-token-view",
      "chainId": ["evm:8453"],
      "poolTypes": ["moonshot-evm", "fourmeme"],
      "sortBy": "volume_1h",
      "sortOrder": "desc",
      "limit": 25,
      "offset": 0,
      "addressToExclude": ["0xAddress1", "0xAddress2"],
      "filters": {
        "market_cap": { "gte": 1000, "lte": 100000 },
        "holders_count": { "gte": 50 },
        "dev_holdings_percentage": { "lte": 10 },
        "organic_volume_1h": { "gte": 500 }
      }
    }
  ]
}

Available View Models

Model “new”

Retrieves newly created tokens:
{
  "name": "new-tokens",
  "model": "new",
  "chainId": ["evm:8453"],
  "poolTypes": ["moonshot-evm"]
}

Model “bonding”

Retrieves tokens in bonding phase with activity:
{
  "name": "bonding-tokens",
  "model": "bonding",
  "chainId": ["solana:solana"],
  "poolTypes": ["pumpfun"]
}

Model “bonded”

Retrieves bonded tokens available on DEXs:
{
  "name": "bonded-tokens",
  "model": "bonded",
  "chainId": ["evm:56"],
  "poolTypes": ["uniswap-v2", "uniswap-v3"]
}

View Parameters

Sorting and Pagination Parameters

  • sortBy (string): Sort field
    • Options: created_at, market_cap, volume_1h, latest_trade_date, price_change_1h, price_change_24h, trades_1h, trades_24h, liquidity, holders_count
    • Default: created_at
  • sortOrder (string): Sort order
    • Options: asc, desc
    • Default: desc
  • limit (number): Number of results per view
    • Maximum: 100
    • Default: 30
  • offset (number): Offset for pagination
    • Default: 0
  • addressToExclude (string | string[]): Addresses to exclude from results
    • Automatically excludes pools where the address appears as token0, token1, or pool address
    • Can be a single address string or array of addresses
    • Default: undefined

Advanced Filtering

🔍 Complete Filter Reference

View the complete filtering documentation with all available fields and operators
The POST method supports the same powerful filtering system as the WebSocket stream. You can filter on different data sets depending on the mode:

Pool-Based Mode Filtering

In the default pool-based mode, you can filter on pool-related metrics:

Token-Based Mode Filtering (Asset Mode)

When assetMode: true is enabled, you gain access to comprehensive token analytics: Holdings Analysis:
  • dev_holdings_percentage: Developer holdings percentage
  • insiders_holdings_percentage: Insider holdings percentage
  • snipers_holdings_percentage: Sniper holdings percentage
  • bundlers_holdings_percentage: Bundler holdings percentage
  • pro_traders_holdings_percentage: Professional trader holdings percentage
  • top_10_holdings_percentage: Top 10 holders percentage
  • top_50_holdings_percentage: Top 50 holders percentage
  • top_100_holdings_percentage: Top 100 holders percentage
  • top_200_holdings_percentage: Top 200 holders percentage
Organic Trading Data (Bot-Free Analytics):
  • organic_volume_1h, organic_volume_24h: Organic volume metrics
  • organic_trades_1h, organic_trades_24h: Organic trade counts
  • organic_buyers_1h, organic_buyers_24h: Organic buyer counts
  • organic_sellers_1h, organic_sellers_24h: Organic seller counts
Token Metadata & Social:
  • dexscreenerListed: Whether listed on DexScreener
  • dexscreenerHeader: DexScreener header status
  • twitter_reuses_count: Twitter handle reuse count
  • deployer_migrations_count: Deployer migration count
Bonding & Migration:
  • bonding_percentage: Bonding curve completion percentage
  • bonded: Whether token is fully bonded
  • migrated_at: Migration timestamp

Filter Structure

Pool-Based Mode:
{
  "filters": {
    "market_cap": { "gte": 1000, "lte": 100000 },
    "volume_1h": { "gte": 500 },
    "pools": {
      "type": { "in": ["pumpfun", "moonshot-evm"] },
      "bonded": { "equals": false },
      "factory": { "in": ["uniswap-v2", "0x123..."] }
    }
  }
}
Token-Based Mode (Asset Mode):
{
  "assetMode": true,
  "filters": {
    "market_cap": { "gte": 1000, "lte": 100000 },
    "volume_1h": { "gte": 500 },
    "holders_count": { "gte": 50 },
    "dev_holdings_percentage": { "lte": 10 },
    "organic_volume_1h": { "gte": 300 },
    "bonded": false,
    "dexscreenerListed": true
  }
}

Available Filter Categories

  • Price Fields: latest_price, price_change_1h, price_change_24h, etc.
  • Market Cap Fields: market_cap, latest_market_cap
  • Volume Fields: volume_1h, volume_24h, etc.
  • Activity Fields: trades_1h, trades_24h, holders_count
  • Pool Properties: pools.type, pools.bonded, pools.factory
  • Date Fields: created_at, latest_trade_date

Filter Operators

  • equals: Exact equality
  • gte: Greater than or equal
  • lte: Less than or equal
  • gt: Strictly greater than
  • lt: Strictly less than
  • not: Not equal to
  • in: In the list

Usage Examples

Example 1: High Volume Tokens

{
  "views": [
    {
      "name": "high-volume-tokens",
      "model": "bonding",
      "chainId": ["solana:solana"],
      "poolTypes": ["pumpfun"],
      "sortBy": "volume_1h",
      "sortOrder": "desc",
      "limit": 20,
      "filters": {
        "volume_1h": { "gte": 1000 },
        "market_cap": { "gte": 5000, "lte": 50000 },
        "trades_1h": { "gte": 10 }
      }
    }
  ]
}

Example 2: Complex Configuration with Advanced Filters (Pool-Based)

{
  "views": [
    {
      "name": "filtered-view",
      "model": "new",
      "chainId": ["evm:8453"],
      "poolTypes": ["moonshot-evm"],
      "sortBy": "created_at",
      "sortOrder": "desc",
      "limit": 30,
      "filters": {
        "volume_24h": { "gte": 5000 },
        "holders_count": { "gte": 50 },
        "price_change_1h": { "gte": 0 },
        "pools": {
          "bonded": { "equals": false },
          "type": { "equals": "moonshot-evm" }
        }
      }
    }
  ]
}

Example 3: Token Analytics with Asset Mode

{
  "assetMode": true,
  "views": [
    {
      "name": "quality-tokens",
      "chainId": ["solana:solana"],
      "poolTypes": ["pumpfun"],
      "sortBy": "holders_count",
      "sortOrder": "desc",
      "limit": 25,
      "filters": {
        "volume_24h": { "gte": 10000 },
        "holders_count": { "gte": 100 },
        "dev_holdings_percentage": { "lte": 5 },
        "snipers_holdings_percentage": { "lte": 3 },
        "organic_volume_1h": { "gte": 1000 },
        "bonded": false,
        "dexscreenerListed": true
      }
    }
  ]
}

Example 4: Multi-Chain with Address Exclusion

{
  "views": [
    {
      "name": "multi-chain-view",
      "chainId": ["evm:8453", "evm:999"],
      "poolTypes": ["liquidlaunch", "moonshot-evm"],
      "limit": 50,
      "addressToExclude": [
        "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
        "0x5748ae796AE46A4F1348a1693de4b50560485562"
      ],
      "filters": {
        "volume_24h": { "gte": 100 },
        "market_cap": { "gte": 1000 }
      }
    }
  ]
}

Available Pool Types

Full list can be queried on /api/1/system-metadata

Response Format

The response structure varies depending on the mode:

Pool-Based Mode Response

The default mode returns pool-focused data with trading pair information.

Token-Based Mode Response (Asset Mode)

When assetMode: true, the response includes comprehensive token analytics following the TokenDataSchema structure with additional fields like:
  • Holdings Analysis: devHoldingsPercentage, top10HoldingsPercentage, etc.
  • Organic Metrics: organic_volume_1h, organic_traders_1h, etc.
  • Social Data: socials.twitter, socials.telegram, socials.website
  • Security Analysis: security object with token safety metrics
  • Enhanced Metadata: dexscreenerListed, twitterReusesCount, etc.
Example Response:
{
  "view-name": {
    "data": [
      {
        "liquidity": 11778.241144685468,
        "price": 0.00000548609579584906,
        "bonded": false,
        "bondingPercentage": 0.0004453974829151431,
        "bondingCurveAddress": null,
        "sourceFactory": null,
        "top10Holdings": 0.0003532447437,
        "top50Holdings": 0,
        "top100Holdings": 0,
        "top200Holdings": 0,
        "devHoldings": 0.0003532447437,
        "insidersHoldings": 0,
        "bundlersHoldings": 0,
        "snipersHoldings": 0,
        "proTradersHolding": 0,
        "totalFeesPaidUSD": 0,
        "pair": {
            "token0": {
                "address": "So11111111111111111111111111111111111111112",
                "chainId": "solana:solana",
                "symbol": "SOL",
                "name": "Wrapped SOL",
                "decimals": 9,
                "id": 100010811,
                "price": 196.30369593859788,
                "priceToken": 35766548.91458426,
                "priceTokenString": "35766548.91458425670862197875976562500000",
                "approximateReserveUSD": 5889.130265896162,
                "approximateReserveTokenRaw": "30000098764",
                "approximateReserveToken": 30.000098764,
                "totalSupply": 600799086,
                "circulatingSupply": 519561229,
                "marketCap": 101991789519.10022,
                "marketCapDiluted": 117939081098.33153,
                "logo": "https://metacore.mobula.io/78ee4d656f4f152a90d733f4eaaa4e1685e25bc654087acdb62bfe494d668976.png",
                "factory": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
                "source": "pumpfun",
                "sourceFactory": null,
                "liquidity": 0,
                "liquidityMax": 0,
                "bonded": false,
                "bondingPercentage": 0.0004453974829151431,
                "bondingCurveAddress": null,
                "top10HoldingsPercentage": 0,
                "top50HoldingsPercentage": 0,
                "top100HoldingsPercentage": 0,
                "top200HoldingsPercentage": 0,
                "devHoldingsPercentage": 0,
                "insidersHoldingsPercentage": 0,
                "bundlersHoldingsPercentage": 0,
                "snipersHoldingsPercentage": 0,
                "proTradersHoldingsPercentage": 0,
                "blockchain": "Solana",
                "deployer": "EELz7H6t57movZ7knboFNC2KQWeWC5DKPzQYk5dZDfs1",
                "createdAt": "2025-09-25T17:38:35.000Z",
                "bonded_at": null,
                "ath": 0,
                "atl": 0
            },
            "token1": {
                "address": "AftxLzbZgvidWJf5778tKdyJUzd6yk12SVVLJpV3pump",
                "chainId": "solana:solana",
                "symbol": "JRCNA",
                "name": "JARCINA",
                "decimals": 6,
                "id": null,
                "price": 0.000005488471823418015,
                "priceToken": 2.7959085523966713e-8,
                "priceTokenString": "0.00000002795908552396671274903506",
                "approximateReserveUSD": 5889.1108787893045,
                "approximateReserveTokenRaw": "1072996467552563",
                "approximateReserveToken": 1072996467.552563,
                "totalSupply": 1000000000,
                "circulatingSupply": 1000000000,
                "marketCap": 5488.471823418015,
                "marketCapDiluted": 5488.471823418015,
                "logo": "https://ipfs.io/ipfs/bafkreif4bgaiocd7yxqrjv5bcb3jubvb62gxfslh2o7x4i67hbmqmvtpti",
                "factory": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
                "source": "pumpfun",
                "sourceFactory": null,
                "liquidity": 0,
                "liquidityMax": 0,
                "bonded": false,
                "bondingPercentage": 0.0004453974829151431,
                "bondingCurveAddress": null,
                "top10HoldingsPercentage": 0,
                "top50HoldingsPercentage": 0,
                "top100HoldingsPercentage": 0,
                "top200HoldingsPercentage": 0,
                "devHoldingsPercentage": 0,
                "insidersHoldingsPercentage": 0,
                "bundlersHoldingsPercentage": 0,
                "snipersHoldingsPercentage": 0,
                "proTradersHoldingsPercentage": 0,
                "blockchain": "Solana",
                "deployer": "8u5mvhfAS3sJP62tDdRbCzLzEPGM8M2ctvAcd1ugLH7Q",
                "createdAt": "2025-09-25T17:38:35.000Z",
                "bonded_at": null,
                "ath": 0,
                "atl": 0
            },
            "volume24h": 0.019379345033183483,
            "liquidity": 11778.241144685468,
            "blockchain": "Solana",
            "address": "nTfBPRKKDRTsHKicnEqnhgxBJevkwiBY5x94FyESfin",
            "createdAt": "2025-09-25T17:38:35.000Z",
            "type": "pumpfun",
            "baseToken": "token1",
            "exchange": {
                "name": "PumpFun",
                "logo": "https://metadata.mobula.io/assets/logos/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.webp"
            },
            "factory": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
            "quoteToken": "token0",
            "price": 0,
            "priceToken": 2.7959085523966713e-8,
            "priceTokenString": "0.00000002795908552396671274903506",
            "athToken0": 0,
            "athToken1": 0,
            "atlToken0": 0,
            "atlToken1": 0,
            "athDateToken0": "1970-01-01T00:00:00.000Z",
            "athDateToken1": "1970-01-01T00:00:00.000Z",
            "atlDateToken0": "1970-01-01T00:00:00.000Z",
            "atlDateToken1": "1970-01-01T00:00:00.000Z",
            "bonded": false,
            "bondingPercentage": 0.0004453974829151431,
            "bondingCurveAddress": null,
            "sourceFactory": null,
            "top10Holdings": 0.0003532447437,
            "top50Holdings": 0,
            "top100Holdings": 0,
            "top200Holdings": 0,
            "devHoldings": 0.0003532447437,
            "insidersHoldings": 0,
            "bundlersHoldings": 0,
            "snipersHoldings": 0,
            "proTradersHolding": 0,
            "totalFeesPaidUSD": 0
        },
        "latest_trade_date": "2025-09-25T17:35:00.000Z",
        "latest_price": 0.00000548609579584906,
        "price_change_1min": 0,
        "price_change_5min": 0,
        "price_change_1h": 0,
        "price_change_4h": 0,
        "price_change_6h": 0,
        "price_change_12h": 0,
        "price_change_24h": 0,
        "price_1min_ago": 0,
        "price_5min_ago": 0.00000548609579584906,
        "price_1h_ago": 0.00000548609579584906,
        "price_4h_ago": 0.00000548609579584906,
        "price_6h_ago": 0.00000548609579584906,
        "price_12h_ago": 0.00000548609579584906,
        "price_24h_ago": 0.00000548609579584906,
        "market_cap": 5488.471823418015,
        "created_at": "2025-09-25T17:38:35.000Z",
        "holders_count": 2,
        "volume_1min": 0.01937934503318348,
        "volume_5min": 0.0193793450331835,
        "volume_15min": 0.0193793450331835,
        "volume_1h": 0.0193793450331835,
        "volume_4h": 0.0193793450331835,
        "volume_6h": 0.0193793450331835,
        "volume_12h": 0.0193793450331835,
        "volume_24h": 0.0193793450331835,
        "volume_buy_1min": 0.01937934503318348,
        "volume_buy_5min": 0.0193793450331835,
        "volume_buy_15min": 0.0193793450331835,
        "volume_buy_1h": 0.0193793450331835,
        "volume_buy_4h": 0.0193793450331835,
        "volume_buy_6h": 0.0193793450331835,
        "volume_buy_12h": 0.0193793450331835,
        "volume_buy_24h": 0.0193793450331835,
        "volume_sell_1min": 0,
        "volume_sell_5min": 0,
        "volume_sell_15min": 0,
        "volume_sell_1h": 0,
        "volume_sell_4h": 0,
        "volume_sell_6h": 0,
        "volume_sell_12h": 0,
        "volume_sell_24h": 0,
        "trades_1min": 2,
        "trades_5min": 1,
        "trades_15min": 1,
        "trades_1h": 1,
        "trades_4h": 1,
        "trades_6h": 1,
        "trades_12h": 1,
        "trades_24h": 1,
        "buys_1min": 1,
        "buys_5min": 1,
        "buys_15min": 1,
        "buys_1h": 1,
        "buys_4h": 1,
        "buys_6h": 1,
        "buys_12h": 1,
        "buys_24h": 1,
        "sells_1min": 0,
        "sells_5min": 0,
        "sells_15min": 0,
        "sells_1h": 0,
        "sells_4h": 0,
        "sells_6h": 0,
        "sells_12h": 0,
        "sells_24h": 0,
        "buyers_1min": 1,
        "buyers_5min": 1,
        "buyers_15min": 1,
        "buyers_1h": 1,
        "buyers_4h": 1,
        "buyers_6h": 1,
        "buyers_12h": 1,
        "buyers_24h": 1,
        "sellers_1min": 0,
        "sellers_5min": 0,
        "sellers_15min": 0,
        "sellers_1h": 0,
        "sellers_4h": 0,
        "sellers_6h": 0,
        "sellers_12h": 0,
        "sellers_24h": 0,
        "traders_1min": 1,
        "traders_5min": 1,
        "traders_15min": 1,
        "traders_1h": 1,
        "traders_4h": 1,
        "traders_6h": 1,
        "traders_12h": 1,
        "traders_24h": 1,
        "fees_paid_1min": 0,
        "fees_paid_5min": 0,
        "fees_paid_15min": 0,
        "fees_paid_1h": 0,
        "fees_paid_4h": 0,
        "fees_paid_6h": 0,
        "fees_paid_12h": 0,
        "fees_paid_24h": 0,
        "source": "pumpfun",
        "deployer": "8u5mvhfAS3sJP62tDdRbCzLzEPGM8M2ctvAcd1ugLH7Q",
        "deployerMigrations": 0,
        "twitterReusesCount": 0,
        "description": null,
        "socials": {
            "twitter": null,
            "website": null,
            "telegram": null,
            "others": {
                "showName": true,
                "createdOn": "https://pump.fun"
            }
        },
        "tokenSymbol": "JRCNA",
        "security": {},
        "twitterRenameCount": 0,
        "twitterRenameHistory": [],
        "tokenName": "JARCINA",
        "dexscreenerListed": false,
        "holders_list": [],
        "proTradersHoldings": 0
      },
    ]
  }
}

When to Use POST vs GET

Use POST when:

  • Complex filtering required
  • Custom views configuration
  • Advanced filter combinations
  • Large number of parameters
  • JSON structure preferred
  • Asset Mode analytics needed (token-focused data)
  • Holdings analysis and organic metrics required

Use GET when:

  • Simple configuration with basic parameters
  • Default model is sufficient
  • No complex filtering needed
  • URL-friendly parameter passing
  • Basic pool-based data is sufficient

🔗 GET Method

Learn about the GET method for simple configurations

📡 Real-time Stream

Access the same filtering system in real-time via WebSocket