# Queries

All the query examples can be tested on the playground in the subgraphs provided below

* [Mainnet Subgraph](https://thegraph.com/hosted-service/subgraph/dfx-finance/dfx-v1)
* [Polygon Subgraph](https://thegraph.com/hosted-service/subgraph/dfx-finance/dfx-v1-polygon)

***

## DFX Factory

### Total liquidity, volume, and pools

This query gets the all time information about DFX

```
{
  dfxfactories {
    id
    pairCount
    totalVolumeUSD
    totalLiquidityUSD
  }
}
```

***

## DFX Day Data&#x20;

### Daily snapshots of all total liquidity and volume

This query gets the daily snapshots on the all time information about DFX such as the US dollar value of the total liquidity and total volume across all DFX pools

```
{
  dfxdayDatas (
    orderBy: date
    orderDirection: asc
  ){
    totalVolumeUSD
    totalLiquidityUSD
  }
}
```

***

## Trade

This query gets the latest 10 trades that were made in a pool. i.e. the EURS/USDC pool

```
{
  trades (
    first: 10
    orderBy: timestamp
    orderDirection:desc
    where: {
      pair: "0x1a4ffe0dcbdb4d551cfca61a5626afd190731347"
    }
  ){
    timestamp
    trader
    origin
    target
    originAmount
    targetAmount
  }
}
```

***

## Pairs

This query lists the all pairs offered by DFX

```
{
  pairs {
    id
    token0{
      name
    }
    token1 {
      name
    }
    swapRateUSD
  }
}
```

***

### Pair by ID

This query gets a pair by its id (contract address). For example below is the EURS/USDC pool

```
{
  pairs (
    where: {
      id: "0x1a4ffe0dcbdb4d551cfca61a5626afd190731347"
    }
  ){
    id
    token0{
      name
    }
    token1 {
      name
    }
    swapRateUSD
  }
}
```

***

### Pairs ordered by liquidity

This query lists the all pairs offered by DFX ordered by liquidity in descending direction

```
{
  pairs(
    orderBy: reserveUSD
    orderDirection: desc
  ){
    id
    reserveUSD
  }
}
```

***

### Pairs ordered by volume

This query lists the all pairs offered by DFX ordered by volume in descending direction

```
{
  pairs(
    orderBy: volumeUSD
    orderDirection: desc
  ){
    id
    volumeUSD
  }
}
```

***

## Pair Day Data

This query lists a pair's data for a particular day ordered by date in ascending direction. For example below is the CADC/USDC pool

```
{
  pairDayDatas(
    orderBy: date
    orderDirection: asc
    where: {
      pair: "0xa6c0cbcaebd93ad3c6c94412ec06aaa37870216d"
    }
  ){
    date
    swapRateUSD
    reserveUSD
    volumeUSD
    participantCount
  }
}
```

***

## Tokens

This query lists the all tokens offered on DFX

```
{
  tokens {
    id
    name
    symbol
    decimals
    priceUSD
  }
}
```

***

### Token by ID

This query gets a token by its id (contract address) For example below is the USDC token

```
{
  tokens (
    where: {
      id: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    }
  ){
    id
    name
    symbol
    decimals
    priceUSD
  }
}
```

***

## Token Day Data

This query lists a pair's data for a particular day ordered by date in ascending direction. For example below is the CADC/USDC pool

```
{
  tokenDayDatas (
    orderBy: date
    orderDirection: asc
    where: {
      token:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    }
  ){
    id
    dailyVolumeUSD
    priceUSD
  }
}
```

***

## Pool Participants

### Volume

This query lists the top 5 addresses by trading volume in a pool. For example below is the CADC/USDC pool

```
{
  poolParticipants (
    orderBy: volumeUSD
    orderDirection: desc
    first: 5
    where: {
      pair: "0xa6c0cbcaebd93ad3c6c94412ec06aaa37870216d"
    }
  ){
    id
    volumeUSD
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dfx.finance/dfx-finance/dev-zone/subgraphs/queries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
