Sample queries

This section provides sample examples on how you can query the subgraph to retrieve information about pools, tokens, transactions and more.

Overall Data

To query overall data you can pass in the Stable Factory address and select from various fields.

Overall Stats

All time volume in USD, total liquidity in USD, all time transaction count.

{
 BuniCornFactory(id: "xyz"){
   totalVolumeUSD
   totalLiquidityUSD
   txCount
 }
}

Overall Historical lookup

Use The Graph's block query feature and query at any earlier block to view the stats. This can be used to view things like 24hr volume etc.

{
 BuniCornFactory(id: "xyz", block: {number: abc}){
   totalVolumeUSD
   totalLiquidityUSD
   txCount
 }
}

Pools Data

Pool Overview

Returns a snapshot of the current state of the pool with common values. This example fetches the USDC/BUSD pool.

{
 pool(id: "xyz"){
     token0 {
       id
       symbol
       name
       USDC
     }
     token1 {
       id
       symbol
       name
       BUSD
     }
     reserve0
     reserve1
     reserveUSD
     trackedReserveETH
     token0Price
     token1Price
     volumeUSD
     txCount
 }
}

All Pools in DMM

To fetch all pools on DMM might have to use a loop and graphql skip query, because of the limitation of Graph to return to 1000 per query.

{
 query pools($skip: Int!) {
   pools(first: 1000, skip: $skip) {
     id
   }
 }
}
  • where skip is an incrementing variable passed into your query

Most liquid pools

In the order of liquidity returns the most liquid pools in Stable Pools.

{
 pools(first: 1000, orderBy: reserveUSD, orderDirection: desc) {
   id
 }
}

You can visit the subgraph sandbox play around to try out these queries and explore any other data you'd like.

Last updated