GET
/
v1
/
dex
/
pairs
/
{chain}
  • Query can be found here
  • Chains included are: arbitrum, base, bnb, celo, ethereum, fantom, gnosis, optimism, polygon, scroll, zk_sync, solana
  • Scheduled to update every 30 minutes
  • You can apply filters like WHERE, IN, AND/OR upon results
  • Each row is uniquely identified by the chain, token_a_address, and token_b_address columns combination.

Use Cases

  • Enable DEX aggregators to identify all pools for swapping specific token pairs or addresses, using filters such as filter='USDC-WETH' or filters=token_a_address = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' or token_b_address = '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'.
  • Identify the token pair with the highest USD liquidity on a given chain by sorting results with sort_by=usd_liquidity desc.
  • Provide aggregated DEX pair statistics, including volume and liquidity, to algorithmic trading bots and risk management systems.

Column Descriptions

ColumnDescriptionType
chainThe blockchain where the token pair is tradedstring
token_pairThe identifier of the token pair, e.g., ‘USDC-WETH’string
projectsList of DEX projects offering the token pairarray(string)
pool_idsContract addresses of pools containing the token pairarray(string)
token_a_addressContract address of the first token in the pairstring
token_b_addressContract address of the second token in the pairstring
one_day_volume24-hour USD trading volume for the token pair across all pools on all DEXesdouble
seven_day_volume7-day USD trading volume for the token pair across all pools on all DEXesdouble
thirty_day_volume30-day USD trading volume for the token pair across all pools on all DEXesdouble
all_time_volumeTotal USD trading volume for the token pair since inception across all pools on all DEXesdouble
usd_liquidityCurrent USD liquidity available in all pools for the token pair on all DEXesdouble
seven_day_volume_liquidity_ratio7-day trading volume to liquidity ratio for the token pair across all pools on all DEXesdouble

Headers

X-Dune-Api-Key
string
required

API Key for the service

Path Parameters

chain
string
required

The blockchain where the token pair is traded

Query Parameters

api_key
string

API Key, alternative to using the HTTP header X-Dune-Api-Key

allow_partial_results
boolean

This enables returning a query result that was too large and only a partial result is available. By default allow_partial_results is set to false and a failed state is returned.

columns
string

Specifies a comma-separated list of column names to return. If omitted, all columns are included. Tip: use this to limit the result to specific columns, reducing datapoints cost of the call.

filters
string

Expression to filter out rows from the results to return. This expression is similar to a SQL WHERE clause. More details about it in the Filtering section of the doc. This parameter is incompatible with sample_count.

ignore_max_datapoints_per_request
boolean

There is a default 250,000 datapoints limit to make sure you don't accidentally spend all your credits in one call. To ignore the max limit, you can add ignore_max_datapoints_per_request=true

limit
integer

Limit number of rows to return. This together with 'offset' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

offset
integer

Offset row number to start (inclusive, first row means offset=0) returning results from. This together with 'limit' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

queryID
integer
required
sample_count
integer

Number of rows to return from the result by sampling the data. This is useful when you want to get a uniform sample instead of the entire result. If the result has less than the sample count, the entire result is returned. Note that this will return a randomized sample, so not every call will return the same result. This parameter is incompatible with offset, limit, and filters parameters.

sort_by
string

Expression to define the order in which the results should be returned. This expression is similar to a SQL ORDER BY clause. More details about it in the Sorting section of the doc.

Response

200 - application/json
cancelled_at
string

Timestamp of when the query execution was cancelled, if applicable.

execution_ended_at
string

Timestamp of when the query execution ended.

execution_id
string

Unique identifier for the execution of the query.

execution_started_at
string

Timestamp of when the query execution started.

expires_at
string

Timestamp of when the query result expires.

is_execution_finished
boolean

Whether the state of the query execution is terminal. This can be used for polling purposes.

next_offset
integer

Offset that can be used to retrieve the next page of results.

next_uri
string

URI that can be used to fetch the next page of results.

query_id
integer

Unique identifier of the query.

result
object

The object containing the results and metadata of the query execution

state
string

The state of the query execution.

submitted_at
string

Timestamp of when the query was submitted.