Querying
Below are some sample queries you can use to gather information from the Balancer contracts.
You can build your own queries using a GraphQL Explorer and enter your endpoint to limit the data to exactly what you need.
Pools with >$100k liquidity
{
pools(first: 1000, where: { totalLiquidity_gt: 100000 }) {
address
tokensList
totalLiquidity
}
}
Historical liquidity of a pool
{
poolHistoricalLiquidities(
where: {
poolId: "0x09253c3554fb7242608ff67ce048918ccf7f9a96000200000000000000000009"
}
) {
block
poolLiquidity
}
}
Fetch a Liquidity Provider's shares
{
poolShares(
first: 1000
where: {
userAddress: "0xef8305e140ac520225daf050e2f71d5fbcc543e7"
balance_gt: 0
}
) {
balance
poolId {
tokensList
totalShares
}
}
}
Fetch historical metrics for a given pool
{
poolSnapshots(
first: 1000
orderBy: timestamp
orderDirection: asc
where: {
pool: "0x5c6ee304399dbdb9c8ef030ab642b10820db8f56000200000000000000000014"
}
) {
amounts
totalShares
swapVolume
swapFees
liquidity
pool {
id
}
}
}