getContractAssetBalance Query
Parameters
contract
string
REQUIRED
The contract address for which the balance is to be fetched
asset
string
REQUIRED
The unique identifier of an asset
Returns
data
object
The data object which contains the following fields:
contractBalance
object
The object containing details about the contract's balance for a specific asset
contract
string
The ID of the contract
amount
string
The balance amount of the asset in the contract
assetId
string
The unique identifier of the asset associated with the contract
Request
curl --location 'https://docs-demo.fuel-mainnet.quiknode.pro/v1/graphql' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "query": "query ContractBalance($contract: ContractId, $asset: AssetId) { contractBalance(contract: $contract, asset: $asset) { contract amount assetId } }", "variables": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777", "asset": "0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea" } }'
const CONTRACT_BALANCE_QUERY = ` query ContractBalance($contract: ContractId, $asset: AssetId) { contractBalance(contract: $contract, asset: $asset) { contract amount assetId } } `; const QUERY_VARIABLE = { contract: '0x7777777777777777777777777777777777777777777777777777777777777777', asset: '0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea', }; const fetchContractBalance = 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_BALANCE_QUERY, variables: QUERY_VARIABLE, }), }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const result = await response.json(); console.log('Contract Balance:', result.data.contractBalance); } catch (error) { console.error('Error fetching contract balance:', error); } }; fetchContractBalance();
const myHeaders = new Headers(); myHeaders.append("Accept", "application/json"); myHeaders.append("Content-Type", "application/json"); const raw = JSON.stringify({ "query": "query ContractBalance($contract: ContractId, $asset: AssetId) { contractBalance(contract: $contract, asset: $asset) { contract amount assetId } }", "variables": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777", "asset": "0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea" } }); 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_BALANCE_QUERY = gql` query ContractBalance($contract: ContractId, $asset: AssetId) { contractBalance(contract: $contract, asset: $asset) { contract amount assetId } } `; const variables = { contract: "0x7777777777777777777777777777777777777777777777777777777777777777", asset: "0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea" }; client.query({ query: CONTRACT_BALANCE_QUERY, variables: variables }) .then(result => { const balance = result.data.contractBalance; console.log('Contract Balance Information:'); console.log(`Contract: ${balance.contract}`); console.log(`Amount: ${balance.amount}`); console.log(`Asset ID: ${balance.assetId}`); }) .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 ContractBalance($contract: ContractId, $asset: AssetId) { contractBalance(contract: $contract, asset: $asset) { contract amount assetId } }", "variables": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777", "asset": "0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea" } }) 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 ContractBalance(\$contract: ContractId, \$asset: AssetId) { contractBalance(contract: \$contract, asset: \$asset) { contract amount assetId } }", "variables": { "contract": "0x7777777777777777777777777777777777777777777777777777777777777777", "asset": "0x2a0d0ed9d2217ec7f32dcd9a1902ce2a66d68437aeff84e3a3cc8bebee0d2eea" } }) 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