This endpoint is only available to Growth and Enterprise plans.

Endpoint details

  • URL: wss://pulse-api.mobula.io
  • Message format: JSON string

Basic Parameters

Easy Configuration

For basic usage, use the chainId and poolTypes parameters:
{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "chainId": ["solana:solana"],
    "poolTypes": ["meteora-dbc"]
  }
}

Available Parameters

  • chainId (string | string[]): Blockchains to monitor
    • Available values example: evm:6342, evm:2741, evm:80094, evm:8453, evm:56, solana:solana
  • poolTypes (string | string[]): Pool types/factories to monitor
    • Launchpad pools: pumpfun, moonshot-sol, liquidlaunch, boop, raydium-launchlab, gte-bonding-v1, mana, fourmeme, moonshot-evm
    • Other pools: uniswap-v2, uniswap-v3, raydium, orca, meteora, etc.
  • personalizedId (string, optional): Custom identifier for tracking client sessions
    • This ID will be included in all WebSocket responses for this connection
    • Useful for tracking multiple clients or sessions
    • Maximum length: 255 characters

Personalized ID Usage

The personalizedId parameter allows you to tag your WebSocket connection with a custom identifier. This identifier will be included in all responses from the server, making it easier to track and manage multiple connections or user sessions.
{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "chainId": ["solana:solana"],
    "poolTypes": ["pumpfun"],
    "personalizedId": "user_123_session_abc"
  }
}
Response with personalizedId:
{
  "data": {
    "new": [
      {
        "price": 0.000123,
        "pair": {
          "token0": {...},
          "token1": {...}
        }
      }
    ]
  },
  "personalizedId": "user_123_session_abc"
}
Common use cases:
  • Multi-user applications: Track which user a WebSocket message belongs to
  • Session management: Identify different browser tabs or application instances
  • Analytics: Correlate WebSocket data with user behavior or application state
  • Debugging: Easily identify which client is receiving specific data

Default Model

Use the default model to automatically get three views: new, bonding, and bonded:
{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "model": "default",
    "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

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "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..."] }
          }
        }
      }
    ]
  }
}

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"]
}

Pattern Search in Views

Search for tokens by name or symbol directly in view configuration:
{
  "name": "doge-tokens",
  "model": "bonding",
  "chainId": ["solana:solana"],
  "poolTypes": ["pumpfun"],
  "pattern": "doge",
  "sortBy": "volume_1h",
  "limit": 25
}

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, buys_1h, buys_24h, sells_1h, sells_24h, buyers_1h, buyers_24h, sellers_1h, sellers_24h
    • Default: created_at
  • sortOrder (string): Sort order
    • Options: asc, desc
    • Default: desc
  • limit (number): Number of results per view
    • Maximum: 100
    • Default: 50
  • 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
  • pattern (string): Search pattern for token symbol or name (case insensitive)
    • Can be used directly in view configuration for quick filtering
    • Alternative to using pattern in filters object
    • Default: undefined

Filters

Filters allow filtering on token properties based on the PoolsPriceChangeUSD schema. All filters support multiple comparison operators. For complete filter documentation including all available fields, operators, and examples, see Filter Details.

Filter Structure

The filter structure uses filters with optional nested pools filters for pool-specific properties:
{
  "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..."] }
    }
  }
}

Quick Filter Examples

Price and Market Cap Filters

{
  "filters": {
    "latest_price": { "gte": 0.0001, "lte": 0.001 },
    "price_change_1h": { "gte": 10 },
    "market_cap": { "gte": 10000, "lte": 1000000 }
  }
}

Volume and Activity Filters

{
  "filters": {
    "volume_1h": { "gte": 1000 },
    "trades_24h": { "gte": 50 },
    "holders_count": { "gte": 100 }
  }
}

Trading Activity Filters

{
  "filters": {
    "buys_1h": { "gte": 10 },
    "sells_1h": { "lte": 20 },
    "buyers_24h": { "gte": 50 },
    "sellers_24h": { "lte": 30 }
  }
}

Holdings Analysis Filters

{
  "filters": {
    "bonding_percentage": { "gte": 50 },
    "dev_holdings_percentage": { "lte": 10 },
    "top_10_holdings_percentage": { "lte": 30 },
    "snipers_holdings_percentage": { "lte": 5 }
  }
}

Pattern Search and Social Media

{
  "filters": {
    "pattern": "doge",
    "min_socials": 2,
    "dexscreenerListed": { "equals": true }
  }
}

Address Exclusion

The addressToExclude parameter provides a simple way to exclude specific addresses from the results. This automatically filters out any pools where the specified address appears as:
  • token0 (first token in the pool)
  • token1 (second token in the pool)
  • pool address (the pool contract address itself)

Address Exclusion Examples

Single Address Exclusion

{
  "name": "filtered-view",
  "model": "new",
  "addressToExclude": "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb"
}

Multiple Address Exclusion

{
  "name": "filtered-view", 
  "model": "bonding",
  "addressToExclude": [
    "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
    "0x5748ae796AE46A4F1348a1693de4b50560485562",
    "0xb50A96253aBDF803D85efcDce07Ad8becBc52BD5"
  ]
}

Old Structure (Deprecated)

{
  
    "pools": {
      "type": { "in": ["pumpfun"] },
      "bonded": { "equals": false }
    }
  }
}
{
  "filters": {
    "pools": {
      "type": { "in": ["pumpfun"] },
      "bonded": { "equals": false }
    }
  }
}

Complete Examples

Example 1: All Available Filters

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "views": [
      {
        "name": "comprehensive-filter-example",
        "model": "bonding",
        "chainId": ["solana:solana"],
        "poolTypes": ["pumpfun"],
        "sortBy": "volume_1h",
        "sortOrder": "desc",
        "limit": 20,
        "filters": {
          "latest_price": { "gte": 0.0001, "lte": 0.01 },
          "price_change_1h": { "gte": 5 },
          "price_change_24h": { "lte": 100 },
          "market_cap": { "gte": 1000, "lte": 100000, "not": null },
          "volume_1h": { "gte": 500 },
          "volume_24h": { "gte": 5000 },
          "trades_1h": { "gte": 10 },
          "trades_24h": { "gte": 50 },
          "buys_1h": { "gte": 6 },
          "buys_24h": { "gte": 30 },
          "sells_1h": { "lte": 4 },
          "sells_24h": { "lte": 20 },
          "buyers_1h": { "gte": 5 },
          "buyers_24h": { "gte": 25 },
          "sellers_1h": { "lte": 3 },
          "sellers_24h": { "lte": 15 },
          "holders_count": { "gte": 50 },
          "liquidity": { "gte": 1000 },
          "created_at": { "gte": "2024-01-01T00:00:00Z" },
          "latest_trade_date": { "gte": "2024-01-01T00:00:00Z" },
          "source": { "equals": "pumpfun" },
          "chainId": { "equals": "solana:solana" },
          "twitter": { "not": null },
          "min_socials": 2,
          "tokenSymbol": { "not": null },
          "tokenName": { "not": null },
          "dexscreenerListed": { "equals": true },
          "pools": {
            "bonded": { "equals": false },
            "type": { "equals": "pumpfun" },
            "explicit": { "equals": true },
            "createdAt": { "gte": "2024-01-01T00:00:00Z" }
          }
        }
      }
    ]
  }
}

Example 2: High-Volume New Tokens with Factory Names

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "views": [
      {
        "name": "high-volume-new",
        "model": "new",
        "chainId": ["evm:8453"],
        "poolTypes": ["moonshot-evm", "fourmeme"],
        "sortBy": "volume_1h",
        "sortOrder": "desc",
        "limit": 30,
        "filters": {
          "volume_1h": { "gte": 1000 },
          "volume_24h": { "gte": 5000 },
          "trades_1h": { "gte": 20 },
          "market_cap": { "gte": 5000, "lte": 50000 },
          "price_change_1h": { "gte": 0 },
          "holders_count": { "gte": 25 },
          "created_at": { "gte": "2024-01-01T00:00:00Z" },
          "source": { "in": ["moonshot-evm", "fourmeme"] },
          "min_socials": 1,
          "pools": {
            "bonded": { "equals": false },
            "type": { "in": ["moonshot-evm", "fourmeme"] },
            "factory": { "in": ["uniswap-v2", "sushiswap"] },
            "explicit": { "not": { "equals": null } }
          }
        }
      }
    ]
  }
}

Example 3: Multi-Chain Bonded Analysis

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "views": [
      {
        "name": "multi-chain-bonded",
        "model": "bonded",
        "chainId": ["evm:1", "evm:56", "evm:8453"],
        "poolTypes": ["uniswap-v2", "uniswap-v3"],
        "sortBy": "volume_24h",
        "sortOrder": "desc",
        "limit": 50,
        "filters": {
          "volume_24h": { "gte": 10000 },
          "trades_24h": { "gte": 100 },
          "liquidity": { "gte": 50000 },
          "market_cap": { "gte": 100000 },
          "holders_count": { "gte": 500 },
          "latest_trade_date": { "gte": "2024-01-01T00:00:00Z" },
          "chainId": { "in": ["evm:1", "evm:56", "evm:8453"] },
          "pools": {
            "bonded": { "equals": false },
            "factory": { "in": ["uniswap-v2", "uniswap-v3"] },
            "OR": [
              { "token0_id": { "in": [31, 451088832] } },
              { "token1_id": { "in": [31, 451088832] } }
            ]
          }
        }
      }
    ]
  }
}

Example 4: Address Exclusion with LiquidLaunch

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "chainId": ["evm:999"],
    "views": [
      {
        "name": "liquidlaunch-new",
        "model": "new",
        "poolTypes": ["liquidlaunch"],
        "limit": 100
      },
      {
        "name": "liquidlaunch-bonding", 
        "model": "bonding",
        "poolTypes": ["liquidlaunch"],
        "limit": 100,
        "filters": {
          "volume_1h": { "gte": 0 }
        }
      },
      {
        "name": "trending-filtered",
        "sortBy": "volume_1h",
        "sortOrder": "desc", 
        "limit": 100,
        "addressToExclude": [
          "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
          "0x5748ae796AE46A4F1348a1693de4b50560485562",
          "0xb50A96253aBDF803D85efcDce07Ad8becBc52BD5",
          "0x02c6a2fA58cC01A18B8D9E00eA48d65E4dF26c70",
          "0x1359b05241cA5076c9F59605214f4F84114c0dE8",
          "0x9FDBdA0A5e284c32744D2f17Ee5c74B284993463",
          "0xBe6727B535545C67d5cAa73dEa54865B92CF7907",
          "0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",
          "0x94e8396e0869c9F2200760aF0621aFd240E1CF38",
          "0x068f321Fa8Fb9f0D135f290Ef6a3e2813e1c8A29"
        ],
        "filters": {
          "volume_24h": { "gte": 100 }
        }
      }
    ]
  }
}

Example 5: Pattern Search with Social Media Requirements

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "views": [
      {
        "name": "doge-themed-tokens",
        "model": "bonding",
        "chainId": ["solana:solana"],
        "poolTypes": ["pumpfun"],
        "sortBy": "volume_1h",
        "sortOrder": "desc",
        "limit": 25,
        "filters": {
          "pattern": "doge",
          "min_socials": 2,
          "volume_1h": { "gte": 500 },
          "market_cap": { "gte": 10000 },
          "holders_count": { "gte": 50 }
        }
      },
      {
        "name": "pepe-with-socials",
        "model": "new",
        "chainId": ["evm:8453"],
        "poolTypes": ["moonshot-evm"],
        "pattern": "pepe",
        "sortBy": "created_at",
        "sortOrder": "desc",
        "limit": 30,
        "filters": {
          "twitter": { "not": null },
          "telegram": { "not": null },
          "website": { "not": null },
          "min_socials": 3
        }
      },
      {
        "name": "meme-tokens-pattern",
        "model": "bonding",
        "chainId": ["solana:solana"],
        "poolTypes": ["pumpfun"],
        "pattern": "meme",
        "sortBy": "market_cap",
        "sortOrder": "desc",
        "limit": 50,
        "filters": {
          "volume_1h": { "gte": 100 },
          "market_cap": { "gte": 5000 }
        }
      }
    ]
  }
}

Example 6: Advanced Trading Activity Analysis

{
  "type": "pulse",
  "authorization": "YOUR_API_KEY",
  "payload": {
    "views": [
      {
        "name": "high-buy-activity",
        "model": "bonding",
        "chainId": ["solana:solana"],
        "poolTypes": ["pumpfun"],
        "sortBy": "buys_1h",
        "sortOrder": "desc",
        "limit": 30,
        "filters": {
          "buys_1h": { "gte": 20 },
          "buyers_1h": { "gte": 15 },
          "sells_1h": { "lte": 10 },
          "volume_1h": { "gte": 1000 },
          "tokenSymbol": { "not": null },
          "dexscreenerListed": { "equals": true }
        }
      },
      {
        "name": "balanced-trading",
        "model": "bonded",
        "chainId": ["evm:8453"],
        "poolTypes": ["uniswap-v2", "uniswap-v3"],
        "sortBy": "buyers_24h",
        "sortOrder": "desc",
        "limit": 50,
        "filters": {
          "buyers_24h": { "gte": 100 },
          "sellers_24h": { "gte": 50 },
          "buys_24h": { "gte": 200 },
          "sells_24h": { "gte": 100 },
          "volume_24h": { "gte": 10000 },
          "tokenName": { "not": null },
          "holders_count": { "gte": 500 }
        }
      }
    ]
  }
}

New Trading Activity Fields

The Pulse API now provides detailed trading activity metrics separated by transaction type and time periods:

Trading Metrics Breakdown

  • Trades: Total number of transactions (buys + sells)
  • Buys: Number of buy transactions only
  • Sells: Number of sell transactions only
  • Buyers: Number of unique addresses that bought
  • Sellers: Number of unique addresses that sold

Time Periods Available

All trading metrics are available for the following time periods:
  • 1min - Last minute
  • 5min - Last 5 minutes
  • 15min - Last 15 minutes
  • 1h - Last hour
  • 4h - Last 4 hours
  • 6h - Last 6 hours
  • 12h - Last 12 hours
  • 24h - Last 24 hours

Metadata Fields

  • tokenSymbol: The token’s symbol (e.g., “BTC”, “ETH”, “DOGE”)
  • tokenName: The token’s full name (e.g., “Bitcoin”, “Ethereum”, “Dogecoin”)
  • dexscreenerListed: Boolean indicating if the token is listed on DexScreener

Use Cases

These fields enable more sophisticated filtering and analysis:
{
  "filters": {
    "buys_1h": { "gte": 50 },
    "sells_1h": { "lte": 20 },
    "buyers_24h": { "gte": 100 },
    "tokenSymbol": { "not": null },
    "dexscreenerListed": { "equals": true }
  }
}
This example filters for tokens with high buying pressure (≥50 buys in the last hour), low selling pressure (≤20 sells), good community engagement (≥100 unique buyers in 24h), and tokens with proper metadata.

Available Pool Types

Launchpad Pools

  • pumpfun - Pump.fun (Solana)
  • moonshot-sol - Moonshot (Solana)
  • moonshot-evm - Moonshot (EVM)
  • fourmeme - 4meme (EVM)
  • liquidlaunch - LiquidLaunch (EVM)
  • boop - Boop (Solana)
  • raydium-launchlab - Raydium Launchlab (Solana)
  • gte-bonding-v1 - GTE Bonding V1 (EVM)
  • mana - Mana (EVM)
  • meteora-dbc - Meteora Dynamic Bonding Curve (Solana)

DEX Pools

  • uniswap-v2 - Uniswap V2 (EVM)
  • uniswap-v3 - Uniswap V3 (EVM)
  • raydium - Raydium AMM (Solana)
  • raydium-clmm - Raydium CLMM (Solana)
  • raydium-cpmm - Raydium CPMM (Solana)
  • orca - Orca (Solana)
  • meteora - Meteora (Solana)
  • meteora-dyn - Meteora Dynamic (Solana)
  • meteora-dyn2 - Meteora Dynamic V2 (Solana)
  • algebra - Algebra (EVM)
  • camelot-v2 - Camelot V2 (EVM)
  • curve - Curve (EVM)
  • balancer - Balancer (EVM)
  • iziswap - iZiSwap (EVM)
  • solidly-v3 - Solidly V3 (EVM)
  • lbv2.1 - Liquidity Book V2.1 (EVM)

Response Format

The stream returns objects with the following structure:
{
  "view": "view-name",
  "data": [
    {
      "price": 0.000123,
      "latest_price": 0.000123,
      "price_change_1min": 2.5,
      "price_change_5min": 5.2,
      "price_change_1h": -2.1,
      "price_change_4h": 15.8,
      "price_change_6h": 12.3,
      "price_change_12h": 28.7,
      "price_change_24h": 45.6,
      
      "price_1min_ago": 0.000120,
      "price_5min_ago": 0.000117,
      "price_1h_ago": 0.000126,
      "price_4h_ago": 0.000106,
      "price_6h_ago": 0.000110,
      "price_12h_ago": 0.000096,
      "price_24h_ago": 0.000084,
      
      "latest_market_cap": 123000,
      "market_cap": 123000,
      
      "last_trade": "2024-01-15T11:45:00Z",
      "latest_trade_date": "2024-01-15T11:45:00Z",
      "created_at": "2024-01-15T10:30:00Z",
      "holders_count": 145,
      
      "volume_1min": 500,
      "volume_5min": 2500,
      "volume_15min": 6000,
      "volume_1h": 1500,
      "volume_4h": 8000,
      "volume_6h": 12000,
      "volume_12h": 20000,
      "volume_24h": 25000,
      
      "trades_1min": 8,
      "trades_5min": 35,
      "trades_1h": 48,
      "trades_4h": 180,
      "trades_6h": 250,
      "trades_12h": 400,
      "trades_24h": 320,
      
      "buys_1min": 5,
      "buys_5min": 22,
      "buys_1h": 28,
      "buys_4h": 110,
      "buys_6h": 150,
      "buys_12h": 240,
      "buys_24h": 180,
      
      "sells_1min": 3,
      "sells_5min": 13,
      "sells_1h": 20,
      "sells_4h": 70,
      "sells_6h": 100,
      "sells_12h": 160,
      "sells_24h": 140,
      
      "buyers_1min": 4,
      "buyers_5min": 18,
      "buyers_1h": 25,
      "buyers_4h": 85,
      "buyers_6h": 120,
      "buyers_12h": 200,
      "buyers_24h": 150,
      
      "sellers_1min": 2,
      "sellers_5min": 10,
      "sellers_1h": 18,
      "sellers_4h": 55,
      "sellers_6h": 75,
      "sellers_12h": 130,
      "sellers_24h": 120,
      
      "traders_1min": 1,
      "traders_5min": 5,
      "traders_1h": 8,
      "traders_4h": 25,
      "traders_6h": 35,
      "traders_12h": 60,
      "traders_24h": 50,
      
      "fees_paid_1min": 5.2,
      "fees_paid_5min": 25.8,
      "fees_paid_1h": 75.5,
      "fees_paid_4h": 400.2,
      "fees_paid_6h": 600.8,
      "fees_paid_12h": 1000.5,
      "fees_paid_24h": 1250.3,
      
      "liquidity": 12500,
      
      "source": "pumpfun",
      "deployer": "0x1234567890abcdef...",
      "twitter": "https://twitter.com/token",
      "telegram": "https://t.me/tokengroup",
      "website": "https://tokensite.com",
      "others": null,
      "tokenSymbol": "DOGE",
      "tokenName": "Dogecoin",
      "dexscreenerListed": true,
      
      "bonding_percentage": 85.5,
      "dev_holdings_percentage": 8.2,
      "bundlers_holdings_percentage": 2.1,
      "insiders_holdings_percentage": 5.3,
      "snipers_holdings_percentage": 3.8,
      "deployer_migrations": 0,
      "twitter_reuses_count": 0,
      "pro_traders_holdings_percentage": 12.5,
      "top_10_holdings_percentage": 25.3,
      "top_50_holdings_percentage": 45.7,
      "top_200_holdings_percentage": 68.2,
      
      "bondingPercentage": 85.5,
      "bonded": false,
      "bondingCurveAddress": null,
      "socials": {
        "twitter": "https://twitter.com/token",
        "website": "https://tokensite.com",
        "telegram": "https://t.me/tokengroup"
      },
      "description": "A revolutionary meme token",
      "top10percent": 25.3,
      "devHolder": 8.2,
      "top10Holdings": 25.3,
      "snipersHoldings": 3.8,
      "insidersHoldings": 5.3,
      "bundlersHoldings": 2.1,
      "devHoldings": 8.2,
      
      "pair": {
        "token0": {
          "address": "0x...",
          "symbol": "TOKEN",
          "name": "Token Name",
          "decimals": 18,
          "chainId": "evm:8453",
          "price": 0.000123,
          "logo": "https://...",
          "totalSupply": 1000000000,
          "circulatingSupply": 850000000,
          "marketCap": 104550,
          "marketCapDiluted": 123000
        },
        "token1": {
          "address": "0x...",
          "symbol": "WETH",
          "name": "Wrapped Ether",
          "decimals": 18,
          "chainId": "evm:8453",
          "price": 3200.50,
          "logo": "https://...",
          "totalSupply": 1000000,
          "circulatingSupply": 1000000,
          "marketCap": 3200500000,
          "marketCapDiluted": 3200500000
        },
        "address": "0xpool...",
        "blockchain": "base",
        "factory": "0xfactory...",
        "volume24h": 25000,
        "liquidity": 12500,
        "baseToken": "token0"
      },
      "holders_list": [
        {
          "address": "0xholder1234567890abcdef...",
          "balance": 1000000,
          "nativeBalance": 0.5,
          "balanceUsd": 123,
          "boughtAmount": 1500000,
          "soldAmount": 500000,
          "pnl": 23
        }
      ]
    }
  ]
}

Key Differences from V1

The V1 response format includes all the new fields from the updated PoolDataSchema:
  • Enhanced Price Data: Additional time periods (1min, 15min, 6h, 12h)
  • Trading Activity: Detailed breakdown of buys, sells, buyers, sellers, and traders
  • Fees Analysis: Fees paid across all time periods
  • Holdings Analysis: Comprehensive holdings breakdown including dev, insider, sniper percentages
  • Metadata: Enhanced token information with symbol, name, and DexScreener listing status

Pause/Unpause Views

You can pause and unpause specific views without disconnecting from the stream:

Pause Views

To pause specific views, send:
{
  "type": "pulse-pause",
  "payload": {
    "action": "pause",
    "views": ["new", "bonding", "bonded"]
  }
}

Unpause Views

To unpause specific views, send:
{
  "type": "pulse-pause",
  "payload": {
    "action": "unpause",
    "views": ["new", "bonding"]
  }
}

Pause/Unpause Parameters

  • action (string): Action to perform
    • pause: Pause the specified views
    • unpause: Resume the specified views
  • views (string[]): Array of view names to pause/unpause
    • Must match the view names from your original subscription

Pause/Unpause Examples

Pause All Default Views

{
  "type": "pulse-pause",
  "payload": {
    "action": "pause",
    "views": ["new", "bonding", "bonded"]
  }
}

Pause Custom Views

{
  "type": "pulse-pause",
  "payload": {
    "action": "pause",
    "views": ["high-volume-tokens", "filtered-view"]
  }
}

Unpause Specific Views

{
  "type": "pulse-pause",
  "payload": {
    "action": "unpause",
    "views": ["bonding"]
  }
}
Pausing views reduces bandwidth usage and processing load while maintaining your connection. You can pause/unpause views at any time without needing to resubscribe.

Unsubscribe from Stream

To unsubscribe, send:
{
  "type": "unsubscribe",
  "authorization": "API-KEY",
  "payload": {}
}
Use the Network tab in your browser to see WSS requests in real time.

Support

Need help? Our response times are < 1h.