how to query contract token balance by address(not contract address)?
I didn’t find the right API interface
Hi @yifanes ,
One user may own many different tokens (different contract addresses).
So checking a token balance without having it’s contract address seems to be impossible
Could you please provide more details about your case?
Hi @rafal-atomiklabs.io I didn’t describe my problem clearly.
I want to:
input: user address + contract address
output: The balance of the corresponding contract in this user
hey, you can use https://mantle.terra.dev/ to query this info.
below is the example of querying MIR balance (contract terra15gwkyepfc6xgca5t5zefzwy42uts8l2m4g40k6) of the address terra14k38ap56s7k7hmdpf9lxkfacztn7fwd28a58rj on https://mantle.terra.dev/
query {
mirBalance:WasmContractsContractAddressStore(
ContractAddress: "terra15gwkyepfc6xgca5t5zefzwy42uts8l2m4g40k6",
QueryMsg: "{\"balance\":{\"address\":\"terra14k38ap56s7k7hmdpf9lxkfacztn7fwd28a58rj\"}}") {
Result
}
}
you can also send a POST request to get this info, a code snippet is below
const mantleUrlMainnet = "https://mantle.terra.dev/";
const mirContractAddress = "terra15gwkyepfc6xgca5t5zefzwy42uts8l2m4g40k6";
const walletAddress = "terra14k38ap56s7k7hmdpf9lxkfacztn7fwd28a58rj";
const axiosBody = {
"operationName": null,
"variables": {},
"query": "{\n" +
"mirBalance:WasmContractsContractAddressStore(" +
"ContractAddress: \"" + mirContractAddress + "\", QueryMsg: \"{" +
"\\\"balance\\\":{\\\"address\\\":\\\"" + walletAddress + "\\\"}}\"){" +
"\n Result\n}\n" +
"}\n"
};
const results = await axios.post(mantleUrlMainnet, axiosBody);
console.log(results);
3 Likes