Pancakeswap Liquidity, Price, ATH and ATL

Hello all

I got a list of around 1000 BSC tokens listed in Pancakeswap and want to get 2 things from them every hour:

  1. The Price
  2. The Liquidity
  3. All Time High
  4. All Time Low

Can anyone show me how to do it?

The price you can get by getting the latest trade of that token,

Check this example query - Trades for a specific token on the Pancake DEX

Liquidity - I still don’t understand what liquidity means here? Is is trading volume? Then this query (Total Vol traded (USD) for token in PancakeSwap)

All-time high and low example WBNB/BUSD token

{
  ethereum(network: bsc) {
    dexTrades(
      exchangeName: {in: ["Pancake", "Pancake v2"]}
      baseCurrency: {is: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}
      quoteCurrency: {is: "0xe9e7cea3dedca5984780bafc599bd69add087d56"}
    ) {
      baseCurrency {
        symbol
        address
      }
      baseAmount
      quoteCurrency {
        symbol
        address
      }
      quoteAmount
      trades: count
      quotePrice
      maximum_price: quotePrice(calculate: maximum)
      minimum_price: quotePrice(calculate: minimum)
      median_price: quotePrice(calculate: median)
      open_price: minimum(of: block, get: quote_price)
      close_price: maximum(of: block, get: quote_price)
    }
  }
}
1 Like

Thank you Gaurav very much for your reply.

The liquidity is the money in the pair.
Here is an open API call with a list of Pancakeswap top 1000 pairs by liquidity:
https://api.pancakeswap.info/api/pairs

Now, how would you go about requesting that info for all 1000 tokens?
Could it be done all at once, like adding them to a pool and making a request for all?

I think this can be done through our balance APIs.

Check here the example of Balance API -

{
  ethereum (network:bsc){
    address(address: {is: "0x4d0228EBEB39f6d2f29bA528e2d15Fc9121Ead56"}) {
      balances {
        currency {
          symbol
        }
        value
      }
    }
  }
}

Hello, I found that the API is very slow. The first request takes nearly 20 seconds to return

Which one? … try to add time or date filter …or limit the result or processed data.

could you share the query ?

Example -

{
  ethereum (network:bsc){
    address(address: {is: "0x4d0228EBEB39f6d2f29bA528e2d15Fc9121Ead56"}) {
      balances (height: {gteq: 12849507}) {
        currency {
          symbol
        }
        value
      }
    }
  }
}