Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.codex.io/llms.txt

Use this file to discover all available pages before exploring further.

In this recipe, we’ll show you how to use the best endpoint in the industry, filterTokens, to populate “Discovery” pages where you can showcase tokens that fit specific criteria. From simple search queries to complex filtering and trending data, Codex has you covered across 80+ networks with data on over 70M+ tokens.
Remember: You can always inspect queries on Defined.fi for inspiration or to see how we use Codex to present data on our frontend. We recommend using the Chrome GraphQL Network Inspector.

Search by Name or Symbol

Start with basic token discovery using phrase search to find tokens by name, symbol, or contract address. The filterTokens endpoint supports improved symbol matching when using the phrase parameter with $ prefix (eg: $PEPE). Use the $ prefix for results with improved token symbol matches, or without the $ prefix to return partial token symbol matches. You can also use the token contract address to ensure an exact match.

We also recommend utilizing ranking attributes such as volume24 or trendingScore24, and filters such as liquidity to help ensure search results are relevant.

If your search function is set to return results after each keystroke by a user, remember that this can cause a lot of usage against your plan, as each keystroke is a call to filterTokens. If this is a concern, ensure search results are only returned on-demand when the search phrase is fully entered by the user.
Use ranking attributes and other token metrics to filter for tokens that could be showcased on a trending dashboard or alpha discovery page due to their trading activity over a specific timeframe.

While there may be many hundreds of tokens that fit your specific query criteria, keep in mind that filterTokens is limited to a maximum of 200 results per API call. This is why ranking attributes and specific filters are important to ensure you receive the token results that are most relevant for your query.
For real-time trending updates, use the onFilterTokensUpdated subscription. It accepts the same filter inputs as filterTokens and streams matching tokens as their metrics change, so you can keep a live trending list without polling.

Verified Metadata

Token and organization metadata on the filterTokens, token, and tokens endpoints is enriched by The Grid, an ecosystem intelligence platform that collects and human-verifies off-chain data for established Web3 projects.

When Grid data is available, queries return three additional fields: asset (verified token metadata including description, icon, and cross-chain deployments), assetDeployments (a list of every network and address the token is deployed on), and organization (metadata about the issuing organization, including URLs and socials).

This data is not available for every token. The Grid covers established, verified projects and not unverified or newly launched tokens.

For display fields like name, symbol, and description, and any metadata contributions made by Codex will override and take priority over Grid data.

Advanced Filtering

Analyze tokens based on a robust set of trading metrics such as price, volume, mcap, buy/sell count, launchpad protocols, networks, exchanges, wallet age, and more.

Boolean logic with boolFilter

For most filters, the flat input object is the right tool: every field you set is implicitly ANDed together. Reach for boolFilter when you need different filter conditions for a subsets of tokens. The most common case is per-network thresholds: a token doing 500 transactions a day on a high-activity chain is noise, but on a quieter chain it’s a strong signal. Flat filters force a single threshold across all chains, while boolFilter lets you tune criteria per network in a single query.boolFilter accepts and, or, and not operators, each containing another filters object. Operators can be nested up to 4 levels deep.
These example queries are just a small sample of what’s possible with filterTokens. Check out Defined.fi, or explorer.codex.io, to see more filtering options:

Discover-Filters
trendingIgnored is adjusted regularly to ensure the best results are shown for trending tokens. Set to true if you want results to include stablecoins, wrapped base tokens, rugs/scams/low quality tokens etc.

statsType filters MEV-related events from data to ensure you receive real user activity.
  • FILTERED: Removes MEV events. Shows “organic” volume.
  • UNFILTERED: Includes everything, even MEV events
Most consumer-facing apps want trendingIgnored: false and statsType: FILTERED for the cleanest data.

Global Fees Paid

Codex exposes detailed fee breakdowns and MEV analytics across token data, so you can filter and rank tokens by the cost activity they generate rather than just price or volume. Fee fields cover pool fees, base fees, priority fees, builder tips, and L1 data fees, along with derived metrics like fee-to-volume ratio that surface tokens with genuine economic activity versus wash-traded volume.For the full breakdown of components, derived metrics, classifications, and which endpoints expose what, see the Global Fees Paid concepts page. The example below ranks tokens by 1-hour total fees paid, filtered to tokens with meaningful fee activity and a minimum fee-to-volume ratio.
{
  filterTokens(
    filters: {
      totalFees24: { gt: 500, lt: 1000000 }
      feeToVolumeRatio24: { gt: 0.005 }
      volume24: { gt: 50000 }
      network: [1, 1399811149, 8453, 137, 42161, 10, 56, 146]
    }
    limit: 20
    rankings: [{ attribute: totalFees1, direction: DESC }]
  ) {
    count
    results {
      token {
        symbol
        name
        networkId
        address
      }
      volume1
      totalFees1
      poolFees1
      baseFees1
      priorityFees1
      builderTips1
      l1DataFees1
      feeToVolumeRatio1
    }
  }
}

Bundlers/Snipers/Insiders Data

New to filterTokens! You can now query for information on snipers, bundlers, and insiders on all newly launched tokens (since Nov 2025). This information is also included in our launchpad subscriptions.
  • Bundlers: Identified as 4 or more buys of the same token/pair in the same block. Additionally, each swap must be more than $5 with the total bundle being greater than 0.05% of the total supply. This data helps to detect coordinated buying activity from multiple wallets.
  • Snipers: Wallets that buy a token within 4 seconds of the first swap. Token creators are excluded. This helps identify bots and fast traders attempting to buy immediately at launch.
  • Insiders: Definitions and methodologies for insiders for EVM and SVM networks are outlined as follows:
    • EVM Insider Definition
      • Recipient funded by creator — wallet’s firstFundedByAddress matches token creator
      • Direct transfer from creator — transfer.from is the creator address
      • Transfer from existing insider — transfer.from is already in the insider set
      Excluded: Zero address transfers, the token creation tx itself, and any DEX transactions.
    • SVM (Solana) Insider Definition
      • Recipient funded by creator — same as EVM
      • Creator is tx signer or sender — if creator is in txMakers or is the from address (when NOT a DEX event)
      • Any non-swap launchpad token transfer — if it’s a launchpad token and the recipient doesn’t send tokens back in the same tx, assumed insider
      Excluded: Transfers flagged with involvesDexProgram, and token swap patterns.
Label Persistence: Wallets identified as any of the above will be labelled indefinitely once applied. For example: A wallet labeled as a “bundler” from one token keeps that label even for other tokens.

Data Fields: sniperCount, bundlerCount, insiderCount, devHeldPercentage, sniperHeldPercentage, bundlerHeldPercentage, insiderHeldPercentage.

You can also filter by these data types with gt lt gte lte.


Different platforms use varying definitions and methodologies for identifying this type of data, with some assigning labels that persist too broadly. For this reason, you can expect that there will be data discrepancies between our data and other platforms. Codex’s approach focuses on accuracy over catching every single edge case. We will continue to adjust our labelling thresholds as necessary to ensure the most accurate and reliable identification of this data.
With our robust set of filtering options, you can design queries for almost any use-case, or combine them as needed:
  • Multi-Network discovery: Search across multiple networks simultaneously
  • Time-based analysis: Filter by creation date, recent activity, or specific timestamps
  • Exchange-Specific: Focus on tokens from specific exchanges or launchpad protocols
  • Behavioral Filtering: Use wallet age and trading pattern metrics to assess token quality
  • Risk Management: Combine scam detection with low liquidity, volume, and our new bundlers/snipers/insiders data filters
Check out related endpoints in their respective API reference pages: