Skip to content

bullpen solana search

Last updated: July 13, 2026

Search Solana tokens by symbol or name

Usage

bullpen solana search [OPTIONS] <QUERY>

Live Help

Search Solana tokens by symbol or name

Usage: bullpen solana search [OPTIONS] <QUERY>

Arguments:
  <QUERY>
          Token symbol, name, or partial query

Options:
      --limit <LIMIT>
          Maximum number of token results to display

          [default: 10]

      --output <OUTPUT>
          Output format for command results

          [possible values: table, json]

      --env <ENV>
          Target environment to connect to (overrides config.toml)

          [env: BULLPEN_ENV=]
          [possible values: staging, production]

      --include-scams
          Include tokens flagged as scams by the upstream market-data service

      --config <CONFIG>
          Path to a custom config.toml file (overrides $BULLPEN_CONFIG and the default location).

          Explicit --config and BULLPEN_CONFIG paths fail closed: if the file is missing, the CLI exits validation instead of silently loading defaults. Credentials still resolve via BULLPEN_HOME, so set BULLPEN_HOME too when isolating a session.

      --protocol <ALLOWED_PROTOCOL>
          Restrict results to one or more launch protocols

      --min-market-cap <MIN_MARKET_CAP>
          Minimum market cap in USD

      --max-market-cap <MAX_MARKET_CAP>
          Maximum market cap in USD

      --min-volume <MIN_VOLUME>
          Minimum 24h volume in USD

      --max-volume <MAX_VOLUME>
          Maximum 24h volume in USD

      --read-only
          Enable read-only mode: blocks all mutating commands

      --min-liquidity <MIN_LIQUIDITY>
          Minimum liquidity in USD

      --non-interactive
          Suppress interactive prompts; does NOT imply --yes for money-moving commands

          [env: BULLPEN_NON_INTERACTIVE=]

      --max-liquidity <MAX_LIQUIDITY>
          Maximum liquidity in USD

      --min-price <MIN_PRICE>
          Minimum token price in USD

      --max-price <MAX_PRICE>
          Maximum token price in USD

      --min-price-change-24h <MIN_PRICE_CHANGE_24H>
          Minimum 24h price change in percent points, such as 10 or -25

      --max-price-change-24h <MAX_PRICE_CHANGE_24H>
          Maximum 24h price change in percent points, such as 50 or -5

      --min-high-price-24h <MIN_HIGH_PRICE_24H>
          Minimum 24h high price in USD

      --max-high-price-24h <MAX_HIGH_PRICE_24H>
          Maximum 24h high price in USD

      --min-low-price-24h <MIN_LOW_PRICE_24H>
          Minimum 24h low price in USD

      --max-low-price-24h <MAX_LOW_PRICE_24H>
          Maximum 24h low price in USD

      --min-holders <MIN_HOLDERS>
          Minimum holder count

      --max-holders <MAX_HOLDERS>
          Maximum holder count

      --min-transactions <MIN_TRANSACTIONS>
          Minimum transaction count

      --max-transactions <MAX_TRANSACTIONS>
          Maximum transaction count

      --min-buys <MIN_BUYS>
          Minimum buy count

      --max-buys <MAX_BUYS>
          Maximum buy count

      --min-sells <MIN_SELLS>
          Minimum sell count

      --max-sells <MAX_SELLS>
          Maximum sell count

      --min-unique-transactions-24h <MIN_UNIQUE_TRANSACTIONS_24H>
          Minimum unique 24h transaction count

      --max-unique-transactions-24h <MAX_UNIQUE_TRANSACTIONS_24H>
          Maximum unique 24h transaction count

      --min-unique-buys-24h <MIN_UNIQUE_BUYS_24H>
          Minimum unique 24h buy count

      --max-unique-buys-24h <MAX_UNIQUE_BUYS_24H>
          Maximum unique 24h buy count

      --min-unique-sells-24h <MIN_UNIQUE_SELLS_24H>
          Minimum unique 24h sell count

      --max-unique-sells-24h <MAX_UNIQUE_SELLS_24H>
          Maximum unique 24h sell count

      --min-bonding-percent <MIN_BONDING_PERCENT>
          Minimum bonding progress percent

      --max-bonding-percent <MAX_BONDING_PERCENT>
          Maximum bonding progress percent

      --max-age <MAX_AGE>
          Include tokens no older than this duration, such as 30m, 6h, or 1d

      --last-transaction-within <LAST_TRANSACTION_WITHIN>
          Include tokens whose last transaction is no older than this duration

  -h, --help
          Print help (see a summary with '-h')

EXAMPLES:
  # Search token metadata before copying a mint into a trade command
  bullpen solana search WIF --limit 5

  # Export token search results as JSON
  bullpen solana search WIF --limit 5 --output json

  # Search with web-app-style discovery filters
  bullpen solana search dog --min-market-cap 100000 --min-volume 10000 --output json

  # Inspect a mint returned by search
  bullpen solana token EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm

Example Commands

bullpen solana search WIF --limit 5
bullpen solana search WIF --limit 5 --output json
bullpen solana search dog --min-market-cap 100000 --min-volume 10000 --output json
bullpen solana token EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm
bullpen solana search dog --protocol pumpfun --min-market-cap 100000 --min-volume 10000 --max-age 24h --output json

JSON Output

Contract: JSON Output Contract.

Successful output is a single JSON document. The shape below is representative for this command family; commands may add fields without breaking the shared contract.

Schema version: 1 when a command emits schema_version; otherwise treat the current command shape as contract version 1.

Top-level Keys

key type nullable notes
query string no User query sent to Bullpen search
fallback_query string yes Simplified retry query used when the first query returned no results
limit integer no Maximum result count requested, bounded to 1..=50
source string no Stable source identifier; currently bullpen_search_proxy
filters object yes Present only when filter flags are used. Contains normalized protocols, scam inclusion, and numeric/time ranges sent to Bullpen search.
results array no Token search results with mint, optional metadata, and optional verification status

Example

Example JSON output
bullpen solana search dog --protocol pumpfun --min-market-cap 100000 --min-volume 10000 --max-age 24h --output json
{
  "query": "dog",
  "fallback_query": null,
  "limit": 10,
  "source": "bullpen_search_proxy",
  "filters": {
    "allowed_protocols": ["Pump.fun"],
    "include_scams": null,
    "filters": {
      "bonding_percent": null,
      "price_usd": null,
      "volume_usd": {
        "min": 10000,
        "max": null
      },
      "market_cap_usd": {
        "min": 100000,
        "max": null
      },
      "holders": null,
      "transactions": null,
      "buys": null,
      "sells": null,
      "age": {
        "start_unix_secs": 1782144000,
        "end_unix_secs": 1782230400
      },
      "last_transaction": null
    }
  },
  "results": [
    {
      "mint": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm",
      "symbol": "WIF",
      "name": "dogwifhat",
      "price_usd": 2.45,
      "market_cap_usd": 2450000000.0,
      "liquidity_usd": 8500000.0,
      "volume_24h_usd": 120000000.0,
      "logo_uri": "https://example.invalid/wif.png",
      "verified": true
    }
  ]
}

Stability

Patch releases may add nullable or optional fields. Minor releases may add required fields or increment schema_version. Major releases may remove or rename fields.