Skip to main content

Overview

Query trading pairs across all supported networks with filtering, sorting, and pagination. Ideal for building pair screeners and liquidity discovery tools.
  • Filter by volume, price, liquidity, market cap, trader counts, and more
  • Match pairs by specific token addresses with matchTokens
  • Sort by any filterable attribute plus trending scores
  • Paginate with limit / offset
  • Optionally resolve full token metadata for both sides of the pair

Returns

filterPairs
PairFilterConnection!
See PairFilterConnection and PairFilterResult for full type details.

Arguments

filters
PairFilters
Filter conditions for pair statistics. Each numeric field accepts a NumberFilter with gt, gte, lt, lte operators. See PairFilters for all available fields.
statsType
TokenPairStatisticsType
Statistics type. See TokenPairStatisticsType.
phrase
String
Search phrase to match against pair token names or symbols.
pairs
[String]
Array of specific pair selectors in "address:networkId" format.
matchTokens
PairFilterMatchTokens
Filter pairs by token addresses. See PairFilterMatchTokens for details.When both are provided, the pair must contain both tokens (in either order). When only one is provided, the pair must contain that token on either side.
rankings
[PairRanking]
Sorting criteria. See PairRanking and PairRankingAttribute for all sortable fields.
limit
Int
Maximum number of results to return (default: 25, max: 200).
offset
Int
Pagination offset (default: 0).

Example

{
  filterPairs(
    filters: {
      network: [1]
      liquidity: { gte: 50000 }
      volumeUSD24: { gte: 100000 }
    }
    rankings: [{ attribute: volumeUSD24, direction: DESC }]
    limit: 10
  ) {
    results {
      price
      liquidity
      marketCap
      volumeUSD24
      priceChange24
      buyCount24
      sellCount24
      uniqueBuys24
      uniqueSells24
      pair {
        address
        networkId
        token0
        token1
        fee
      }
      token0 {
        name
        symbol
        address
      }
      token1 {
        name
        symbol
        address
      }
    }
    count
    offset
  }
}

Using matchTokens

Filter pairs that include a specific token:
{
  filterPairs(
    matchTokens: { token0: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" }
    filters: { liquidity: { gte: 10000 } }
    limit: 5
  ) {
    results {
      price
      liquidity
      volumeUSD24
      token0 { symbol }
      token1 { symbol }
    }
    count
  }
}

Playground