listContractAssetBalances Query
Parameters
filter
object
REQUIRED
The filter object used to query balances
contract
string
REQUIRED
The contract address whose asset balances is to be fetched
Returns
data
object
The data object which contains the following fields:
contractBalances
object
The object containing details about the contract's balance for a specific asset
nodes
array
An array of balance records for different assets
amount
string
The balance amount of the specified asset in the contract
assetId
string
The unique identifier of the asset associated with the balance
Request
curl --location 'https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "query": "query ContractBalances($filter: ContractBalanceFilterInput!) { contractBalances(filter: $filter, first: 5) { nodes { amount assetId } } }", "variables": { "filter": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777" } } }'
const CONTRACT_BALANCES_QUERY = ` query ContractBalances($filter: ContractBalanceFilterInput!) { contractBalances(filter: $filter, first: 5) { nodes { amount assetId } } } `; const CONTRACT_FILTER = { filter: { contract: '0x7777777777777777777777777777777777777777777777777777777777777777', }, }; const fetchContractBalances = async () => { try { const response = await fetch('https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify({ query: CONTRACT_BALANCES_QUERY, variables: CONTRACT_FILTER, }), }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const result = await response.json(); console.log('Contract Balances:', result.data.contractBalances.nodes); } catch (error) { console.error('Error fetching contract balances:', error); } }; fetchContractBalances();
const myHeaders = new Headers(); myHeaders.append("Accept", "application/json"); myHeaders.append("Content-Type", "application/json"); const raw = JSON.stringify({ "query": "query ContractBalances($filter: ContractBalanceFilterInput!) { contractBalances(filter: $filter, first: 5) { nodes { amount assetId } } }", "variables": { "filter": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777" } } }); const requestOptions = { method: "POST", headers: myHeaders, body: raw, redirect: "follow" }; fetch("https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql", requestOptions) .then((response) => response.text()) .then((result) => console.log(result)) .catch((error) => console.error(error));
const { ApolloClient, InMemoryCache, gql } = require('@apollo/client/core'); const fetch = require('cross-fetch'); const client = new ApolloClient({ uri: 'https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql', cache: new InMemoryCache(), fetch: fetch, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' } }); const CONTRACT_BALANCES_QUERY = gql` query ContractBalances($filter: ContractBalanceFilterInput!) { contractBalances(filter: $filter, first: 5) { nodes { amount assetId } } } `; const variables = { filter: { contract: "0x7777777777777777777777777777777777777777777777777777777777777777" } }; client.query({ query: CONTRACT_BALANCES_QUERY, variables: variables }) .then(result => { console.log('Contract Balances:', JSON.stringify(result.data, null, 2)); }) .catch(error => console.error('Error:', error));
import requests import json url = "https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql" payload = json.dumps({ "query": "query ContractBalances($filter: ContractBalanceFilterInput!) { contractBalances(filter: $filter, first: 5) { nodes { amount assetId } } }", "variables": { "filter": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777" } } }) headers = { 'Accept': 'application/json', 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
require "uri" require "json" require "net/http" url = URI("https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Accept"] = "application/json" request["Content-Type"] = "application/json" request.body = JSON.dump({ "query": "query ContractBalances(\$filter: ContractBalanceFilterInput\!) { contractBalances(filter: \$filter, first: 5) { nodes { amount assetId } } }", "variables": { "filter": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777" } } }) response = https.request(request) puts response.read_body
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free